linux-next/drivers/media
Bryan O'Donoghue d0fef6de4f media: ov08x40: Fix burst write sequence
It is necessary to account for I2C quirks in the burst mode path of this
driver. Not all I2C controllers can accept arbitrarily long writes and this
is represented in the quirks field of the adapter structure.

Prior to this patch the following error message is seen on a Qualcomm
X1E80100 CRD.

[   38.773524] i2c i2c-2: adapter quirk: msg too long (addr 0x0036, size 290, write)
[   38.781454] ov08x40 2-0036: Failed regs transferred: -95
[   38.787076] ov08x40 2-0036: ov08x40_start_streaming failed to set regs

Fix the error by breaking up the write sequence into the advertised maximum
write size of the quirks field if the quirks field is populated.

Fixes: 8f667d2023 ("media: ov08x40: Reduce start streaming time")
Cc: stable@vger.kernel.org # v6.9+
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # x1e80100-crd
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2024-11-07 09:05:57 +01:00
..
cec media: cec: seco: add HAS_IOPORT dependency 2024-10-12 16:28:26 +02:00
common media: vb2: fix confusing log message 2024-10-28 15:35:56 +01:00
dvb-core media: dvb-core: add missing buffer index check 2024-10-12 07:42:35 +02:00
dvb-frontends media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish 2024-10-28 09:19:56 +01:00
firewire media: firewire: firedtv-avc.c: replace BUG with proper, error return 2023-08-10 07:58:37 +02:00
i2c media: ov08x40: Fix burst write sequence 2024-11-07 09:05:57 +01:00
mc [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
mmc media: mmc: siano: simplify module initialization 2024-04-08 13:48:19 +02:00
pci media: ipu6: use PFN_UP() and sg_virt() for code simplicity 2024-11-07 09:05:56 +01:00
platform media: venus: Fix pm_runtime_set_suspended() with runtime pm enabled 2024-11-07 09:05:57 +01:00
radio media: wl128x: Fix atomicity violation in fmc_send_cmd() 2024-10-12 16:28:26 +02:00
rc media: ati_remote: don't push static constants on stack for %*ph 2024-10-29 16:37:23 +01:00
spi media: gs1662: remove unused struct 'gs_reg_fmt_custom' 2024-05-31 13:51:16 +02:00
test-drivers media: v4l2-core: v4l2-dv-timings: check cvt/gtf result 2024-10-28 15:35:56 +01:00
tuners media: Switch back to struct platform_driver::remove() 2024-10-12 16:28:25 +02:00
usb media: gspca: ov534-ov772x: Fix off-by-one error in set_frame_rate() 2024-11-07 09:05:57 +01:00
v4l2-core media: v4l2-subdev: Refactor events 2024-11-07 09:05:57 +01:00
Kconfig media: Kconfig: Make DVB_CORE=m possible when MEDIA_SUPPORT=y 2022-12-07 17:58:46 +01:00
Makefile media: Makefiles: remove extra spaces 2022-03-12 16:59:52 +01:00