linux-stable/drivers/media/i2c
Janusz Krzysztofik 2e8029bd85 media: ov6650: Fix crop rectangle affected by set format
commit 985d2d7a48 upstream.

According to subdevice interface specification found in V4L2 API
documentation, set format pad operations should not affect image
geometry set in preceding image processing steps. Unfortunately, that
requirement is not respected by the driver implementation of set format
as it was not the case when that code was still implementing a pair of
now obsolete .s_mbus_fmt() / .try_mbus_fmt() video operations before
they have been merged and reused as an implementation of .set_fmt() pad
operation by commit 717fd5b490 ("[media] v4l2: replace try_mbus_fmt
by set_fmt").

Exclude non-compliant crop rectangle adjustments from set format try,
as well as a call to .set_selection() from set format active processing
path, so only frame scaling is applied as needed and crop rectangle is
no longer modified.

[Sakari Ailus: Rebase on subdev state patches]

Fixes: 717fd5b490 ("[media] v4l2: replace try_mbus_fmt by set_fmt")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 13:59:02 +02:00
..
adv748x media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ccs media: i2c: ccs: replace snprintf in show functions with sysfs_emit 2021-11-15 08:11:34 +00:00
cx25840 media: cx25840: drop some unused inline functions 2021-11-29 10:15:04 +01:00
et8ek8 media: i2c: et8ek8: use DEVICE_ATTR_RO() helper macro 2021-08-04 14:43:50 +02:00
m5mols media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
s5c73m3 media: s5c73m3: Drop empty spi_driver remove callback 2021-11-30 12:07:06 +01:00
ad5820.c media: i2c: ad5820: simplify getting state container 2020-11-16 10:31:11 +01:00
ad9389b.c
adp1653.c media: i2c: adp1653: simplify getting state container 2020-11-16 10:31:11 +01:00
adv7170.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
adv7175.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
adv7180.c media: i2c: adv7180: fix adv7280 BT.656-4 compatibility 2021-07-22 11:40:46 +02:00
adv7183.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
adv7183_regs.h
adv7343.c
adv7343_regs.h
adv7393.c
adv7393_regs.h
adv7511-v4l2.c media: video/hdmi: handle short reads of hdmi info frame. 2022-04-08 13:57:47 +02:00
adv7604.c media: video/hdmi: handle short reads of hdmi info frame. 2022-04-08 13:57:47 +02:00
adv7842.c media: video/hdmi: handle short reads of hdmi info frame. 2022-04-08 13:57:47 +02:00
ak881x.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ak7375.c media: i2c: ak7375: use pm_runtime_resume_and_get() 2021-05-19 09:51:40 +02:00
aptina-pll.c
aptina-pll.h
bt819.c
bt856.c
bt866.c
ccs-pll.c Linux 5.11-rc6 2021-02-01 10:03:45 +01:00
ccs-pll.h media: ccs-pll: Switch from standard integer types to kernel ones 2021-01-12 17:55:28 +01:00
cs53l32a.c
cs3308.c
cs5345.c
dw9714.c media: dw9714: Add implementation for events 2021-10-08 13:41:48 +02:00
dw9768.c media: dw9768: activate runtime PM and turn off device 2021-11-15 08:11:34 +00:00
dw9807-vcm.c media: i2c: dw9807-vcm: use pm_runtime_resume_and_get() 2021-05-19 09:51:40 +02:00
hi556.c media: hi556: Support device probe in non-zero ACPI D state 2021-12-16 20:54:53 +01:00
hi846.c media: i2c: hi846: use pm_runtime_force_suspend/resume for system suspend 2021-12-16 20:54:53 +01:00
imx208.c media: imx208: Support device probe in non-zero ACPI D state 2021-12-16 20:54:52 +01:00
imx214.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
imx219.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
imx258.c media: imx258: Fix getting clock frequency 2021-09-30 10:07:45 +02:00
imx274.c media: i2c: imx274: implement fwnode parsing 2021-11-30 11:00:06 +01:00
imx290.c media: imx290: mark read reg function as __always_unused 2021-11-29 13:23:14 +01:00
imx319.c media: Update Intel-submitted camera sensor driver contacts 2021-12-16 20:54:51 +01:00
imx334.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
imx335.c media: i2c: Add imx335 camera sensor driver 2021-08-04 14:43:49 +02:00
imx355.c media: Update Intel-submitted camera sensor driver contacts 2021-12-16 20:54:51 +01:00
imx412.c media: i2c: Add imx412 camera sensor driver 2021-08-04 14:43:50 +02:00
ir-kbd-i2c.c media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers 2021-09-30 10:08:00 +02:00
Kconfig media: i2c: Add support for ov5693 sensor 2021-11-30 10:50:51 +01:00
ks0127.c
ks0127.h
lm3560.c
lm3646.c
m52790.c
Makefile media: i2c: Add support for ov5693 sensor 2021-11-30 10:50:51 +01:00
max2175.c media: media/i2c: remove unneeded variable: "ret" 2021-03-11 11:59:43 +01:00
max2175.h
max9271.c media: i2c: max9271: Introduce wake_up() function 2021-06-17 11:30:21 +02:00
max9271.h media: i2c: max9271: Introduce wake_up() function 2021-06-17 11:30:21 +02:00
max9286.c media: i2c: max9286: Use dev_err_probe() helper 2021-12-14 16:19:04 +01:00
ml86v7667.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
msp3400-driver.c
msp3400-driver.h
msp3400-kthreads.c media: msp3400: use semicolons rather than commas to separate statements 2020-11-16 10:31:07 +01:00
mt9m001.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9m032.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9m111.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9p031.c media: mt9p031: Use BIT macro 2021-09-30 10:07:35 +02:00
mt9t001.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9t112.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9v011.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9v032.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
mt9v111.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
noon010pc30.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov02a10.c i2c/drivers/ov02q10: use HZ macros 2021-09-08 11:50:26 -07:00
ov13b10.c media: Add sensor driver support for the ov13b10 camera. 2021-09-30 10:07:45 +02:00
ov772x.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov2640.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov2659.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov2680.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov2685.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov2740.c media: ov2740: identify module after subdev initialisation 2022-04-08 13:57:43 +02:00
ov5640.c media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated 2022-04-08 13:57:48 +02:00
ov5645.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov5647.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov5648.c media: i2c: ov5648: Fix lockdep error 2022-04-08 13:58:45 +02:00
ov5670.c media: ov5670: Support device probe in non-zero ACPI D state 2021-12-16 20:54:52 +01:00
ov5675.c media: ov5675: Support device probe in non-zero ACPI D state 2021-12-16 20:54:52 +01:00
ov5693.c media: i2c: Add support for ov5693 sensor 2021-11-30 10:50:51 +01:00
ov5695.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov6650.c media: ov6650: Fix crop rectangle affected by set format 2022-04-08 13:59:02 +02:00
ov7251.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov7640.c
ov7670.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov7740.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov8856.c media: ov8856: support device probe in non-zero ACPI D state 2021-12-16 20:54:52 +01:00
ov8865.c media: i2c: Fix pixel array positions in ov8865 2022-04-08 13:57:50 +02:00
ov9282.c media: i2c: Add ov9282 camera sensor driver 2021-08-04 14:43:50 +02:00
ov9640.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov9640.h media: ov9640: Use the generic clock framework 2021-02-06 09:38:05 +01:00
ov9650.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
ov9734.c media: ov9734: use group write for digital gain 2021-08-04 14:43:51 +02:00
ov13858.c media: Update Intel-submitted camera sensor driver contacts 2021-12-16 20:54:51 +01:00
rdacm20.c media: i2c: rdacm20: Re-work ov10635 reset 2021-06-17 12:08:55 +02:00
rdacm21.c media: i2c: rdacm21: Power up OV10640 before OV490 2021-06-17 11:31:45 +02:00
rj54n1cb0c.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
s5k4ecgx.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
s5k5baf.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
s5k6a3.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
s5k6aa.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
saa711x_regs.h
saa717x.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
saa6588.c media: subdev: disallow ioctl for saa6588/davinci 2021-06-17 10:18:37 +02:00
saa6752hs.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
saa7110.c
saa7115.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
saa7127.c
saa7185.c
sony-btf-mpx.c
sr030pc30.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
st-mipid02.c media: v4l: async: Rename async nf functions, clean up long lines 2021-09-30 10:07:35 +02:00
tc358743.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
tc358743_regs.h
tda1997x.c media: TDA1997x: replace video detection routine 2021-10-19 08:08:38 +01:00
tda1997x_regs.h media: TDA1997x: replace video detection routine 2021-10-19 08:08:38 +01:00
tda7432.c
tda9840.c
tea6415c.c
tea6415c.h
tea6420.c
tea6420.h
ths7303.c
ths8200.c
ths8200_regs.h
tlv320aic23b.c
tvaudio.c
tvp514x.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
tvp514x_regs.h media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
tvp5150.c media: i2c: tvp5150: deleted the repeated word 2021-07-12 09:16:35 +02:00
tvp5150_reg.h
tvp7002.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
tvp7002_reg.h
tw2804.c
tw9903.c
tw9906.c
tw9910.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
uda1342.c
upd64031a.c
upd64083.c
video-i2c.c media: video-i2c: more precise intervals between frames 2021-09-30 10:07:57 +02:00
vp27smpx.c
vpx3220.c
vs6624.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
vs6624_regs.h
wm8739.c
wm8775.c