FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 09-25-2012, 10:23 AM
Jesse Sung
 
Default UBUNTU: SAUCE: drm/i915: Explicitly disable RC6 for certain models

From: Wen-chien Jesse Sung <jesse.sung@canonical.com>

BugLink: https://launchpad.net/bugs/1002170
BugLink: https://launchpad.net/bugs/1008867

Upstream BugLinks:
https://bugs.freedesktop.org/show_bug.cgi?id=50545
https://bugs.freedesktop.org/show_bug.cgi?id=54739

Enabling RC6 may cause system hang on Lenovo S510 after idle for
a while. It also makes Asus ET2012E sometimes fail to resume from
suspend.

Although upstream developers would like to figure out the root cause,
but it may take time. We may disable RC6 on these models before
the root cause is found.

Wen-chien Jesse Sung (1):
UBUNTU: SAUCE: drm/i915: Explicitly disable RC6 for certain models

drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_display.c | 18 ++++++++++++++++++
2 files changed, 19 insertions(+)

--
1.7.9.5


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 09-25-2012, 10:23 AM
Jesse Sung
 
Default UBUNTU: SAUCE: drm/i915: Explicitly disable RC6 for certain models

From: Wen-chien Jesse Sung <jesse.sung@canonical.com>

BugLink: https://launchpad.net/bugs/1002170
BugLink: https://launchpad.net/bugs/1008867

Enabling RC6 may cause system hang on Lenovo S510 after idle for
a while. It also makes Asus ET2012E sometimes fail to resume from
suspend. Explicitly disable RC6 on these models.

Signed-off-by: Wen-chien Jesse Sung <jesse.sung@canonical.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_display.c | 18 ++++++++++++++++++
2 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index c364358..f50e55b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -274,6 +274,7 @@ enum intel_pch {

#define QUIRK_PIPEA_FORCE (1<<0)
#define QUIRK_LVDS_SSC_DISABLE (1<<1)
+#define QUIRK_RC6_DISABLE (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 0bb09a0..b9e9bd6 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7983,12 +7983,17 @@ void intel_init_emon(struct drm_device *dev)

static bool intel_enable_rc6(struct drm_device *dev)
{
+ struct drm_i915_private *dev_priv = dev->dev_private;
+
/*
* Respect the kernel parameter if it is set
*/
if (i915_enable_rc6 >= 0)
return i915_enable_rc6;

+ if (dev_priv->quirks & QUIRK_RC6_DISABLE)
+ return 0;
+
/*
* Disable RC6 on Ironlake
*/
@@ -8795,6 +8800,13 @@ static void quirk_ssc_force_disable(struct drm_device *dev)
dev_priv->quirks |= QUIRK_LVDS_SSC_DISABLE;
}

+static void quirk_rc6_force_disable(struct drm_device *dev)
+{
+ struct drm_i915_private *dev_priv = dev->dev_private;
+ dev_priv->quirks |= QUIRK_RC6_DISABLE;
+ DRM_INFO("applying RC6 disable quirk
");
+}
+
struct intel_quirk {
int device;
int subsystem_vendor;
@@ -8827,6 +8839,12 @@ struct intel_quirk intel_quirks[] = {

/* Sony Vaio Y cannot use SSC on LVDS */
{ 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable },
+
+ /* Asus ET2012E may fail to resume from S3 if RC6 is enabled */
+ { 0x0102, 0x1043, 0x844d, quirk_rc6_force_disable },
+
+ /* Lenovo ThinkCentre S510 may hang after idle for a long time */
+ { 0x0102, 0x17aa, 0x307b, quirk_rc6_force_disable },
};

static void intel_init_quirks(struct drm_device *dev)
--
1.7.9.5


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 08:01 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org