All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT
@ 2014-06-27 16:38 Scot Doyle
  2014-06-27 16:42 ` [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT Scot Doyle
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-27 16:38 UTC (permalink / raw)
  To: intel-gfx, James Duley, Jani Nikula

commit c675949ec58ca50d5a3ae3c757892f1560f6e896
     drm/i915: do not setup backlight if not available according to VBT

caused a regression on machines with a misconfigured VBT. Add a quirk to 
assert the presence of a controllable backlight, overriding the VBT. Then 
apply this quirk to four Haswell-based Chromebook laptops.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813

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

* [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
@ 2014-06-27 16:42 ` Scot Doyle
  2014-06-28 13:52   ` Jani Nikula
  2014-06-27 16:45 ` [PATCH 2/5] Acer C720 has a controllable backlight Scot Doyle
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 18+ messages in thread
From: Scot Doyle @ 2014-06-27 16:42 UTC (permalink / raw)
  To: intel-gfx, James Duley, Jani Nikula

Add a quirk to assert the presence of a controllable backlight. Use it to 
ignore the VBT backlight presence check during backlight setup.

Tested-by: James Duley <jagduley@gmail.com>
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8cea596..723b1fe 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -657,6 +657,7 @@ enum intel_sbi_destination {
  #define QUIRK_PIPEA_FORCE (1<<0)
  #define QUIRK_LVDS_SSC_DISABLE (1<<1)
  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
+#define QUIRK_BACKLIGHT_PRESENT (1<<3)

  struct intel_fbdev;
  struct intel_fbc_work;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 065984d..c583b07 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12290,6 +12290,14 @@ static void quirk_invert_brightness(struct drm_device *dev)
  	DRM_INFO("applying inverted panel brightness quirk\n");
  }

+/* Some VBT's incorrectly indicate no backlight is present */
+static void quirk_backlight_present(struct drm_device *dev)
+{
+	struct drm_i915_private *dev_priv = dev->dev_private;
+	dev_priv->quirks |= QUIRK_BACKLIGHT_PRESENT;
+	DRM_INFO("applying backlight present quirk\n");
+}
+
  struct intel_quirk {
  	int device;
  	int subsystem_vendor;
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 38a9857..dfc6b5f 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1118,8 +1118,13 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
  	int ret;

  	if (!dev_priv->vbt.backlight.present) {
-		DRM_DEBUG_KMS("native backlight control not available per VBT\n");
-		return 0;
+		if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) {
+			DRM_DEBUG_KMS("no backlight present per VBT, but "
+				      "present per quirk\n");
+		} else {
+			DRM_DEBUG_KMS("no backlight present per VBT\n");
+			return 0;
+		}
  	}

  	/* set level and max in panel struct */

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

* [PATCH 2/5] Acer C720 has a controllable backlight
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
  2014-06-27 16:42 ` [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT Scot Doyle
@ 2014-06-27 16:45 ` Scot Doyle
  2014-06-27 16:50 ` [PATCH 3/5] Dell 11 Chromebook " Scot Doyle
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-27 16:45 UTC (permalink / raw)
  To: intel-gfx, James Duley, Jani Nikula

The Acer C720 laptop has a controllable backlight although its VBT reports 
otherwise.

Tested-by: James Duley <jagduley@gmail.com>
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index c583b07..2855d29 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12366,6 +12366,9 @@ static struct intel_quirk intel_quirks[] = {

  	/* Acer Aspire 5336 */
  	{ 0x2a42, 0x1025, 0x048a, quirk_invert_brightness },
+
+	/* Acer C720 Chromebook has a controllable backlight */
+	{ 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
  };

  static void intel_init_quirks(struct drm_device *dev)

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

* [PATCH 3/5] Dell 11 Chromebook has a controllable backlight
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
  2014-06-27 16:42 ` [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT Scot Doyle
  2014-06-27 16:45 ` [PATCH 2/5] Acer C720 has a controllable backlight Scot Doyle
@ 2014-06-27 16:50 ` Scot Doyle
  2014-06-28 13:49   ` Jani Nikula
  2014-06-27 16:53 ` [PATCH 4/5] HP 14 " Scot Doyle
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 18+ messages in thread
From: Scot Doyle @ 2014-06-27 16:50 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula

The Dell 11 Chromebook laptop has a controllable backlight although its 
VBT reports otherwise.

Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 2855d29..2ac699b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12369,6 +12369,9 @@ static struct intel_quirk intel_quirks[] = {

  	/* Acer C720 Chromebook has a controllable backlight */
  	{ 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
+
+	/* Dell 11 Chromebook */
+	{ 0x0a06, 0x1028, 0x0a35, quirk_backlight_present },
  };

  static void intel_init_quirks(struct drm_device *dev)

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

* [PATCH 4/5] HP 14 Chromebook has a controllable backlight
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
                   ` (2 preceding siblings ...)
  2014-06-27 16:50 ` [PATCH 3/5] Dell 11 Chromebook " Scot Doyle
@ 2014-06-27 16:53 ` Scot Doyle
  2014-06-27 16:56 ` [PATCH 5/5] Toshiba CB35 " Scot Doyle
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-27 16:53 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula

The HP 14 (Celeron 2955U) Chromebook laptop has a controllable backlight 
although its VBT reports otherwise.

Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 2ac699b..89d9fe8 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12372,6 +12372,9 @@ static struct intel_quirk intel_quirks[] = {

  	/* Dell 11 Chromebook */
  	{ 0x0a06, 0x1028, 0x0a35, quirk_backlight_present },
+
+	/* HP 14 (Celeron 2955U) Chromebook */
+	{ 0x0a06, 0x103c, 0x21ed, quirk_backlight_present },
  };

  static void intel_init_quirks(struct drm_device *dev)

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

* [PATCH 5/5] Toshiba CB35 Chromebook has a controllable backlight
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
                   ` (3 preceding siblings ...)
  2014-06-27 16:53 ` [PATCH 4/5] HP 14 " Scot Doyle
@ 2014-06-27 16:56 ` Scot Doyle
  2014-06-28 13:54 ` [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Jani Nikula
  2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
  6 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-27 16:56 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula

The Toshiba CB35 Chromebook laptop has a controllable backlight although 
its VBT reports otherwise.

Patch tested by author on Toshiba CB35.

Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 89d9fe8..90c97d8 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12375,6 +12375,9 @@ static struct intel_quirk intel_quirks[] = {

  	/* HP 14 (Celeron 2955U) Chromebook */
  	{ 0x0a06, 0x103c, 0x21ed, quirk_backlight_present },
+
+	/* Toshiba CB35 Chromebook */
+	{ 0x0a06, 0x1179, 0x0a88, quirk_backlight_present },
  };

  static void intel_init_quirks(struct drm_device *dev)

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

* Re: [PATCH 3/5] Dell 11 Chromebook has a controllable backlight
  2014-06-27 16:50 ` [PATCH 3/5] Dell 11 Chromebook " Scot Doyle
@ 2014-06-28 13:49   ` Jani Nikula
  0 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2014-06-28 13:49 UTC (permalink / raw)
  To: Scot Doyle, intel-gfx

On Fri, 27 Jun 2014, Scot Doyle <lkml14@scotdoyle.com> wrote:
> The Dell 11 Chromebook laptop has a controllable backlight although its 
> VBT reports otherwise.
>
> Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
> CC: Jani Nikula <jani.nikula@intel.com>

Tested-bys on patches 3-4 would be awesome.

BR,
Jani.


> ---
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 2855d29..2ac699b 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12369,6 +12369,9 @@ static struct intel_quirk intel_quirks[] = {
>
>   	/* Acer C720 Chromebook has a controllable backlight */
>   	{ 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
> +
> +	/* Dell 11 Chromebook */
> +	{ 0x0a06, 0x1028, 0x0a35, quirk_backlight_present },
>   };
>
>   static void intel_init_quirks(struct drm_device *dev)
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

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

* Re: [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT
  2014-06-27 16:42 ` [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT Scot Doyle
@ 2014-06-28 13:52   ` Jani Nikula
  0 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2014-06-28 13:52 UTC (permalink / raw)
  To: Scot Doyle, intel-gfx, James Duley

On Fri, 27 Jun 2014, Scot Doyle <lkml14@scotdoyle.com> wrote:
> Add a quirk to assert the presence of a controllable backlight. Use it to 
> ignore the VBT backlight presence check during backlight setup.
>
> Tested-by: James Duley <jagduley@gmail.com>
> Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
> CC: Jani Nikula <jani.nikula@intel.com>
> ---
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 8cea596..723b1fe 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -657,6 +657,7 @@ enum intel_sbi_destination {
>   #define QUIRK_PIPEA_FORCE (1<<0)
>   #define QUIRK_LVDS_SSC_DISABLE (1<<1)
>   #define QUIRK_INVERT_BRIGHTNESS (1<<2)
> +#define QUIRK_BACKLIGHT_PRESENT (1<<3)
>
>   struct intel_fbdev;
>   struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 065984d..c583b07 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12290,6 +12290,14 @@ static void quirk_invert_brightness(struct drm_device *dev)
>   	DRM_INFO("applying inverted panel brightness quirk\n");
>   }
>
> +/* Some VBT's incorrectly indicate no backlight is present */
> +static void quirk_backlight_present(struct drm_device *dev)
> +{
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	dev_priv->quirks |= QUIRK_BACKLIGHT_PRESENT;
> +	DRM_INFO("applying backlight present quirk\n");
> +}
> +
>   struct intel_quirk {
>   	int device;
>   	int subsystem_vendor;
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 38a9857..dfc6b5f 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1118,8 +1118,13 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
>   	int ret;
>
>   	if (!dev_priv->vbt.backlight.present) {
> -		DRM_DEBUG_KMS("native backlight control not available per VBT\n");
> -		return 0;
> +		if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) {
> +			DRM_DEBUG_KMS("no backlight present per VBT, but "
> +				      "present per quirk\n");

Usually strings are not wrapped so that you can grep the source for
them.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


> +		} else {
> +			DRM_DEBUG_KMS("no backlight present per VBT\n");
> +			return 0;
> +		}
>   	}
>
>   	/* set level and max in panel struct */
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

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

* Re: [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
                   ` (4 preceding siblings ...)
  2014-06-27 16:56 ` [PATCH 5/5] Toshiba CB35 " Scot Doyle
@ 2014-06-28 13:54 ` Jani Nikula
  2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
  6 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2014-06-28 13:54 UTC (permalink / raw)
  To: Scot Doyle, intel-gfx, James Duley

On Fri, 27 Jun 2014, Scot Doyle <lkml14@scotdoyle.com> wrote:
> commit c675949ec58ca50d5a3ae3c757892f1560f6e896
>      drm/i915: do not setup backlight if not available according to VBT
>
> caused a regression on machines with a misconfigured VBT. Add a quirk to 
> assert the presence of a controllable backlight, overriding the VBT. Then 
> apply this quirk to four Haswell-based Chromebook laptops.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813

Oh, we'll want this stuff in the commit message of (at least) patch
1. No need to resend for this.

Thanks,
Jani.

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

-- 
Jani Nikula, Intel Open Source Technology Center

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

* [PATCH v2 0/3] drm/i915: fix backlight regression caused by misconfigured VBT
  2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
                   ` (5 preceding siblings ...)
  2014-06-28 13:54 ` [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Jani Nikula
@ 2014-06-30 15:53 ` Scot Doyle
  2014-06-30 15:55   ` [PATCH v2 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
                     ` (3 more replies)
  6 siblings, 4 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-30 15:53 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

Jani, here are the changes you suggested plus:

1) Against newer drm-intel-nightly
2) Added Acer C720P (touchscreen), tested by Michael
3) Removed HP 14 and Dell 11 Chromebooks since no testers yet
4) Clarified these are for the Haswell (Celeron 2955U) boards since upcoming Chromebooks may be same model with different board

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

* [PATCH v2 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT
  2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
@ 2014-06-30 15:55   ` Scot Doyle
  2014-06-30 15:59   ` [PATCH v2 2/3] drm/i915: Acer C720 and C720P have controllable backlights Scot Doyle
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-30 15:55 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

commit c675949ec58ca50d5a3ae3c757892f1560f6e896
      drm/i915: do not setup backlight if not available according to VBT

caused a regression on machines with a misconfigured VBT. Add a quirk to 
assert the presence of a controllable backlight. Use it to ignore the VBT 
backlight presence check during backlight setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813
Tested-by: James Duley <jagduley@gmail.com>
Tested-by: Michael Mullin <masmullin@gmail.com>
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8cea596..723b1fe 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -657,6 +657,7 @@ enum intel_sbi_destination {
  #define QUIRK_PIPEA_FORCE (1<<0)
  #define QUIRK_LVDS_SSC_DISABLE (1<<1)
  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
+#define QUIRK_BACKLIGHT_PRESENT (1<<3)

  struct intel_fbdev;
  struct intel_fbc_work;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3badfbd..7b5f193 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12315,6 +12315,14 @@ static void quirk_invert_brightness(struct drm_device *dev)
  	DRM_INFO("applying inverted panel brightness quirk\n");
  }

+/* Some VBT's incorrectly indicate no backlight is present */
+static void quirk_backlight_present(struct drm_device *dev)
+{
+	struct drm_i915_private *dev_priv = dev->dev_private;
+	dev_priv->quirks |= QUIRK_BACKLIGHT_PRESENT;
+	DRM_INFO("applying backlight present quirk\n");
+}
+
  struct intel_quirk {
  	int device;
  	int subsystem_vendor;
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 38a9857..628cd89 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1118,8 +1118,12 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
  	int ret;

  	if (!dev_priv->vbt.backlight.present) {
-		DRM_DEBUG_KMS("native backlight control not available per VBT\n");
-		return 0;
+		if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) {
+			DRM_DEBUG_KMS("no backlight present per VBT, but present per quirk\n");
+		} else {
+			DRM_DEBUG_KMS("no backlight present per VBT\n");
+			return 0;
+		}
  	}

  	/* set level and max in panel struct */

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

* [PATCH v2 2/3] drm/i915: Acer C720 and C720P have controllable backlights
  2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
  2014-06-30 15:55   ` [PATCH v2 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
@ 2014-06-30 15:59   ` Scot Doyle
  2014-06-30 16:02   ` [PATCH v2 3/3] drm/i915: Toshiba CB35 has a controllable backlight Scot Doyle
  2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
  3 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-30 15:59 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

The Acer C720 and C720P Chromebooks (with Celeron 2955U CPU) have a 
controllable backlight although their VBT reports otherwise. Apply quirk 
to ignore the backlight presence check during backlight setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813
Tested-by: James Duley <jagduley@gmail.com>
Tested-by: Michael Mullin <masmullin@gmail.com>
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7b5f193..18089bf 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12391,6 +12391,9 @@ static struct intel_quirk intel_quirks[] = {

  	/* Acer Aspire 5336 */
  	{ 0x2a42, 0x1025, 0x048a, quirk_invert_brightness },
+
+        /* Acer C720 and C720P Chromebooks (Celeron 2955U) have backlights */
+        { 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
  };

  static void intel_init_quirks(struct drm_device *dev)

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

* [PATCH v2 3/3] drm/i915: Toshiba CB35 has a controllable backlight
  2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
  2014-06-30 15:55   ` [PATCH v2 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
  2014-06-30 15:59   ` [PATCH v2 2/3] drm/i915: Acer C720 and C720P have controllable backlights Scot Doyle
@ 2014-06-30 16:02   ` Scot Doyle
  2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
  3 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-06-30 16:02 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula

The Toshiba CB35 Chromebook (with Celeron 2955U CPU) has a controllable 
backlight although its VBT reports otherwise. Apply quirk to ignore the 
backlight presence check during backlight setup.

Patch tested by author on Toshiba CB35.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 18089bf..b3a99e9 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12394,6 +12394,9 @@ static struct intel_quirk intel_quirks[] = {

          /* Acer C720 and C720P Chromebooks (Celeron 2955U) have backlights */
          { 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
+
+        /* Toshiba CB35 Chromebook (Celeron 2955U) */
+        { 0x0a06, 0x1179, 0x0a88, quirk_backlight_present },
  };

  static void intel_init_quirks(struct drm_device *dev)

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

* [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT
  2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
                     ` (2 preceding siblings ...)
  2014-06-30 16:02   ` [PATCH v2 3/3] drm/i915: Toshiba CB35 has a controllable backlight Scot Doyle
@ 2014-07-03 23:27   ` Scot Doyle
  2014-07-03 23:27     ` [PATCH v3 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
                       ` (3 more replies)
  3 siblings, 4 replies; 18+ messages in thread
From: Scot Doyle @ 2014-07-03 23:27 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

Submitted with git to correct whitespace problems.

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

* [PATCH v3 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT
  2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
@ 2014-07-03 23:27     ` Scot Doyle
  2014-07-03 23:27     ` [PATCH v3 2/3] drm/i915: Acer C720 and C720P have controllable backlights Scot Doyle
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-07-03 23:27 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

commit c675949ec58ca50d5a3ae3c757892f1560f6e896
      drm/i915: do not setup backlight if not available according to VBT

caused a regression on machines with a misconfigured VBT. Add a quirk to
assert the presence of a controllable backlight. Use it to ignore the VBT
backlight presence check during backlight setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813
Tested-by: James Duley <jagduley@gmail.com>
Tested-by: Michael Mullin <masmullin@gmail.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
---
 drivers/gpu/drm/i915/i915_drv.h      |    1 +
 drivers/gpu/drm/i915/intel_display.c |    8 ++++++++
 drivers/gpu/drm/i915/intel_panel.c   |    8 ++++++--
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9953ea8..ac06c0f 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -658,6 +658,7 @@ enum intel_sbi_destination {
 #define QUIRK_PIPEA_FORCE (1<<0)
 #define QUIRK_LVDS_SSC_DISABLE (1<<1)
 #define QUIRK_INVERT_BRIGHTNESS (1<<2)
+#define QUIRK_BACKLIGHT_PRESENT (1<<3)
 
 struct intel_fbdev;
 struct intel_fbc_work;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a72b55f..fae289f 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12315,6 +12315,14 @@ static void quirk_invert_brightness(struct drm_device *dev)
 	DRM_INFO("applying inverted panel brightness quirk\n");
 }
 
+/* Some VBT's incorrectly indicate no backlight is present */
+static void quirk_backlight_present(struct drm_device *dev)
+{
+	struct drm_i915_private *dev_priv = dev->dev_private;
+	dev_priv->quirks |= QUIRK_BACKLIGHT_PRESENT;
+	DRM_INFO("applying backlight present quirk\n");
+}
+
 struct intel_quirk {
 	int device;
 	int subsystem_vendor;
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 38a9857..628cd89 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1118,8 +1118,12 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
 	int ret;
 
 	if (!dev_priv->vbt.backlight.present) {
-		DRM_DEBUG_KMS("native backlight control not available per VBT\n");
-		return 0;
+		if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) {
+			DRM_DEBUG_KMS("no backlight present per VBT, but present per quirk\n");
+		} else {
+			DRM_DEBUG_KMS("no backlight present per VBT\n");
+			return 0;
+		}
 	}
 
 	/* set level and max in panel struct */
-- 
1.7.10.4

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

* [PATCH v3 2/3] drm/i915: Acer C720 and C720P have controllable backlights
  2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
  2014-07-03 23:27     ` [PATCH v3 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
@ 2014-07-03 23:27     ` Scot Doyle
  2014-07-03 23:27     ` [PATCH v3 3/3] drm/i915: Toshiba CB35 has a controllable backlight Scot Doyle
  2014-07-04 12:17     ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Jani Nikula
  3 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-07-03 23:27 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

The Acer C720 and C720P Chromebooks (with Celeron 2955U CPU) have a
controllable backlight although their VBT reports otherwise. Apply quirk
to ignore the backlight presence check during backlight setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813
Tested-by: James Duley <jagduley@gmail.com>
Tested-by: Michael Mullin <masmullin@gmail.com>
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index fae289f..7345441 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12391,6 +12391,9 @@ static struct intel_quirk intel_quirks[] = {
 
 	/* Acer Aspire 5336 */
 	{ 0x2a42, 0x1025, 0x048a, quirk_invert_brightness },
+
+	/* Acer C720 and C720P Chromebooks (Celeron 2955U) have backlights */
+	{ 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
-- 
1.7.10.4

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

* [PATCH v3 3/3] drm/i915: Toshiba CB35 has a controllable backlight
  2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
  2014-07-03 23:27     ` [PATCH v3 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
  2014-07-03 23:27     ` [PATCH v3 2/3] drm/i915: Acer C720 and C720P have controllable backlights Scot Doyle
@ 2014-07-03 23:27     ` Scot Doyle
  2014-07-04 12:17     ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Jani Nikula
  3 siblings, 0 replies; 18+ messages in thread
From: Scot Doyle @ 2014-07-03 23:27 UTC (permalink / raw)
  To: intel-gfx, James Duley, Michael Mullin, Jani Nikula

The Toshiba CB35 Chromebook (with Celeron 2955U CPU) has a controllable
backlight although its VBT reports otherwise. Apply quirk to ignore the
backlight presence check during backlight setup.

Patch tested by author on Toshiba CB35.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79813
Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
CC: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7345441..c12a5da 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12394,6 +12394,9 @@ static struct intel_quirk intel_quirks[] = {
 
 	/* Acer C720 and C720P Chromebooks (Celeron 2955U) have backlights */
 	{ 0x0a06, 0x1025, 0x0a11, quirk_backlight_present },
+
+	/* Toshiba CB35 Chromebook (Celeron 2955U) */
+	{ 0x0a06, 0x1179, 0x0a88, quirk_backlight_present },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
-- 
1.7.10.4

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

* Re: [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT
  2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
                       ` (2 preceding siblings ...)
  2014-07-03 23:27     ` [PATCH v3 3/3] drm/i915: Toshiba CB35 has a controllable backlight Scot Doyle
@ 2014-07-04 12:17     ` Jani Nikula
  3 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2014-07-04 12:17 UTC (permalink / raw)
  To: Scot Doyle, intel-gfx, James Duley, Michael Mullin

On Fri, 04 Jul 2014, Scot Doyle <lkml14@scotdoyle.com> wrote:
> Submitted with git to correct whitespace problems.

Pushed to drm-intel-fixes, thanks for the patches.

BR,
Jani.

-- 
Jani Nikula, Intel Open Source Technology Center

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

end of thread, other threads:[~2014-07-04 12:17 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-27 16:38 [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Scot Doyle
2014-06-27 16:42 ` [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT Scot Doyle
2014-06-28 13:52   ` Jani Nikula
2014-06-27 16:45 ` [PATCH 2/5] Acer C720 has a controllable backlight Scot Doyle
2014-06-27 16:50 ` [PATCH 3/5] Dell 11 Chromebook " Scot Doyle
2014-06-28 13:49   ` Jani Nikula
2014-06-27 16:53 ` [PATCH 4/5] HP 14 " Scot Doyle
2014-06-27 16:56 ` [PATCH 5/5] Toshiba CB35 " Scot Doyle
2014-06-28 13:54 ` [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT Jani Nikula
2014-06-30 15:53 ` [PATCH v2 0/3] drm/i915: fix " Scot Doyle
2014-06-30 15:55   ` [PATCH v2 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
2014-06-30 15:59   ` [PATCH v2 2/3] drm/i915: Acer C720 and C720P have controllable backlights Scot Doyle
2014-06-30 16:02   ` [PATCH v2 3/3] drm/i915: Toshiba CB35 has a controllable backlight Scot Doyle
2014-07-03 23:27   ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Scot Doyle
2014-07-03 23:27     ` [PATCH v3 1/3] drm/i915: quirk asserts controllable backlight presence, overriding VBT Scot Doyle
2014-07-03 23:27     ` [PATCH v3 2/3] drm/i915: Acer C720 and C720P have controllable backlights Scot Doyle
2014-07-03 23:27     ` [PATCH v3 3/3] drm/i915: Toshiba CB35 has a controllable backlight Scot Doyle
2014-07-04 12:17     ` [PATCH v3 0/3] drm/i915: fix backlight regression caused by misconfigured VBT Jani Nikula

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.