aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnisse Astier2013-04-24 10:36:01 -0500
committerGreg Kroah-Hartman2013-05-11 15:53:59 -0500
commit30edf8c3596c5ec66b13c980196794c41e6ad020 (patch)
treee7019ae613bb605ecc3bb1531dca726570a6233a /drivers
parent47d9848811228290f12d4bf04882215cfccbf9f1 (diff)
downloadkernel-omap-30edf8c3596c5ec66b13c980196794c41e6ad020.tar.gz
kernel-omap-30edf8c3596c5ec66b13c980196794c41e6ad020.tar.xz
kernel-omap-30edf8c3596c5ec66b13c980196794c41e6ad020.zip
drm/gma500: fix backlight hotkeys behaviour on netbooks
commit e127dc28cc3057575da0216cde85687153ca180f upstream. 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. [patrik: This patch affects irq handling on any netbook with opregion support] Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=833597 Reference: http://lists.freedesktop.org/archives/dri-devel/2012-July/025279.html Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/gma500/psb_irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/gma500/psb_irq.c b/drivers/gpu/drm/gma500/psb_irq.c
index 8652cdf3f03f..029eccf30137 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)
211 211
212 vdc_stat = PSB_RVDC32(PSB_INT_IDENTITY_R); 212 vdc_stat = PSB_RVDC32(PSB_INT_IDENTITY_R);
213 213
214 if (vdc_stat & _PSB_PIPE_EVENT_FLAG) 214 if (vdc_stat & (_PSB_PIPE_EVENT_FLAG|_PSB_IRQ_ASLE))
215 dsp_int = 1; 215 dsp_int = 1;
216 216
217 /* FIXME: Handle Medfield 217 /* FIXME: Handle Medfield