[Intel-gfx] [PATCH v2] drm/i915: Enable GSE interrupt on BDW+

Mark Kettenis mark.kettenis at xs4all.nl
Mon May 23 14:33:38 UTC 2016


> From: Jani Nikula <jani.nikula at linux.intel.com>
> Date: Mon, 23 May 2016 17:04:48 +0300
> 
> On Thu, 19 May 2016, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > We've never actually enabled or unmasked the GSE interrupt on BDW+,
> > even though the interrupt handler was always prepared for it.
> > Let's enable it and see what happens.
> >
> > Credit to Mark Kettenis who fixed this in the OpenBSD fork of the
> > driver. He reports that it fixed the "ACPI _BCM/_BCQ-based
> > brightness mechanism on a MacBookPro12,1 and a 3rd gen Lenovo X1
> > Carbon" for them.
> >
> > Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> > References: http://lists.freedesktop.org/archives/intel-gfx/2015-December/081799.html
> > Reported-by: Mark Kettenis <mark.kettenis at xs4all.nl>
> > Cc: Mark Kettenis <mark.kettenis at xs4all.nl>
> > Cc: Jani Nikula <jani.nikula at linux.intel.com>
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> > Nothing changed, just reposted for CI.
> 
> As I noted previously, I don't think we need this, but if you insist on
> having it, please add a note about it in the commit message. With that,

FWIW, this *is* needed if you want ACPI-based backlight control to
work.  On Linux you probably don't notice, since "hardware" backlight
control is preferred over "firmware" or "platform" backlight control.

It would help me if this did land in the Linux tree though, as it will
make future imports of the i915 driver into OpenBSD easier.

> >  drivers/gpu/drm/i915/i915_irq.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index f0d941455bed..4c271ea267bb 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -3799,6 +3799,7 @@ static void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
> >  	uint32_t de_pipe_enables;
> >  	u32 de_port_masked = GEN8_AUX_CHANNEL_A;
> >  	u32 de_port_enables;
> > +	u32 de_misc_masked = GEN8_DE_MISC_GSE;
> >  	enum pipe pipe;
> >  
> >  	if (INTEL_INFO(dev_priv)->gen >= 9) {
> > @@ -3834,6 +3835,7 @@ static void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
> >  					  de_pipe_enables);
> >  
> >  	GEN5_IRQ_INIT(GEN8_DE_PORT_, ~de_port_masked, de_port_enables);
> > +	GEN5_IRQ_INIT(GEN8_DE_MISC_, ~de_misc_masked, de_misc_masked);
> >  }
> >  
> >  static int gen8_irq_postinstall(struct drm_device *dev)
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center
> 
> 


More information about the Intel-gfx mailing list