Hi All,
This patch series (which I'm forwarding from the intel-gfx mailing list) fixes
a bunch of backlight regressions in 3.15+ and as such should probably
be added to the stabilization branch.
I expect these to land in 3.16 soon enough, but just to be sure we should
keep an eye on that too.
Regards,
Hans
--- Begin Message ---
- Subject: [Intel-gfx] [PATCH 0/5] drm/i915: Fix backlight regression caused by misconfigured VBT
- From: Scot Doyle <lkml14@xxxxxxxxxxxxx>
- Date: Fri, 27 Jun 2014 17:38:10 +0100 (BST)
- Delivered-to: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
- User-agent: Alpine 2.02 (DEB 1266 2009-07-14)
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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--- End Message ---
--- Begin Message ---
- Subject: [Intel-gfx] [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT
- From: Scot Doyle <lkml14@xxxxxxxxxxxxx>
- Date: Fri, 27 Jun 2014 17:42:28 +0100 (BST)
- Delivered-to: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
- In-reply-to: <alpine.DEB.2.02.1406271732160.6382@scotdoyle.com>
- User-agent: Alpine 2.02 (DEB 1266 2009-07-14)
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@xxxxxxxxx>
Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx>
CC: Jani Nikula <jani.nikula@xxxxxxxxx>
---
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 */
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--- End Message ---
--- Begin Message ---
- Subject: [Intel-gfx] [PATCH 2/5] Acer C720 has a controllable backlight
- From: Scot Doyle <lkml14@xxxxxxxxxxxxx>
- Date: Fri, 27 Jun 2014 17:45:05 +0100 (BST)
- Delivered-to: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
- In-reply-to: <alpine.DEB.2.02.1406271732160.6382@scotdoyle.com>
- User-agent: Alpine 2.02 (DEB 1266 2009-07-14)
The Acer C720 laptop has a controllable backlight although its VBT reports
otherwise.
Tested-by: James Duley <jagduley@xxxxxxxxx>
Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx>
CC: Jani Nikula <jani.nikula@xxxxxxxxx>
---
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)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--- End Message ---
--- Begin Message ---
- Subject: [Intel-gfx] [PATCH 3/5] Dell 11 Chromebook has a controllable backlight
- From: Scot Doyle <lkml14@xxxxxxxxxxxxx>
- Date: Fri, 27 Jun 2014 17:50:31 +0100 (BST)
- Delivered-to: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
- In-reply-to: <alpine.DEB.2.02.1406271732160.6382@scotdoyle.com>
- User-agent: Alpine 2.02 (DEB 1266 2009-07-14)
The Dell 11 Chromebook laptop has a controllable backlight although its
VBT reports otherwise.
Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx>
CC: Jani Nikula <jani.nikula@xxxxxxxxx>
---
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@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--- End Message ---
--- Begin Message ---
- Subject: [Intel-gfx] [PATCH 4/5] HP 14 Chromebook has a controllable backlight
- From: Scot Doyle <lkml14@xxxxxxxxxxxxx>
- Date: Fri, 27 Jun 2014 17:53:36 +0100 (BST)
- Delivered-to: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
- In-reply-to: <alpine.DEB.2.02.1406271732160.6382@scotdoyle.com>
- User-agent: Alpine 2.02 (DEB 1266 2009-07-14)
The HP 14 (Celeron 2955U) Chromebook laptop has a controllable backlight
although its VBT reports otherwise.
Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx>
CC: Jani Nikula <jani.nikula@xxxxxxxxx>
---
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)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--- End Message ---
--- Begin Message ---
- Subject: [Intel-gfx] [PATCH 5/5] Toshiba CB35 Chromebook has a controllable backlight
- From: Scot Doyle <lkml14@xxxxxxxxxxxxx>
- Date: Fri, 27 Jun 2014 17:56:03 +0100 (BST)
- Delivered-to: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
- In-reply-to: <alpine.DEB.2.02.1406271732160.6382@scotdoyle.com>
- User-agent: Alpine 2.02 (DEB 1266 2009-07-14)
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@xxxxxxxxxxxxx>
CC: Jani Nikula <jani.nikula@xxxxxxxxx>
---
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)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--- End Message ---
_______________________________________________
kernel mailing list
kernel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/kernel