All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight
@ 2012-04-25 17:28 Kamal Mostafa
  2012-04-25 17:28 ` [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z Kamal Mostafa
  2012-04-26 20:07 ` [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Daniel Vetter
  0 siblings, 2 replies; 9+ messages in thread
From: Kamal Mostafa @ 2012-04-25 17:28 UTC (permalink / raw)
  To: Intel Graphics Development

i915.enable_backlight=0 can be used to disable i915 backlight control
and the /sys/class/backlight/intel_backlight interface -- useful for
systems where intel_backight conflicts with BIOS backlight control.

BugLink: https://launchpad.net/bugs/954661
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/gpu/drm/i915/i915_drv.c    |    6 ++++++
 drivers/gpu/drm/i915/i915_drv.h    |    1 +
 drivers/gpu/drm/i915/intel_panel.c |   12 ++++++++++++
 3 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index ae8a64f..ddb947b 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -112,6 +112,12 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
 MODULE_PARM_DESC(i915_enable_ppgtt,
 		"Enable PPGTT (default: true)");
 
+int i915_enable_backlight __read_mostly = -1;
+module_param_named(enable_backlight, i915_enable_backlight, int, 0644);
+MODULE_PARM_DESC(enable_backlight,
+		"Enable backlight control and the intel_backlight interface. "
+		"(default: -1 (auto))");
+
 static struct drm_driver driver;
 extern int intel_agp_enabled;
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5fabc6c..6e52a42 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1087,6 +1087,7 @@ extern int i915_enable_rc6 __read_mostly;
 extern int i915_enable_fbc __read_mostly;
 extern bool i915_enable_hangcheck __read_mostly;
 extern int i915_enable_ppgtt __read_mostly;
+extern int i915_enable_backlight __read_mostly;
 
 extern int i915_suspend(struct drm_device *dev, pm_message_t state);
 extern int i915_resume(struct drm_device *dev);
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 48177ec..fcecbd2 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -259,6 +259,9 @@ void intel_panel_disable_backlight(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
+	if (!i915_enable_backlight)
+		return;
+
 	dev_priv->backlight_enabled = false;
 	intel_panel_actually_set_backlight(dev, 0);
 }
@@ -267,6 +270,9 @@ void intel_panel_enable_backlight(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
+	if (!i915_enable_backlight)
+		return;
+
 	if (dev_priv->backlight_level == 0)
 		dev_priv->backlight_level = intel_panel_get_max_backlight(dev);
 
@@ -333,6 +339,9 @@ int intel_panel_setup_backlight(struct drm_device *dev)
 	struct backlight_properties props;
 	struct drm_connector *connector;
 
+	if (!i915_enable_backlight)
+		return 0;
+
 	intel_panel_init_backlight(dev);
 
 	if (dev_priv->int_lvds_connector)
@@ -368,6 +377,9 @@ void intel_panel_destroy_backlight(struct drm_device *dev)
 #else
 int intel_panel_setup_backlight(struct drm_device *dev)
 {
+	if (!i915_enable_backlight)
+		return;
+
 	intel_panel_init_backlight(dev);
 	return 0;
 }
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z
  2012-04-25 17:28 [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Kamal Mostafa
@ 2012-04-25 17:28 ` Kamal Mostafa
  2012-04-27 20:56   ` Kamal Mostafa
  2012-04-26 20:07 ` [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Daniel Vetter
  1 sibling, 1 reply; 9+ messages in thread
From: Kamal Mostafa @ 2012-04-25 17:28 UTC (permalink / raw)
  To: Intel Graphics Development; +Cc: Robert Hooker

From: Robert Hooker <robert.hooker@canonical.com>

Dell XPS 13z exhibits problems (backlight flashing/pulsating) when
intel_backlight is enabled at all, so disable it.

BugLink: https://launchpad.net/bugs/954661
Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/gpu/drm/i915/intel_display.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 5908cd5..0c4cac4 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9100,6 +9100,19 @@ static void quirk_ssc_force_disable(struct drm_device *dev)
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	dev_priv->quirks |= QUIRK_LVDS_SSC_DISABLE;
 }
+ 
+/*
+ * Some machines (Dell XPS 13z) exhibit problems with i915 control of the
+ * backlight registers; Others may need the intel_backlight interface
+ * disabled for some other reason.
+ */
+static void quirk_backlight_disable(struct drm_device *dev)
+{
+	if (i915_enable_backlight == -1) {
+	    i915_enable_backlight = 0;
+	    DRM_DEBUG_DRIVER("disabling intel_backlight interface via quirk\n");
+	}
+}
 
 struct intel_quirk {
 	int device;
@@ -9133,6 +9146,10 @@ struct intel_quirk intel_quirks[] = {
 
 	/* Sony Vaio Y cannot use SSC on LVDS */
 	{ 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable },
+
+	/* Dell XPS 13z needs to disable the intel_backlight interface
+	   (LP: #954661) */
+	{ 0x0116, 0x1028, 0x052e, quirk_backlight_disable },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight
  2012-04-25 17:28 [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Kamal Mostafa
  2012-04-25 17:28 ` [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z Kamal Mostafa
@ 2012-04-26 20:07 ` Daniel Vetter
  2012-04-27 20:55   ` Kamal Mostafa
  2012-05-14 18:53   ` Kamal Mostafa
  1 sibling, 2 replies; 9+ messages in thread
From: Daniel Vetter @ 2012-04-26 20:07 UTC (permalink / raw)
  To: Kamal Mostafa; +Cc: Intel Graphics Development

On Wed, Apr 25, 2012 at 10:28:41AM -0700, Kamal Mostafa wrote:
> i915.enable_backlight=0 can be used to disable i915 backlight control
> and the /sys/class/backlight/intel_backlight interface -- useful for
> systems where intel_backight conflicts with BIOS backlight control.
> 
> BugLink: https://launchpad.net/bugs/954661
> Signed-off-by: Kamal Mostafa <kamal@canonical.com>

Ok, I've just gone through the fun of merging a set of backlight quirks a
few weeks back. Then noticed that an awful lot of machines seem to be
affected and later on read about a few interesting bits in the
documentation. Turns out the hw is all good, it's just the driver totally
mishandling the backlight.

To cut things short: This time around I want more justification for the
quirk than just "this makes this one machine work somehow".
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_drv.c    |    6 ++++++
>  drivers/gpu/drm/i915/i915_drv.h    |    1 +
>  drivers/gpu/drm/i915/intel_panel.c |   12 ++++++++++++
>  3 files changed, 19 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index ae8a64f..ddb947b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -112,6 +112,12 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
>  MODULE_PARM_DESC(i915_enable_ppgtt,
>  		"Enable PPGTT (default: true)");
>  
> +int i915_enable_backlight __read_mostly = -1;
> +module_param_named(enable_backlight, i915_enable_backlight, int, 0644);
> +MODULE_PARM_DESC(enable_backlight,
> +		"Enable backlight control and the intel_backlight interface. "
> +		"(default: -1 (auto))");
> +
>  static struct drm_driver driver;
>  extern int intel_agp_enabled;
>  
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 5fabc6c..6e52a42 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1087,6 +1087,7 @@ extern int i915_enable_rc6 __read_mostly;
>  extern int i915_enable_fbc __read_mostly;
>  extern bool i915_enable_hangcheck __read_mostly;
>  extern int i915_enable_ppgtt __read_mostly;
> +extern int i915_enable_backlight __read_mostly;
>  
>  extern int i915_suspend(struct drm_device *dev, pm_message_t state);
>  extern int i915_resume(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 48177ec..fcecbd2 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -259,6 +259,9 @@ void intel_panel_disable_backlight(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> +	if (!i915_enable_backlight)
> +		return;
> +
>  	dev_priv->backlight_enabled = false;
>  	intel_panel_actually_set_backlight(dev, 0);
>  }
> @@ -267,6 +270,9 @@ void intel_panel_enable_backlight(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> +	if (!i915_enable_backlight)
> +		return;
> +
>  	if (dev_priv->backlight_level == 0)
>  		dev_priv->backlight_level = intel_panel_get_max_backlight(dev);
>  
> @@ -333,6 +339,9 @@ int intel_panel_setup_backlight(struct drm_device *dev)
>  	struct backlight_properties props;
>  	struct drm_connector *connector;
>  
> +	if (!i915_enable_backlight)
> +		return 0;
> +
>  	intel_panel_init_backlight(dev);
>  
>  	if (dev_priv->int_lvds_connector)
> @@ -368,6 +377,9 @@ void intel_panel_destroy_backlight(struct drm_device *dev)
>  #else
>  int intel_panel_setup_backlight(struct drm_device *dev)
>  {
> +	if (!i915_enable_backlight)
> +		return;
> +
>  	intel_panel_init_backlight(dev);
>  	return 0;
>  }
> -- 
> 1.7.5.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight
  2012-04-26 20:07 ` [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Daniel Vetter
@ 2012-04-27 20:55   ` Kamal Mostafa
  2012-05-14 18:53   ` Kamal Mostafa
  1 sibling, 0 replies; 9+ messages in thread
From: Kamal Mostafa @ 2012-04-27 20:55 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Intel Graphics Development

On Thu, 2012-04-26 at 22:07 +0200, Daniel Vetter wrote:
> On Wed, Apr 25, 2012 at 10:28:41AM -0700, Kamal Mostafa wrote:
> > i915.enable_backlight=0 can be used to disable i915 backlight control
> > and the /sys/class/backlight/intel_backlight interface -- useful for
> > systems where intel_backight conflicts with BIOS backlight control.
> > 
> > BugLink: https://launchpad.net/bugs/954661
> > Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> 
> Ok, I've just gone through the fun of merging a set of backlight quirks a
> few weeks back. Then noticed that an awful lot of machines seem to be
> affected and later on read about a few interesting bits in the
> documentation. Turns out the hw is all good, it's just the driver totally
> mishandling the backlight.
> 
> To cut things short: This time around I want more justification for the
> quirk than just "this makes this one machine work somehow".


The enable_backlight modparam (this PATCH 1/2) would be generally useful
to have, whether or not we quirk-disable it for that particular machine.
Consider accepting this first patch 1/2 on its own?

 -Kamal


> > ---
> >  drivers/gpu/drm/i915/i915_drv.c    |    6 ++++++
> >  drivers/gpu/drm/i915/i915_drv.h    |    1 +
> >  drivers/gpu/drm/i915/intel_panel.c |   12 ++++++++++++
> >  3 files changed, 19 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> > index ae8a64f..ddb947b 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -112,6 +112,12 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
> >  MODULE_PARM_DESC(i915_enable_ppgtt,
> >  		"Enable PPGTT (default: true)");
> >  
> > +int i915_enable_backlight __read_mostly = -1;
> > +module_param_named(enable_backlight, i915_enable_backlight, int, 0644);
> > +MODULE_PARM_DESC(enable_backlight,
> > +		"Enable backlight control and the intel_backlight interface. "
> > +		"(default: -1 (auto))");
> > +
> >  static struct drm_driver driver;
> >  extern int intel_agp_enabled;
> >  
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 5fabc6c..6e52a42 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1087,6 +1087,7 @@ extern int i915_enable_rc6 __read_mostly;
> >  extern int i915_enable_fbc __read_mostly;
> >  extern bool i915_enable_hangcheck __read_mostly;
> >  extern int i915_enable_ppgtt __read_mostly;
> > +extern int i915_enable_backlight __read_mostly;
> >  
> >  extern int i915_suspend(struct drm_device *dev, pm_message_t state);
> >  extern int i915_resume(struct drm_device *dev);
> > diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> > index 48177ec..fcecbd2 100644
> > --- a/drivers/gpu/drm/i915/intel_panel.c
> > +++ b/drivers/gpu/drm/i915/intel_panel.c
> > @@ -259,6 +259,9 @@ void intel_panel_disable_backlight(struct drm_device *dev)
> >  {
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  
> > +	if (!i915_enable_backlight)
> > +		return;
> > +
> >  	dev_priv->backlight_enabled = false;
> >  	intel_panel_actually_set_backlight(dev, 0);
> >  }
> > @@ -267,6 +270,9 @@ void intel_panel_enable_backlight(struct drm_device *dev)
> >  {
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  
> > +	if (!i915_enable_backlight)
> > +		return;
> > +
> >  	if (dev_priv->backlight_level == 0)
> >  		dev_priv->backlight_level = intel_panel_get_max_backlight(dev);
> >  
> > @@ -333,6 +339,9 @@ int intel_panel_setup_backlight(struct drm_device *dev)
> >  	struct backlight_properties props;
> >  	struct drm_connector *connector;
> >  
> > +	if (!i915_enable_backlight)
> > +		return 0;
> > +
> >  	intel_panel_init_backlight(dev);
> >  
> >  	if (dev_priv->int_lvds_connector)
> > @@ -368,6 +377,9 @@ void intel_panel_destroy_backlight(struct drm_device *dev)
> >  #else
> >  int intel_panel_setup_backlight(struct drm_device *dev)
> >  {
> > +	if (!i915_enable_backlight)
> > +		return;
> > +
> >  	intel_panel_init_backlight(dev);
> >  	return 0;
> >  }
> > -- 
> > 1.7.5.4
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z
  2012-04-25 17:28 ` [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z Kamal Mostafa
@ 2012-04-27 20:56   ` Kamal Mostafa
  2012-04-27 21:25     ` Daniel Vetter
  0 siblings, 1 reply; 9+ messages in thread
From: Kamal Mostafa @ 2012-04-27 20:56 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Robert Hooker, Intel Graphics Development

On Thu, 2012-04-26 at 22:07 +0200, Daniel Vetter wrote:
> ...
> To cut things short: This time around I want more justification for the
> quirk than just "this makes this one machine work somehow".


A bit more detail...

On this Dell XPS 13z "Ultrabook" (sandybridge_m 0x0116) when
intel_backlight/brightness gets stuffed with any value except 0 or
max_brightness, the backlight cycles between flashing (like a strobe
light!) and then pulsating (bright to dim to bright).  That
flashing/pulsating cycle repeats continuously, about every 2 seconds.
The behavior is affected by the value stuffed into brightness more or
less along the lines of:

   0: very dim, totally stable
   1: flashes like crazy for about 1.5 sec, then pulsates for 0.5 sec
1000: flashes for about 0.5 sec, then pulsates for about 1.5 sec
2000: flashes very briefly, then pulsates for about 2 sec
3000: flickers, then pulsates for about 2 sec
4000  pulsates continuously, every 2 sec
4882: (max_brightness) full brightness, stable

This behavior manifests both in X and in a text VT, and occurs with or
without the presence of other backlight interfaces besides
intel_backlight.  It does not appear to me to be a userspace problem.

The additional wrinkle is that this machine presents an acpi_video0
backlight interface as well, and it even works properly -- but *only*
after you specifically stuff 0 into intel_backlight/brightness (or if
intel_backlight is disabled by the proposed quirk).

Any non-zero intel_backlight/brightness value prevents acpi_video0 from
working.  When intel_backlight is set to max_brightness (like at boot),
acpi_video0/brightness seems to have no effect at all; when
intel_backlight is set to other non-zero values, the flashing/pulsating
behavior occurs.

I'd be (quite) happy to test a proper intel_backlight fix, but in the
meantime disabling it by quirk seems appropriate for this machine, since
that allows the acpi_video0 interface to work out of the box.

Thanks for considering it,

 -Kamal


On Wed, 2012-04-25 at 10:28 -0700, Kamal Mostafa wrote:
> From: Robert Hooker <robert.hooker@canonical.com>
> 
> Dell XPS 13z exhibits problems (backlight flashing/pulsating) when
> intel_backlight is enabled at all, so disable it.
> 
> BugLink: https://launchpad.net/bugs/954661
> Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
> Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c |   17 +++++++++++++++++
>  1 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 5908cd5..0c4cac4 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -9100,6 +9100,19 @@ static void quirk_ssc_force_disable(struct drm_device *dev)
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	dev_priv->quirks |= QUIRK_LVDS_SSC_DISABLE;
>  }
> + 
> +/*
> + * Some machines (Dell XPS 13z) exhibit problems with i915 control of the
> + * backlight registers; Others may need the intel_backlight interface
> + * disabled for some other reason.
> + */
> +static void quirk_backlight_disable(struct drm_device *dev)
> +{
> +	if (i915_enable_backlight == -1) {
> +	    i915_enable_backlight = 0;
> +	    DRM_DEBUG_DRIVER("disabling intel_backlight interface via quirk\n");
> +	}
> +}
>  
>  struct intel_quirk {
>  	int device;
> @@ -9133,6 +9146,10 @@ struct intel_quirk intel_quirks[] = {
>  
>  	/* Sony Vaio Y cannot use SSC on LVDS */
>  	{ 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable },
> +
> +	/* Dell XPS 13z needs to disable the intel_backlight interface
> +	   (LP: #954661) */
> +	{ 0x0116, 0x1028, 0x052e, quirk_backlight_disable },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z
  2012-04-27 20:56   ` Kamal Mostafa
@ 2012-04-27 21:25     ` Daniel Vetter
  2012-04-27 21:55       ` Kamal Mostafa
  0 siblings, 1 reply; 9+ messages in thread
From: Daniel Vetter @ 2012-04-27 21:25 UTC (permalink / raw)
  To: Kamal Mostafa; +Cc: Robert Hooker, Intel Graphics Development

On Fri, Apr 27, 2012 at 01:56:09PM -0700, Kamal Mostafa wrote:
> On Thu, 2012-04-26 at 22:07 +0200, Daniel Vetter wrote:
> > ...
> > To cut things short: This time around I want more justification for the
> > quirk than just "this makes this one machine work somehow".
> 
> 
> A bit more detail...
> 
> On this Dell XPS 13z "Ultrabook" (sandybridge_m 0x0116) when
> intel_backlight/brightness gets stuffed with any value except 0 or
> max_brightness, the backlight cycles between flashing (like a strobe
> light!) and then pulsating (bright to dim to bright).  That
> flashing/pulsating cycle repeats continuously, about every 2 seconds.
> The behavior is affected by the value stuffed into brightness more or
> less along the lines of:
> 
>    0: very dim, totally stable
>    1: flashes like crazy for about 1.5 sec, then pulsates for 0.5 sec
> 1000: flashes for about 0.5 sec, then pulsates for about 1.5 sec
> 2000: flashes very briefly, then pulsates for about 2 sec
> 3000: flickers, then pulsates for about 2 sec
> 4000  pulsates continuously, every 2 sec
> 4882: (max_brightness) full brightness, stable
> 
> This behavior manifests both in X and in a text VT, and occurs with or
> without the presence of other backlight interfaces besides
> intel_backlight.  It does not appear to me to be a userspace problem.
> 
> The additional wrinkle is that this machine presents an acpi_video0
> backlight interface as well, and it even works properly -- but *only*
> after you specifically stuff 0 into intel_backlight/brightness (or if
> intel_backlight is disabled by the proposed quirk).
> 
> Any non-zero intel_backlight/brightness value prevents acpi_video0 from
> working.  When intel_backlight is set to max_brightness (like at boot),
> acpi_video0/brightness seems to have no effect at all; when
> intel_backlight is set to other non-zero values, the flashing/pulsating
> behavior occurs.
> 
> I'd be (quite) happy to test a proper intel_backlight fix, but in the
> meantime disabling it by quirk seems appropriate for this machine, since
> that allows the acpi_video0 interface to work out of the box.
> 
> Thanks for considering it,

Hm. Can you please install intel-gpu-tools and attach the output of
intel_reg_dumper? I have an idea ...

Thanks, Daniel
-- 
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z
  2012-04-27 21:25     ` Daniel Vetter
@ 2012-04-27 21:55       ` Kamal Mostafa
  2012-05-14 18:54         ` Kamal Mostafa
  0 siblings, 1 reply; 9+ messages in thread
From: Kamal Mostafa @ 2012-04-27 21:55 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Robert Hooker, Intel Graphics Development

On Fri, 2012-04-27 at 23:25 +0200, Daniel Vetter wrote:
> Hm. Can you please install intel-gpu-tools and attach the output of
> intel_reg_dumper? I have an idea ...

Here it is with intel_backlight/brightness set to 1 ("strobe light"
behavior occurring):

                    PGETBL_CTL: 0x00000000
               GEN6_INSTDONE_1: 0x8888fffb
               GEN6_INSTDONE_2: 0x03305e3f
                  CPU_VGACNTRL: 0x80000000 (disabled)
    DIGITAL_PORT_HOTPLUG_CNTRL: 0x00000000
                     RR_HW_CTL: 0x00000000 (low 0, high 0)
                FDI_PLL_BIOS_0: 0xffffffff
                FDI_PLL_BIOS_1: 0xffffffff
                FDI_PLL_BIOS_2: 0xffffffff
       DISPLAY_PORT_PLL_BIOS_0: 0xffffffff
       DISPLAY_PORT_PLL_BIOS_1: 0xffffffff
       DISPLAY_PORT_PLL_BIOS_2: 0xffffffff
              FDI_PLL_FREQ_CTL: 0xffffffff
                     PIPEACONF: 0xc0000050 (enabled, active, 6bpc)
                      HTOTAL_A: 0x05d90555 (1366 active, 1498 total)
                      HBLANK_A: 0x05d90555 (1366 start, 1498 end)
                       HSYNC_A: 0x05a50585 (1414 start, 1446 end)
                      VTOTAL_A: 0x031502ff (768 active, 790 total)
                      VBLANK_A: 0x031502ff (768 start, 790 end)
                       VSYNC_A: 0x03040300 (769 start, 773 end)
                  VSYNCSHIFT_A: 0x00000000
                      PIPEASRC: 0x055502ff (1366, 768)
                 PIPEA_DATA_M1: 0x7e1380e4 (TU 64, val 0x1380e4 1278180)
                 PIPEA_DATA_N1: 0x0020f580 (val 0x20f580 2160000)
                 PIPEA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
                 PIPEA_DATA_N2: 0x00000000 (val 0x0 0)
                 PIPEA_LINK_M1: 0x00011562 (val 0x11562 71010)
                 PIPEA_LINK_N1: 0x00041eb0 (val 0x41eb0 270000)
                 PIPEA_LINK_M2: 0x00000000 (val 0x0 0)
                 PIPEA_LINK_N2: 0x00000000 (val 0x0 0)
                      DSPACNTR: 0xd8004400 (enabled)
                      DSPABASE: 0x00000000
                    DSPASTRIDE: 0x00001600 (88)
                      DSPASURF: 0x009bf000
                   DSPATILEOFF: 0x00000000 (0, 0)
                     PIPEBCONF: 0x00000000 (disabled, inactive, 8bpc)
                      HTOTAL_B: 0x00000000 (1 active, 1 total)
                      HBLANK_B: 0x00000000 (1 start, 1 end)
                       HSYNC_B: 0x00000000 (1 start, 1 end)
                      VTOTAL_B: 0x00000000 (1 active, 1 total)
                      VBLANK_B: 0x00000000 (1 start, 1 end)
                       VSYNC_B: 0x00000000 (1 start, 1 end)
                  VSYNCSHIFT_B: 0x00000000
                      DSPBCNTR: 0x00004000 (disabled)
                      DSPBBASE: 0x00000000
                    DSPBSTRIDE: 0x00000000 (0)
                      DSPBSURF: 0x00000000
                   DSPBTILEOFF: 0x00000000 (0, 0)
                      PIPEBSRC: 0x00000000 (1, 1)
                 PIPEB_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
                 PIPEB_DATA_N1: 0x00000000 (val 0x0 0)
                 PIPEB_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
                 PIPEB_DATA_N2: 0x00000000 (val 0x0 0)
                 PIPEB_LINK_M1: 0x00000000 (val 0x0 0)
                 PIPEB_LINK_N1: 0x00000000 (val 0x0 0)
                 PIPEB_LINK_M2: 0x00000000 (val 0x0 0)
                 PIPEB_LINK_N2: 0x00000000 (val 0x0 0)
                     PFA_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
                     PFA_CTL_2: 0x00007e80 (vscale 0.988281)
                     PFA_CTL_3: 0x00003f40 (vscale initial phase 0.494141)
                     PFA_CTL_4: 0x00007d54 (hscale 0.979126)
                   PFA_WIN_POS: 0x00000000 (0, 0)
                  PFA_WIN_SIZE: 0x00000000 (0, 0)
                     PFB_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
                     PFB_CTL_2: 0x00000000 (vscale 0.000000)
                     PFB_CTL_3: 0x00000000 (vscale initial phase 0.000000)
                     PFB_CTL_4: 0x00000000 (hscale 0.000000)
                   PFB_WIN_POS: 0x00000000 (0, 0)
                  PFB_WIN_SIZE: 0x00000000 (0, 0)
              PCH_DREF_CONTROL: 0x00001402 (cpu source disable, ssc_source enable, nonspread_source enable, superspread_source disable, ssc4_mode downspread, ssc1 enable, ssc4 disable)
               PCH_RAWCLK_FREQ: 0x0000007d (FDL_TP1 timer 0.5us, FDL_TP2 timer 1.5us, freq 125)
              PCH_DPLL_TMR_CFG: 0x0271186a
                PCH_SSC4_PARMS: 0x01204860
            PCH_SSC4_AUX_PARMS: 0x000029c5
                  PCH_DPLL_SEL: 0x00000008 (TransA DPLL enable (DPLL A), TransB DPLL disable (DPLL (null)))
           PCH_DPLL_ANALOG_CTL: 0x00008000
                    PCH_DPLL_A: 0x88046004 (enable, sdvo high speed no, mode LVDS, p2 Div 14, FPA0 P1 3, FPA1 P1 3, refclk SSC, sdvo/hdmi mul 1)
                    PCH_DPLL_B: 0x04800080 (disable, sdvo high speed no, mode (null), p2 (null), FPA0 P1 8, FPA1 P1 8, refclk default 120Mhz, sdvo/hdmi mul 1)
                      PCH_FPA0: 0x00021007 (n = 2, m1 = 16, m2 = 7)
                      PCH_FPA1: 0x00021007 (n = 2, m1 = 16, m2 = 7)
                      PCH_FPB0: 0x00030d07 (n = 3, m1 = 13, m2 = 7)
                      PCH_FPB1: 0x00030d07 (n = 3, m1 = 13, m2 = 7)
                TRANS_HTOTAL_A: 0x05d90555 (1366 active, 1498 total)
                TRANS_HBLANK_A: 0x05d90555 (1366 start, 1498 end)
                 TRANS_HSYNC_A: 0x05a50585 (1414 start, 1446 end)
                TRANS_VTOTAL_A: 0x031502ff (768 active, 790 total)
                TRANS_VBLANK_A: 0x031502ff (768 start, 790 end)
                 TRANS_VSYNC_A: 0x03040300 (769 start, 773 end)
            TRANS_VSYNCSHIFT_A: 0x00000000
                TRANSA_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
                TRANSA_DATA_N1: 0x00000000 (val 0x0 0)
                TRANSA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
                TRANSA_DATA_N2: 0x00000000 (val 0x0 0)
             TRANSA_DP_LINK_M1: 0x00000000 (val 0x0 0)
             TRANSA_DP_LINK_N1: 0x00000000 (val 0x0 0)
             TRANSA_DP_LINK_M2: 0x00000000 (val 0x0 0)
             TRANSA_DP_LINK_N2: 0x00000000 (val 0x0 0)
                TRANS_HTOTAL_B: 0x00000000 (1 active, 1 total)
                TRANS_HBLANK_B: 0x00000000 (1 start, 1 end)
                 TRANS_HSYNC_B: 0x00000000 (1 start, 1 end)
                TRANS_VTOTAL_B: 0x00000000 (1 active, 1 total)
                TRANS_VBLANK_B: 0x00000000 (1 start, 1 end)
                 TRANS_VSYNC_B: 0x00000000 (1 start, 1 end)
            TRANS_VSYNCSHIFT_B: 0x00000000
                TRANSB_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
                TRANSB_DATA_N1: 0x00000000 (val 0x0 0)
                TRANSB_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
                TRANSB_DATA_N2: 0x00000000 (val 0x0 0)
             TRANSB_DP_LINK_M1: 0x00000000 (val 0x0 0)
             TRANSB_DP_LINK_N1: 0x00000000 (val 0x0 0)
             TRANSB_DP_LINK_M2: 0x00000000 (val 0x0 0)
             TRANSB_DP_LINK_N2: 0x00000000 (val 0x0 0)
                TRANS_HTOTAL_C: 0x00000000 (1 active, 1 total)
                TRANS_HBLANK_C: 0x00000000 (1 start, 1 end)
                 TRANS_HSYNC_C: 0x00000000 (1 start, 1 end)
                TRANS_VTOTAL_C: 0x00000000 (1 active, 1 total)
                TRANS_VBLANK_C: 0x00000000 (1 start, 1 end)
                 TRANS_VSYNC_C: 0x00000000 (1 start, 1 end)
            TRANS_VSYNCSHIFT_C: 0x00000000
                TRANSC_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
                TRANSC_DATA_N1: 0x00000000 (val 0x0 0)
                TRANSC_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
                TRANSC_DATA_N2: 0x00000000 (val 0x0 0)
             TRANSC_DP_LINK_M1: 0x00000000 (val 0x0 0)
             TRANSC_DP_LINK_N1: 0x00000000 (val 0x0 0)
             TRANSC_DP_LINK_M2: 0x00000000 (val 0x0 0)
             TRANSC_DP_LINK_N2: 0x00000000 (val 0x0 0)
                    TRANSACONF: 0xc0000000 (enable, active)
                    TRANSBCONF: 0x00000000 (disable, inactive)
                    TRANSCCONF: 0x00000000 (disable, inactive)
                   FDI_TXA_CTL: 0xb0044000 (enable, train pattern not train, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
                   FDI_TXB_CTL: 0x00040000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing enable, FDI PLL disable, scrambing enable, master mode disable)
                   FDI_TXC_CTL: 0x00000000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing disable, FDI PLL disable, scrambing enable, master mode disable)
                   FDI_RXA_CTL: 0x80022350 (enable, train pattern not train, port width X1, 6bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report enable, FE err report enable,scrambing enable, enhanced framing enable, PCDClk)
                   FDI_RXB_CTL: 0x00000040 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
                   FDI_RXC_CTL: 0x00000040 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
                  FDI_RXA_MISC: 0x00000080 (FDI Delay 128)
                  FDI_RXB_MISC: 0x00000080 (FDI Delay 128)
                  FDI_RXC_MISC: 0x00000080 (FDI Delay 128)
               FDI_RXA_TUSIZE1: 0x7e000000
               FDI_RXA_TUSIZE2: 0x7e000000
               FDI_RXB_TUSIZE1: 0x7e000000
               FDI_RXB_TUSIZE2: 0x7e000000
               FDI_RXC_TUSIZE1: 0x7e000000
               FDI_RXC_TUSIZE2: 0x7e000000
                 FDI_PLL_CTL_1: 0x7e000000
                 FDI_PLL_CTL_2: 0x7e000000
                   FDI_RXA_IIR: 0x00000000
                   FDI_RXA_IMR: 0x000008ff
                   FDI_RXB_IIR: 0x00000000
                   FDI_RXB_IMR: 0x000008ff
                      PCH_ADPA: 0x00f40000 (disabled, transcoder A, -hsync, -vsync)
                         HDMIB: 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
                         HDMIC: 0x0000001c (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync detected)
                         HDMID: 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
                      PCH_LVDS: 0x80200302 (enabled, pipe A, 18 bit, 1 channel)
                     CPU_eDP_A: 0x00000018
                      PCH_DP_B: 0x00000000
                      PCH_DP_C: 0x00000004
                      PCH_DP_D: 0x00000000
                TRANS_DP_CTL_A: 0x60000418 (disable port none 6bpc +vsync +hsync)
                TRANS_DP_CTL_B: 0x60000018 (disable port none 8bpc +vsync +hsync)
                TRANS_DP_CTL_C: 0x60000018 (disable port none 8bpc +vsync +hsync)
              BLC_PWM_CPU_CTL2: 0x80000000
               BLC_PWM_CPU_CTL: 0x00000001
              BLC_PWM_PCH_CTL1: 0x80000000
              BLC_PWM_PCH_CTL2: 0x13120000
                 PCH_PP_STATUS: 0xc0000008 (on, ready, sequencing idle)
                PCH_PP_CONTROL: 0xabcd0003 (blacklight disabled, power down on reset, panel on)
              PCH_PP_ON_DELAYS: 0x025807d0
             PCH_PP_OFF_DELAYS: 0x01f409c4
                PCH_PP_DIVISOR: 0x00186905
                      PORT_DBG: 0x00000000 (HW DRRS off)
            RC6_RESIDENCY_TIME: 0x02fb9ec6
           RC6p_RESIDENCY_TIME: 0x00000000
          RC6pp_RESIDENCY_TIME: 0x00000000

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight
  2012-04-26 20:07 ` [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Daniel Vetter
  2012-04-27 20:55   ` Kamal Mostafa
@ 2012-05-14 18:53   ` Kamal Mostafa
  1 sibling, 0 replies; 9+ messages in thread
From: Kamal Mostafa @ 2012-05-14 18:53 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Intel Graphics Development


[-- Attachment #1.1: Type: text/plain, Size: 4688 bytes --]

Hi Daniel-

Reminding you of this patch...

The new i915.enable_backlight modparam introduced in patch 1/2 is
generally useful, regardless of whether we quirk-enable as done in patch
2/2.  Its already been used successfully for a different machine[0] with
a different backlight problem.

Please consider applying this patch 1/2.

Thanks,

 -Kamal

[0] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/954661/comments/27


On Thu, 2012-04-26 at 22:07 +0200, Daniel Vetter wrote:
> On Wed, Apr 25, 2012 at 10:28:41AM -0700, Kamal Mostafa wrote:
> > i915.enable_backlight=0 can be used to disable i915 backlight control
> > and the /sys/class/backlight/intel_backlight interface -- useful for
> > systems where intel_backight conflicts with BIOS backlight control.
> > 
> > BugLink: https://launchpad.net/bugs/954661
> > Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> 
> Ok, I've just gone through the fun of merging a set of backlight quirks a
> few weeks back. Then noticed that an awful lot of machines seem to be
> affected and later on read about a few interesting bits in the
> documentation. Turns out the hw is all good, it's just the driver totally
> mishandling the backlight.
> 
> To cut things short: This time around I want more justification for the
> quirk than just "this makes this one machine work somehow".
> -Daniel
> 
> > ---
> >  drivers/gpu/drm/i915/i915_drv.c    |    6 ++++++
> >  drivers/gpu/drm/i915/i915_drv.h    |    1 +
> >  drivers/gpu/drm/i915/intel_panel.c |   12 ++++++++++++
> >  3 files changed, 19 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> > index ae8a64f..ddb947b 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -112,6 +112,12 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
> >  MODULE_PARM_DESC(i915_enable_ppgtt,
> >  		"Enable PPGTT (default: true)");
> >  
> > +int i915_enable_backlight __read_mostly = -1;
> > +module_param_named(enable_backlight, i915_enable_backlight, int, 0644);
> > +MODULE_PARM_DESC(enable_backlight,
> > +		"Enable backlight control and the intel_backlight interface. "
> > +		"(default: -1 (auto))");
> > +
> >  static struct drm_driver driver;
> >  extern int intel_agp_enabled;
> >  
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 5fabc6c..6e52a42 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1087,6 +1087,7 @@ extern int i915_enable_rc6 __read_mostly;
> >  extern int i915_enable_fbc __read_mostly;
> >  extern bool i915_enable_hangcheck __read_mostly;
> >  extern int i915_enable_ppgtt __read_mostly;
> > +extern int i915_enable_backlight __read_mostly;
> >  
> >  extern int i915_suspend(struct drm_device *dev, pm_message_t state);
> >  extern int i915_resume(struct drm_device *dev);
> > diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> > index 48177ec..fcecbd2 100644
> > --- a/drivers/gpu/drm/i915/intel_panel.c
> > +++ b/drivers/gpu/drm/i915/intel_panel.c
> > @@ -259,6 +259,9 @@ void intel_panel_disable_backlight(struct drm_device *dev)
> >  {
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  
> > +	if (!i915_enable_backlight)
> > +		return;
> > +
> >  	dev_priv->backlight_enabled = false;
> >  	intel_panel_actually_set_backlight(dev, 0);
> >  }
> > @@ -267,6 +270,9 @@ void intel_panel_enable_backlight(struct drm_device *dev)
> >  {
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  
> > +	if (!i915_enable_backlight)
> > +		return;
> > +
> >  	if (dev_priv->backlight_level == 0)
> >  		dev_priv->backlight_level = intel_panel_get_max_backlight(dev);
> >  
> > @@ -333,6 +339,9 @@ int intel_panel_setup_backlight(struct drm_device *dev)
> >  	struct backlight_properties props;
> >  	struct drm_connector *connector;
> >  
> > +	if (!i915_enable_backlight)
> > +		return 0;
> > +
> >  	intel_panel_init_backlight(dev);
> >  
> >  	if (dev_priv->int_lvds_connector)
> > @@ -368,6 +377,9 @@ void intel_panel_destroy_backlight(struct drm_device *dev)
> >  #else
> >  int intel_panel_setup_backlight(struct drm_device *dev)
> >  {
> > +	if (!i915_enable_backlight)
> > +		return;
> > +
> >  	intel_panel_init_backlight(dev);
> >  	return 0;
> >  }
> > -- 
> > 1.7.5.4
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z
  2012-04-27 21:55       ` Kamal Mostafa
@ 2012-05-14 18:54         ` Kamal Mostafa
  0 siblings, 0 replies; 9+ messages in thread
From: Kamal Mostafa @ 2012-05-14 18:54 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Robert Hooker, Intel Graphics Development


[-- Attachment #1.1: Type: text/plain, Size: 12910 bytes --]

Hi Daniel-

Reminding you of this issue...  I've sent the register dump you asked
for... You said you had an idea?

Thanks very much for looking into it,

 -Kamal


On Fri, 2012-04-27 at 14:55 -0700, Kamal Mostafa wrote:
> On Fri, 2012-04-27 at 23:25 +0200, Daniel Vetter wrote:
> > Hm. Can you please install intel-gpu-tools and attach the output of
> > intel_reg_dumper? I have an idea ...
> 
> Here it is with intel_backlight/brightness set to 1 ("strobe light"
> behavior occurring):
> 
>                     PGETBL_CTL: 0x00000000
>                GEN6_INSTDONE_1: 0x8888fffb
>                GEN6_INSTDONE_2: 0x03305e3f
>                   CPU_VGACNTRL: 0x80000000 (disabled)
>     DIGITAL_PORT_HOTPLUG_CNTRL: 0x00000000
>                      RR_HW_CTL: 0x00000000 (low 0, high 0)
>                 FDI_PLL_BIOS_0: 0xffffffff
>                 FDI_PLL_BIOS_1: 0xffffffff
>                 FDI_PLL_BIOS_2: 0xffffffff
>        DISPLAY_PORT_PLL_BIOS_0: 0xffffffff
>        DISPLAY_PORT_PLL_BIOS_1: 0xffffffff
>        DISPLAY_PORT_PLL_BIOS_2: 0xffffffff
>               FDI_PLL_FREQ_CTL: 0xffffffff
>                      PIPEACONF: 0xc0000050 (enabled, active, 6bpc)
>                       HTOTAL_A: 0x05d90555 (1366 active, 1498 total)
>                       HBLANK_A: 0x05d90555 (1366 start, 1498 end)
>                        HSYNC_A: 0x05a50585 (1414 start, 1446 end)
>                       VTOTAL_A: 0x031502ff (768 active, 790 total)
>                       VBLANK_A: 0x031502ff (768 start, 790 end)
>                        VSYNC_A: 0x03040300 (769 start, 773 end)
>                   VSYNCSHIFT_A: 0x00000000
>                       PIPEASRC: 0x055502ff (1366, 768)
>                  PIPEA_DATA_M1: 0x7e1380e4 (TU 64, val 0x1380e4 1278180)
>                  PIPEA_DATA_N1: 0x0020f580 (val 0x20f580 2160000)
>                  PIPEA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
>                  PIPEA_DATA_N2: 0x00000000 (val 0x0 0)
>                  PIPEA_LINK_M1: 0x00011562 (val 0x11562 71010)
>                  PIPEA_LINK_N1: 0x00041eb0 (val 0x41eb0 270000)
>                  PIPEA_LINK_M2: 0x00000000 (val 0x0 0)
>                  PIPEA_LINK_N2: 0x00000000 (val 0x0 0)
>                       DSPACNTR: 0xd8004400 (enabled)
>                       DSPABASE: 0x00000000
>                     DSPASTRIDE: 0x00001600 (88)
>                       DSPASURF: 0x009bf000
>                    DSPATILEOFF: 0x00000000 (0, 0)
>                      PIPEBCONF: 0x00000000 (disabled, inactive, 8bpc)
>                       HTOTAL_B: 0x00000000 (1 active, 1 total)
>                       HBLANK_B: 0x00000000 (1 start, 1 end)
>                        HSYNC_B: 0x00000000 (1 start, 1 end)
>                       VTOTAL_B: 0x00000000 (1 active, 1 total)
>                       VBLANK_B: 0x00000000 (1 start, 1 end)
>                        VSYNC_B: 0x00000000 (1 start, 1 end)
>                   VSYNCSHIFT_B: 0x00000000
>                       DSPBCNTR: 0x00004000 (disabled)
>                       DSPBBASE: 0x00000000
>                     DSPBSTRIDE: 0x00000000 (0)
>                       DSPBSURF: 0x00000000
>                    DSPBTILEOFF: 0x00000000 (0, 0)
>                       PIPEBSRC: 0x00000000 (1, 1)
>                  PIPEB_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
>                  PIPEB_DATA_N1: 0x00000000 (val 0x0 0)
>                  PIPEB_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
>                  PIPEB_DATA_N2: 0x00000000 (val 0x0 0)
>                  PIPEB_LINK_M1: 0x00000000 (val 0x0 0)
>                  PIPEB_LINK_N1: 0x00000000 (val 0x0 0)
>                  PIPEB_LINK_M2: 0x00000000 (val 0x0 0)
>                  PIPEB_LINK_N2: 0x00000000 (val 0x0 0)
>                      PFA_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
>                      PFA_CTL_2: 0x00007e80 (vscale 0.988281)
>                      PFA_CTL_3: 0x00003f40 (vscale initial phase 0.494141)
>                      PFA_CTL_4: 0x00007d54 (hscale 0.979126)
>                    PFA_WIN_POS: 0x00000000 (0, 0)
>                   PFA_WIN_SIZE: 0x00000000 (0, 0)
>                      PFB_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
>                      PFB_CTL_2: 0x00000000 (vscale 0.000000)
>                      PFB_CTL_3: 0x00000000 (vscale initial phase 0.000000)
>                      PFB_CTL_4: 0x00000000 (hscale 0.000000)
>                    PFB_WIN_POS: 0x00000000 (0, 0)
>                   PFB_WIN_SIZE: 0x00000000 (0, 0)
>               PCH_DREF_CONTROL: 0x00001402 (cpu source disable, ssc_source enable, nonspread_source enable, superspread_source disable, ssc4_mode downspread, ssc1 enable, ssc4 disable)
>                PCH_RAWCLK_FREQ: 0x0000007d (FDL_TP1 timer 0.5us, FDL_TP2 timer 1.5us, freq 125)
>               PCH_DPLL_TMR_CFG: 0x0271186a
>                 PCH_SSC4_PARMS: 0x01204860
>             PCH_SSC4_AUX_PARMS: 0x000029c5
>                   PCH_DPLL_SEL: 0x00000008 (TransA DPLL enable (DPLL A), TransB DPLL disable (DPLL (null)))
>            PCH_DPLL_ANALOG_CTL: 0x00008000
>                     PCH_DPLL_A: 0x88046004 (enable, sdvo high speed no, mode LVDS, p2 Div 14, FPA0 P1 3, FPA1 P1 3, refclk SSC, sdvo/hdmi mul 1)
>                     PCH_DPLL_B: 0x04800080 (disable, sdvo high speed no, mode (null), p2 (null), FPA0 P1 8, FPA1 P1 8, refclk default 120Mhz, sdvo/hdmi mul 1)
>                       PCH_FPA0: 0x00021007 (n = 2, m1 = 16, m2 = 7)
>                       PCH_FPA1: 0x00021007 (n = 2, m1 = 16, m2 = 7)
>                       PCH_FPB0: 0x00030d07 (n = 3, m1 = 13, m2 = 7)
>                       PCH_FPB1: 0x00030d07 (n = 3, m1 = 13, m2 = 7)
>                 TRANS_HTOTAL_A: 0x05d90555 (1366 active, 1498 total)
>                 TRANS_HBLANK_A: 0x05d90555 (1366 start, 1498 end)
>                  TRANS_HSYNC_A: 0x05a50585 (1414 start, 1446 end)
>                 TRANS_VTOTAL_A: 0x031502ff (768 active, 790 total)
>                 TRANS_VBLANK_A: 0x031502ff (768 start, 790 end)
>                  TRANS_VSYNC_A: 0x03040300 (769 start, 773 end)
>             TRANS_VSYNCSHIFT_A: 0x00000000
>                 TRANSA_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
>                 TRANSA_DATA_N1: 0x00000000 (val 0x0 0)
>                 TRANSA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
>                 TRANSA_DATA_N2: 0x00000000 (val 0x0 0)
>              TRANSA_DP_LINK_M1: 0x00000000 (val 0x0 0)
>              TRANSA_DP_LINK_N1: 0x00000000 (val 0x0 0)
>              TRANSA_DP_LINK_M2: 0x00000000 (val 0x0 0)
>              TRANSA_DP_LINK_N2: 0x00000000 (val 0x0 0)
>                 TRANS_HTOTAL_B: 0x00000000 (1 active, 1 total)
>                 TRANS_HBLANK_B: 0x00000000 (1 start, 1 end)
>                  TRANS_HSYNC_B: 0x00000000 (1 start, 1 end)
>                 TRANS_VTOTAL_B: 0x00000000 (1 active, 1 total)
>                 TRANS_VBLANK_B: 0x00000000 (1 start, 1 end)
>                  TRANS_VSYNC_B: 0x00000000 (1 start, 1 end)
>             TRANS_VSYNCSHIFT_B: 0x00000000
>                 TRANSB_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
>                 TRANSB_DATA_N1: 0x00000000 (val 0x0 0)
>                 TRANSB_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
>                 TRANSB_DATA_N2: 0x00000000 (val 0x0 0)
>              TRANSB_DP_LINK_M1: 0x00000000 (val 0x0 0)
>              TRANSB_DP_LINK_N1: 0x00000000 (val 0x0 0)
>              TRANSB_DP_LINK_M2: 0x00000000 (val 0x0 0)
>              TRANSB_DP_LINK_N2: 0x00000000 (val 0x0 0)
>                 TRANS_HTOTAL_C: 0x00000000 (1 active, 1 total)
>                 TRANS_HBLANK_C: 0x00000000 (1 start, 1 end)
>                  TRANS_HSYNC_C: 0x00000000 (1 start, 1 end)
>                 TRANS_VTOTAL_C: 0x00000000 (1 active, 1 total)
>                 TRANS_VBLANK_C: 0x00000000 (1 start, 1 end)
>                  TRANS_VSYNC_C: 0x00000000 (1 start, 1 end)
>             TRANS_VSYNCSHIFT_C: 0x00000000
>                 TRANSC_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
>                 TRANSC_DATA_N1: 0x00000000 (val 0x0 0)
>                 TRANSC_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
>                 TRANSC_DATA_N2: 0x00000000 (val 0x0 0)
>              TRANSC_DP_LINK_M1: 0x00000000 (val 0x0 0)
>              TRANSC_DP_LINK_N1: 0x00000000 (val 0x0 0)
>              TRANSC_DP_LINK_M2: 0x00000000 (val 0x0 0)
>              TRANSC_DP_LINK_N2: 0x00000000 (val 0x0 0)
>                     TRANSACONF: 0xc0000000 (enable, active)
>                     TRANSBCONF: 0x00000000 (disable, inactive)
>                     TRANSCCONF: 0x00000000 (disable, inactive)
>                    FDI_TXA_CTL: 0xb0044000 (enable, train pattern not train, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
>                    FDI_TXB_CTL: 0x00040000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing enable, FDI PLL disable, scrambing enable, master mode disable)
>                    FDI_TXC_CTL: 0x00000000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing disable, FDI PLL disable, scrambing enable, master mode disable)
>                    FDI_RXA_CTL: 0x80022350 (enable, train pattern not train, port width X1, 6bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report enable, FE err report enable,scrambing enable, enhanced framing enable, PCDClk)
>                    FDI_RXB_CTL: 0x00000040 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
>                    FDI_RXC_CTL: 0x00000040 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
>                   FDI_RXA_MISC: 0x00000080 (FDI Delay 128)
>                   FDI_RXB_MISC: 0x00000080 (FDI Delay 128)
>                   FDI_RXC_MISC: 0x00000080 (FDI Delay 128)
>                FDI_RXA_TUSIZE1: 0x7e000000
>                FDI_RXA_TUSIZE2: 0x7e000000
>                FDI_RXB_TUSIZE1: 0x7e000000
>                FDI_RXB_TUSIZE2: 0x7e000000
>                FDI_RXC_TUSIZE1: 0x7e000000
>                FDI_RXC_TUSIZE2: 0x7e000000
>                  FDI_PLL_CTL_1: 0x7e000000
>                  FDI_PLL_CTL_2: 0x7e000000
>                    FDI_RXA_IIR: 0x00000000
>                    FDI_RXA_IMR: 0x000008ff
>                    FDI_RXB_IIR: 0x00000000
>                    FDI_RXB_IMR: 0x000008ff
>                       PCH_ADPA: 0x00f40000 (disabled, transcoder A, -hsync, -vsync)
>                          HDMIB: 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
>                          HDMIC: 0x0000001c (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync detected)
>                          HDMID: 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
>                       PCH_LVDS: 0x80200302 (enabled, pipe A, 18 bit, 1 channel)
>                      CPU_eDP_A: 0x00000018
>                       PCH_DP_B: 0x00000000
>                       PCH_DP_C: 0x00000004
>                       PCH_DP_D: 0x00000000
>                 TRANS_DP_CTL_A: 0x60000418 (disable port none 6bpc +vsync +hsync)
>                 TRANS_DP_CTL_B: 0x60000018 (disable port none 8bpc +vsync +hsync)
>                 TRANS_DP_CTL_C: 0x60000018 (disable port none 8bpc +vsync +hsync)
>               BLC_PWM_CPU_CTL2: 0x80000000
>                BLC_PWM_CPU_CTL: 0x00000001
>               BLC_PWM_PCH_CTL1: 0x80000000
>               BLC_PWM_PCH_CTL2: 0x13120000
>                  PCH_PP_STATUS: 0xc0000008 (on, ready, sequencing idle)
>                 PCH_PP_CONTROL: 0xabcd0003 (blacklight disabled, power down on reset, panel on)
>               PCH_PP_ON_DELAYS: 0x025807d0
>              PCH_PP_OFF_DELAYS: 0x01f409c4
>                 PCH_PP_DIVISOR: 0x00186905
>                       PORT_DBG: 0x00000000 (HW DRRS off)
>             RC6_RESIDENCY_TIME: 0x02fb9ec6
>            RC6p_RESIDENCY_TIME: 0x00000000
>           RC6pp_RESIDENCY_TIME: 0x00000000
> 
> 
> 


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-05-14 18:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-25 17:28 [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Kamal Mostafa
2012-04-25 17:28 ` [PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z Kamal Mostafa
2012-04-27 20:56   ` Kamal Mostafa
2012-04-27 21:25     ` Daniel Vetter
2012-04-27 21:55       ` Kamal Mostafa
2012-05-14 18:54         ` Kamal Mostafa
2012-04-26 20:07 ` [PATCH 1/2] drm/i915: i915.enable_backlight=0 disables intel_backlight Daniel Vetter
2012-04-27 20:55   ` Kamal Mostafa
2012-05-14 18:53   ` Kamal Mostafa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.