[PATCH] drm/gma500: fix backlight hotkeys behaviour on cedarview netbooks

Patrik Jakobsson patrik.r.jakobsson at gmail.com
Wed Apr 24 14:39:58 PDT 2013


On Wed, Apr 24, 2013 at 5:36 PM, Anisse Astier <anisse at 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 at kernel.org
> Signed-off-by: Anisse Astier <anisse at 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


More information about the dri-devel mailing list