@@ -154,11 +154,8 @@ struct imx477_mode {
154
154
/* Analog crop rectangle. */
155
155
struct v4l2_rect crop ;
156
156
157
- /* Highest possible framerate. */
158
- struct v4l2_fract timeperframe_min ;
159
-
160
157
/* Default framerate. */
161
- struct v4l2_fract timeperframe_default ;
158
+ unsigned int framerate_default ;
162
159
163
160
/* Default register values */
164
161
struct imx477_reg_list reg_list ;
@@ -795,14 +792,7 @@ static const struct imx477_mode supported_modes_12bit[] = {
795
792
.width = 4056 ,
796
793
.height = 3040 ,
797
794
},
798
- .timeperframe_min = {
799
- .numerator = 100 ,
800
- .denominator = 1000
801
- },
802
- .timeperframe_default = {
803
- .numerator = 100 ,
804
- .denominator = 1000
805
- },
795
+ .framerate_default = 10 ,
806
796
.reg_list = {
807
797
.num_of_regs = ARRAY_SIZE (mode_4056x3040_regs ),
808
798
.regs = mode_4056x3040_regs ,
@@ -819,14 +809,7 @@ static const struct imx477_mode supported_modes_12bit[] = {
819
809
.width = 4056 ,
820
810
.height = 3040 ,
821
811
},
822
- .timeperframe_min = {
823
- .numerator = 100 ,
824
- .denominator = 4000
825
- },
826
- .timeperframe_default = {
827
- .numerator = 100 ,
828
- .denominator = 3000
829
- },
812
+ .framerate_default = 30 ,
830
813
.reg_list = {
831
814
.num_of_regs = ARRAY_SIZE (mode_2028x1520_regs ),
832
815
.regs = mode_2028x1520_regs ,
@@ -843,14 +826,7 @@ static const struct imx477_mode supported_modes_12bit[] = {
843
826
.width = 4056 ,
844
827
.height = 2160 ,
845
828
},
846
- .timeperframe_min = {
847
- .numerator = 100 ,
848
- .denominator = 5000
849
- },
850
- .timeperframe_default = {
851
- .numerator = 100 ,
852
- .denominator = 3000
853
- },
829
+ .framerate_default = 30 ,
854
830
.reg_list = {
855
831
.num_of_regs = ARRAY_SIZE (mode_2028x1080_regs ),
856
832
.regs = mode_2028x1080_regs ,
@@ -878,14 +854,7 @@ static const struct imx477_mode supported_modes_10bit[] = {
878
854
.width = 2664 ,
879
855
.height = 1980 ,
880
856
},
881
- .timeperframe_min = {
882
- .numerator = 100 ,
883
- .denominator = 12000
884
- },
885
- .timeperframe_default = {
886
- .numerator = 100 ,
887
- .denominator = 12000
888
- },
857
+ .framerate_default = 120 ,
889
858
.reg_list = {
890
859
.num_of_regs = ARRAY_SIZE (mode_1332x990_regs ),
891
860
.regs = mode_1332x990_regs ,
@@ -1419,13 +1388,13 @@ static int imx477_get_pad_format(struct v4l2_subdev *sd,
1419
1388
1420
1389
static
1421
1390
unsigned int imx477_get_frame_length (const struct imx477_mode * mode ,
1422
- const struct v4l2_fract * timeperframe )
1391
+ unsigned int framerate_default )
1423
1392
{
1424
1393
u64 frame_length ;
1425
1394
1426
- frame_length = ( u64 ) timeperframe -> numerator * IMX477_PIXEL_RATE ;
1395
+ frame_length = IMX477_PIXEL_RATE ;
1427
1396
do_div (frame_length ,
1428
- (u64 )timeperframe -> denominator * mode -> line_length_pix );
1397
+ (u64 )framerate_default * mode -> line_length_pix );
1429
1398
1430
1399
if (WARN_ON (frame_length > IMX477_FRAME_LENGTH_MAX ))
1431
1400
frame_length = IMX477_FRAME_LENGTH_MAX ;
@@ -1435,18 +1404,17 @@ unsigned int imx477_get_frame_length(const struct imx477_mode *mode,
1435
1404
1436
1405
static void imx477_set_framing_limits (struct imx477 * imx477 )
1437
1406
{
1438
- unsigned int frm_length_min , frm_length_default , hblank_min ;
1407
+ unsigned int frm_length_default , hblank_min ;
1439
1408
const struct imx477_mode * mode = imx477 -> mode ;
1440
1409
1441
- frm_length_min = imx477_get_frame_length (mode , & mode -> timeperframe_min );
1442
1410
frm_length_default =
1443
- imx477_get_frame_length (mode , & mode -> timeperframe_default );
1411
+ imx477_get_frame_length (mode , mode -> framerate_default );
1444
1412
1445
1413
/* Default to no long exposure multiplier. */
1446
1414
imx477 -> long_exp_shift = 0 ;
1447
1415
1448
1416
/* Update limits and set FPS to default */
1449
- __v4l2_ctrl_modify_range (imx477 -> vblank , frm_length_min - mode -> height ,
1417
+ __v4l2_ctrl_modify_range (imx477 -> vblank , 1 ,
1450
1418
((1 << IMX477_LONG_EXP_SHIFT_MAX ) *
1451
1419
IMX477_FRAME_LENGTH_MAX ) - mode -> height ,
1452
1420
1 , frm_length_default - mode -> height );
0 commit comments