linux/drivers/media/i2c
Adam Ford 5554c80e18 media: ov5640: Put max framerate into table and simplify check
Currently the various modes are placed into a table, but when
ov5640_find_mode is called, it has to double check whether
or not the requested framerate is tolerated by the mode.
The determination is based on checking hact, vact, and frame rate.

Only 640x480 is allowed at 60fps and QSXGA is limited to 15fps, but
as the number of permitted frame rates change, this will begin to
add more and more complexity to the check.

This patch simplifies the check by adding the max framerate
allowed for each mode into the table of modes.  It then compares
the requested framerate to the max permitted in the mode's table.
This reduces the number of comparisions to one down from three
at run-time.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-01-04 08:07:35 +01:00
..
adv748x media: i2c: adv748x: Fix unsafe macros 2019-12-13 09:14:27 +01:00
cx25840 Linux 5.2-rc4 2019-06-11 12:09:28 -04:00
et8ek8 media: i2c: et8ek8: Convert to new i2c device probe() 2019-08-13 11:53:02 -03:00
m5mols treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
s5c73m3 media: i2c: s5c73m3: Convert to new i2c device probe() 2019-08-13 11:52:38 -03:00
smiapp media: smiapp: Put the device again if starting streaming fails 2020-01-03 16:38:06 +01:00
ad5820.c media: ad5820: Add support for ad5821 and ad5823 2019-10-24 18:44:49 -03:00
ad9389b.c media: i2c: ad9389b: convert to i2c_new_dummy_device 2019-08-13 11:45:04 -03:00
adp1653.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7170.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
adv7175.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
adv7180.c media: adv7180: Only print 'chip found' message on successful probe 2019-10-24 18:32:19 -03:00
adv7183_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7183.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7343_regs.h [media] drivers: media: i2c: adv7343_regs.h: Fix typo in #ifndef 2014-09-21 20:12:13 -03:00
adv7343.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
adv7393_regs.h
adv7393.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7511-v4l2.c media: i2c: adv7511-v4l2: drop check because i2c_unregister_device() is NULL safe 2019-08-26 10:44:16 -03:00
adv7604.c media: adv7604: extend deep color mode to ADV7611 2019-12-16 10:23:58 +01:00
adv7842.c media: i2c: adv7842: make array cri static and const, makes object smaller 2019-10-24 18:33:18 -03:00
ak881x.c media updates for v5.3-rc1 2019-07-09 09:47:22 -07:00
ak7375.c media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
aptina-pll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
aptina-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
bt819.c media: bt819: Reduce amount of F* words in the world 2019-11-05 09:01:17 -03:00
bt856.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
bt866.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
cs53l32a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cs3308.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cs5345.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dw9714.c media: ipu3-cio2, dw9714: Remove Jian Xu's e-mail 2019-01-16 13:34:01 -05:00
dw9807-vcm.c media: dw9807-vcm: Fix probe error handling 2018-10-08 11:51:31 -04:00
hi556.c media: hi556: Add support for Hi-556 sensor 2019-11-05 09:12:49 -03:00
imx214.c media: imx214: Add new control with V4L2_CID_UNIT_CELL_SIZE 2019-10-10 11:38:50 -03:00
imx258.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
imx274.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
imx290.c media: i2c: Add IMX290 CMOS image sensor driver 2019-10-24 18:48:03 -03:00
imx319.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
imx355.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
ir-kbd-i2c.c media: ir-kbd-i2c: convert to i2c_new_dummy_device() 2019-08-14 05:05:10 -03:00
Kconfig media: hi556: Add support for Hi-556 sensor 2019-11-05 09:12:49 -03:00
ks0127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ks0127.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
lm3560.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
lm3646.c media: lm3646: remove redundant assignment to variable rval 2019-10-24 18:41:31 -03:00
m52790.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
Makefile media: hi556: Add support for Hi-556 sensor 2019-11-05 09:12:49 -03:00
max2175.c media: i2c: Use div64_ul() for u64-by-unsigned-long divide 2019-10-10 07:15:57 -03:00
max2175.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
ml86v7667.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
msp3400-driver.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
msp3400-driver.h media: msp3400: declare its own pads 2018-09-17 13:16:19 -04:00
msp3400-kthreads.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
mt9m001.c media: i2c: mt9m001: make array init_regs static, makes object smaller 2019-10-01 12:25:44 -03:00
mt9m032.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mt9m111.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
mt9p031.c media updates for v5.3-rc1 2019-07-09 09:47:22 -07:00
mt9t001.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mt9t112.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
mt9v011.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
mt9v032.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mt9v111.c media: i2c: mt9v111: Fix v4l2-ctrl error handling 2018-09-12 06:44:01 -04:00
noon010pc30.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ov772x.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov2640.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov2659.c media: i2c: ov2659: Switch to SPDX Licensing 2019-10-01 17:39:16 -03:00
ov2680.c media: ov2680: fix a typo in a function name 2019-07-25 06:44:39 -04:00
ov2685.c media: i2c: Fix Unnecessary Semicolon Warning Reported by coccicheck 2019-06-21 17:52:50 -04:00
ov5640.c media: ov5640: Put max framerate into table and simplify check 2020-01-04 08:07:35 +01:00
ov5645.c media: i2c: ov5645: Fix power sequence 2019-08-15 08:08:07 -03:00
ov5647.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov5670.c media: i2c: Fix pm_runtime_get_if_in_use() usage in sensor drivers 2018-08-31 09:23:53 -04:00
ov5675.c media: ov5675: Add support for OV5675 sensor 2019-08-15 08:05:15 -03:00
ov5695.c media: i2c: ov5695: Modify the function of async register subdev related devices 2019-10-01 17:33:21 -03:00
ov6650.c media: ov6650: fix smatch warning 2019-11-08 07:28:22 +01:00
ov7251.c media: v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY 2018-10-04 16:06:15 -04:00
ov7640.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
ov7670.c media: ov7670: don't return ENOTTY if SUBDEV_API is not set 2019-07-23 08:55:36 -04:00
ov7740.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov8856.c media: ov8856: Check reading clock frequency succeeded 2019-08-15 08:05:40 -03:00
ov9640.c media: ov9640: Don't check for NULL on devm_gpiod_get return values 2019-06-21 17:54:25 -04:00
ov9640.h media: i2c: ov9640: add missing SPDX identifiers 2019-01-16 13:30:44 -05:00
ov9650.c media: ov9650: add a sanity check 2019-08-26 14:05:09 -03:00
ov13858.c media: i2c: Fix Unnecessary Semicolon Warning Reported by coccicheck 2019-06-21 17:52:50 -04:00
rj54n1cb0c.c media: v4l: Remove support for crop default target in subdev drivers 2018-10-03 11:58:24 -04:00
s5k4ecgx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
s5k5baf.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
s5k6a3.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
s5k6aa.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
saa711x_regs.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
saa717x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa6588.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
saa6752hs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 68 2019-05-24 17:36:46 +02:00
saa7110.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa7115.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
saa7127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa7185.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
smiapp-pll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
smiapp-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sony-btf-mpx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sr030pc30.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
st-mipid02.c media: st-mipid02: add a check for devm_gpiod_get_optional 2019-10-24 18:48:35 -03:00
tc358743_regs.h media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
tc358743.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tda1997x_regs.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
tda1997x.c media: i2c: tda1997x: prevent potential NULL pointer access 2019-08-13 11:46:32 -03:00
tda7432.c media: add SPDX headers to some files 2019-06-12 11:42:27 -04:00
tda9840.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
tea6415c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 68 2019-05-24 17:36:46 +02:00
tea6415c.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tea6420.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
tea6420.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ths7303.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
ths8200_regs.h
ths8200.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tlv320aic23b.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tvaudio.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tvp514x_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486 2019-06-19 17:09:52 +02:00
tvp514x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486 2019-06-19 17:09:52 +02:00
tvp5150_reg.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
tvp5150.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tvp7002_reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tvp7002.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tw2804.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9903.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9906.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9910.c media: i2c: tw9910: simplify getting the adapter of a client 2019-06-24 11:17:03 -04:00
uda1342.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
upd64031a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
upd64083.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
video-i2c.c media: video-i2c: use V4L2_FRACT_COMPARE 2019-06-21 17:13:58 -04:00
vp27smpx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
vpx3220.c media: vpx3220: make array input_vals static, makes object smaller 2019-11-05 08:48:55 -03:00
vs6624_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
vs6624.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
wm8739.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
wm8775.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00