linux-imx/drivers/media/platform/rockchip
Tomi Valkeinen b39b4d207d media: rkisp1: Fix IRQ handling due to shared interrupts
[ Upstream commit ffb635bb39 ]

The driver requests the interrupts as IRQF_SHARED, so the interrupt
handlers can be called at any time. If such a call happens while the ISP
is powered down, the SoC will hang as the driver tries to access the
ISP registers.

This can be reproduced even without the platform sharing the IRQ line:
Enable CONFIG_DEBUG_SHIRQ and unload the driver, and the board will
hang.

Fix this by adding a new field, 'irqs_enabled', which is used to bail
out from the interrupt handler when the ISP is not operational.

Link: https://lore.kernel.org/r/20231218-rkisp-shirq-fix-v1-2-173007628248@ideasonboard.com

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:19:09 -04:00
..
rga media: rockchip: rga: fix swizzling for RGB formats 2024-02-05 20:14:27 +00:00
rkisp1 media: rkisp1: Fix IRQ handling due to shared interrupts 2024-03-26 18:19:09 -04:00
Kconfig media: platform/*/Kconfig: make manufacturer menus more uniform 2022-03-18 05:58:35 +01:00
Makefile media: platform: Create vendor/{Makefile,Kconfig} files 2022-03-18 05:58:35 +01:00