Message ID | 1366817761-17964-1-git-send-email-anisse@astier.eu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 24, 2013 at 5:36 PM, Anisse Astier <anisse@astier.eu> wrote: > Backlight hotkeys weren't working before on certain cedartrail laptops. > > The source of this problem is that the hotkeys' ASLE opregion interrupts > were simply ignored. Driver seemed to expect the interrupt to be > associated with a pipe, but it wasn't. > > Accepting the ASLE interrupt without an associated pipe event flag fixes > the issue, the backlight code is called when needed, making the > brightness keys work properly. > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=833597 > Reference: http://lists.freedesktop.org/archives/dri-devel/2012-July/025279.html > Cc: stable@kernel.org > Signed-off-by: Anisse Astier <anisse@astier.eu> > --- > drivers/gpu/drm/gma500/psb_irq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/gma500/psb_irq.c b/drivers/gpu/drm/gma500/psb_irq.c > index 8652cdf..029eccf 100644 > --- a/drivers/gpu/drm/gma500/psb_irq.c > +++ b/drivers/gpu/drm/gma500/psb_irq.c > @@ -211,7 +211,7 @@ irqreturn_t psb_irq_handler(DRM_IRQ_ARGS) > > vdc_stat = PSB_RVDC32(PSB_INT_IDENTITY_R); > > - if (vdc_stat & _PSB_PIPE_EVENT_FLAG) > + if (vdc_stat & (_PSB_PIPE_EVENT_FLAG|_PSB_IRQ_ASLE)) > dsp_int = 1; > > /* FIXME: Handle Medfield > -- > 1.8.1.4 > Hi Anisse This also fixes backlight keys on my Asus poulsbo laptop. An ASLE IRQ is triggered by the BIOS when writing to a PCI config register. Some BIOSes might trigger a pipe event at the same time but they obviously don't have to (and I don't think they should). I'm not sure it needs to be in psb_vdc_interrupt() but we might as well leave it there for now. I'll apply this to git://github.com/patjak/drm-gma500 gma500-fixes Thanks Patrik
On Wed, 24 Apr 2013 23:39:58 +0200, Patrik Jakobsson <patrik.r.jakobsson@gmail.com> wrote : > On Wed, Apr 24, 2013 at 5:36 PM, Anisse Astier <anisse@astier.eu> wrote: > > Backlight hotkeys weren't working before on certain cedartrail laptops. > > > > The source of this problem is that the hotkeys' ASLE opregion interrupts > > were simply ignored. Driver seemed to expect the interrupt to be > > associated with a pipe, but it wasn't. > > > > Accepting the ASLE interrupt without an associated pipe event flag fixes > > the issue, the backlight code is called when needed, making the > > brightness keys work properly. > > [...] > > This also fixes backlight keys on my Asus poulsbo laptop. > > An ASLE IRQ is triggered by the BIOS when writing to a PCI config register. Some > BIOSes might trigger a pipe event at the same time but they obviously don't have > to (and I don't think they should). I'm not sure it needs to be in > psb_vdc_interrupt() but we might as well leave it there for now. > > I'll apply this to git://github.com/patjak/drm-gma500 gma500-fixes > > Thanks > Patrik Hi Patrik, When do you think you'll apply it to your repo ? Dave, do you think this could go in 3.10 ? Regards, Anisse
On Thu, May 2, 2013 at 2:39 PM, Anisse Astier <anisse@astier.eu> wrote: > On Wed, 24 Apr 2013 23:39:58 +0200, Patrik Jakobsson <patrik.r.jakobsson@gmail.com> wrote : > >> On Wed, Apr 24, 2013 at 5:36 PM, Anisse Astier <anisse@astier.eu> wrote: >> > Backlight hotkeys weren't working before on certain cedartrail laptops. >> > >> > The source of this problem is that the hotkeys' ASLE opregion interrupts >> > were simply ignored. Driver seemed to expect the interrupt to be >> > associated with a pipe, but it wasn't. >> > >> > Accepting the ASLE interrupt without an associated pipe event flag fixes >> > the issue, the backlight code is called when needed, making the >> > brightness keys work properly. >> > > [...] >> >> This also fixes backlight keys on my Asus poulsbo laptop. >> >> An ASLE IRQ is triggered by the BIOS when writing to a PCI config register. Some >> BIOSes might trigger a pipe event at the same time but they obviously don't have >> to (and I don't think they should). I'm not sure it needs to be in >> psb_vdc_interrupt() but we might as well leave it there for now. >> >> I'll apply this to git://github.com/patjak/drm-gma500 gma500-fixes >> >> Thanks >> Patrik > > Hi Patrik, > > When do you think you'll apply it to your repo ? > > Dave, do you think this could go in 3.10 ? Hi, this is already in my gma500-fixes branch and also in Dave's drm-next for inclusion in 3.10. Thanks Patrik
On Thu, 2 May 2013 14:50:05 +0200, Patrik Jakobsson <patrik.r.jakobsson@gmail.com> wrote : > > Hi, this is already in my gma500-fixes branch and also in Dave's drm-next for > inclusion in 3.10. > > Thanks > Patrik Thanks, sorry I missed it. Anisse
diff --git a/drivers/gpu/drm/gma500/psb_irq.c b/drivers/gpu/drm/gma500/psb_irq.c index 8652cdf..029eccf 100644 --- a/drivers/gpu/drm/gma500/psb_irq.c +++ b/drivers/gpu/drm/gma500/psb_irq.c @@ -211,7 +211,7 @@ irqreturn_t psb_irq_handler(DRM_IRQ_ARGS) vdc_stat = PSB_RVDC32(PSB_INT_IDENTITY_R); - if (vdc_stat & _PSB_PIPE_EVENT_FLAG) + if (vdc_stat & (_PSB_PIPE_EVENT_FLAG|_PSB_IRQ_ASLE)) dsp_int = 1; /* FIXME: Handle Medfield
Backlight hotkeys weren't working before on certain cedartrail laptops. The source of this problem is that the hotkeys' ASLE opregion interrupts were simply ignored. Driver seemed to expect the interrupt to be associated with a pipe, but it wasn't. Accepting the ASLE interrupt without an associated pipe event flag fixes the issue, the backlight code is called when needed, making the brightness keys work properly. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=833597 Reference: http://lists.freedesktop.org/archives/dri-devel/2012-July/025279.html Cc: stable@kernel.org Signed-off-by: Anisse Astier <anisse@astier.eu> --- drivers/gpu/drm/gma500/psb_irq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)