lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACPK8XfE6zB9BWYq7e8WbXkPFp2Cicwv2x2dc8h6jNaR2qZV0g@mail.gmail.com>
Date:   Mon, 6 Sep 2021 11:47:14 +0000
From:   Joel Stanley <joel@....id.au>
To:     Mauro Carvalho Chehab <mchehab@...nel.org>
Cc:     Eddie James <eajames@...ux.ibm.com>,
        Zev Weiss <zev@...ilderbeest.net>,
        "linux-aspeed@...ts.ozlabs.org" <linux-aspeed@...ts.ozlabs.org>,
        "openbmc@...ts.ozlabs.org" <openbmc@...ts.ozlabs.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-arm-kernel@...ts.infradead.org" 
        <linux-arm-kernel@...ts.infradead.org>,
        "linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
        Ryan Chen <ryan_chen@...eedtech.com>
Subject: Re: [PATCH v3] media: aspeed-video: ignore interrupts that aren't enabled

Hi Mauro,

On Mon, 6 Sept 2021 at 10:10, Ryan Chen <ryan_chen@...eedtech.com> wrote:
> > Subject: Re: [PATCH v3] media: aspeed-video: ignore interrupts that aren't
> > enabled
> >
> > On Thu, 2021-06-17 at 17:02 -0500, Zev Weiss wrote:
> > > As partially addressed in commit 65d270acb2d6 ("media: aspeed: clear
> > > garbage interrupts"), the ASpeed video engine sometimes asserts
> > > interrupts that the driver hasn't enabled.  In addition to the
> > > CAPTURE_COMPLETE and FRAME_COMPLETE interrupts dealt with in that
> > > patch, COMP_READY has also been observed.  Instead of playing
> > > whack-a-mole with each one individually, we can instead just blanket
> > > ignore everything we haven't explicitly enabled.
> >
> > Suspect this will fix an intermittent problem on AST2500 with screensaver.
> > Change looks good, thanks!
> >
> > Reviewed-by: Eddie James <eajames@...ux.ibm.com>
> >
> Reviewed-by: Ryan Chen <ryan_chen@...eedtech.com>
> > >
> > > Signed-off-by: Zev Weiss <zev@...ilderbeest.net>

I notice this wasn't merged in the pull request you sent for v5.15.
Would you be able to ensure it makes it in the next pull request you
send?

It can have some fixes tags too:

Fixes: 65d270acb2d6 ("media: aspeed: clear garbage interrupts")
Fixes: d2b4387f3bdf ("media: platform: Add Aspeed Video Engine driver")
Acked-by: Joel Stanley <joel@....id.au>

Cheers,

Joel

> > > ---
> > >
> > > Changes since v2 [1]:
> > >  - minor commit message improvements
> > >
> > > Changes since v1 [0]:
> > >  - dropped error message
> > >  - switched to a blanket-ignore approach as suggested by Ryan
> > >
> > > [0]
> > > https://lore.kernel.org/linux-arm-kernel/20201215024542.18888-1-zev@be
> > > wilderbeest.net/
> > > [1]
> > >
> > https://lore.kernel.org/openbmc/20210506234048.3214-1-zev@bewilderbees
> > > t.net/
> > >
> > >  drivers/media/platform/aspeed-video.c | 16 ++++++----------
> > >  1 file changed, 6 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/drivers/media/platform/aspeed-video.c
> > > b/drivers/media/platform/aspeed-video.c
> > > index 7bb6babdcade..77611c296a25 100644
> > > --- a/drivers/media/platform/aspeed-video.c
> > > +++ b/drivers/media/platform/aspeed-video.c
> > > @@ -563,6 +563,12 @@ static irqreturn_t aspeed_video_irq(int irq, void
> > > *arg)
> > >     struct aspeed_video *video = arg;
> > >     u32 sts = aspeed_video_read(video, VE_INTERRUPT_STATUS);
> > >
> > > +   /*
> > > +    * Hardware sometimes asserts interrupts that we haven't
> > > actually
> > > +    * enabled; ignore them if so.
> > > +    */
> > > +   sts &= aspeed_video_read(video, VE_INTERRUPT_CTRL);
> > > +
> > >     /*
> > >      * Resolution changed or signal was lost; reset the engine and
> > >      * re-initialize
> > > @@ -629,16 +635,6 @@ static irqreturn_t aspeed_video_irq(int irq, void
> > > *arg)
> > >                     aspeed_video_start_frame(video);
> > >     }
> > >
> > > -   /*
> > > -    * CAPTURE_COMPLETE and FRAME_COMPLETE interrupts come even
> > > when these
> > > -    * are disabled in the VE_INTERRUPT_CTRL register so clear them
> > > to
> > > -    * prevent unnecessary interrupt calls.
> > > -    */
> > > -   if (sts & VE_INTERRUPT_CAPTURE_COMPLETE)
> > > -           sts &= ~VE_INTERRUPT_CAPTURE_COMPLETE;
> > > -   if (sts & VE_INTERRUPT_FRAME_COMPLETE)
> > > -           sts &= ~VE_INTERRUPT_FRAME_COMPLETE;
> > > -
> > >     return sts ? IRQ_NONE : IRQ_HANDLED;  }
> > >
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ