mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
media: bcm2835-unicam: Always service interrupts
From when bringing up the driver, there was a check in the isr to ignore interrupts (claiming them handled) should the driver not be streaming. The VPU now will not register a camera driver if it finds a CSI2 node enabled in device tree, therefore this flawed check is redundant. https://github.com/raspberrypi/linux/issues/3602 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
This commit is contained in:
committed by
Dom Cobley
parent
54a194a70f
commit
f313e2abdc
@@ -784,12 +784,6 @@ static bool unicam_all_nodes_streaming(struct unicam_device *dev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool unicam_all_nodes_disabled(struct unicam_device *dev)
|
|
||||||
{
|
|
||||||
return !dev->node[IMAGE_PAD].streaming &&
|
|
||||||
!dev->node[METADATA_PAD].streaming;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void unicam_queue_event_sof(struct unicam_device *unicam)
|
static void unicam_queue_event_sof(struct unicam_device *unicam)
|
||||||
{
|
{
|
||||||
struct v4l2_event event = {
|
struct v4l2_event event = {
|
||||||
@@ -817,15 +811,6 @@ static irqreturn_t unicam_isr(int irq, void *dev)
|
|||||||
u32 ista, sta;
|
u32 ista, sta;
|
||||||
u64 ts;
|
u64 ts;
|
||||||
|
|
||||||
/*
|
|
||||||
* Don't service interrupts if not streaming.
|
|
||||||
* Avoids issues if the VPU should enable the
|
|
||||||
* peripheral without the kernel knowing (that
|
|
||||||
* shouldn't happen, but causes issues if it does).
|
|
||||||
*/
|
|
||||||
if (unicam_all_nodes_disabled(unicam))
|
|
||||||
return IRQ_NONE;
|
|
||||||
|
|
||||||
sta = reg_read(unicam, UNICAM_STA);
|
sta = reg_read(unicam, UNICAM_STA);
|
||||||
/* Write value back to clear the interrupts */
|
/* Write value back to clear the interrupts */
|
||||||
reg_write(unicam, UNICAM_STA, sta);
|
reg_write(unicam, UNICAM_STA, sta);
|
||||||
|
|||||||
Reference in New Issue
Block a user