Skip to content

Commit

Permalink
media: bcm2835-unicam: Always service interrupts
Browse files Browse the repository at this point in the history
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.

#3602

Signed-off-by: Dave Stevenson <[email protected]>
  • Loading branch information
6by9 authored and popcornmix committed Feb 17, 2025
1 parent 94e6f13 commit 1edeb85
Showing 1 changed file with 0 additions and 15 deletions.
15 changes: 0 additions & 15 deletions drivers/media/platform/bcm2835/bcm2835-unicam.c
Original file line number Diff line number Diff line change
Expand Up @@ -774,12 +774,6 @@ static bool unicam_all_nodes_streaming(struct unicam_device *dev)
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)
{
struct v4l2_event event = {
Expand Down Expand Up @@ -807,15 +801,6 @@ static irqreturn_t unicam_isr(int irq, void *dev)
u32 ista, sta;
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);
/* Write value back to clear the interrupts */
reg_write(unicam, UNICAM_STA, sta);
Expand Down

0 comments on commit 1edeb85

Please sign in to comment.