* [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2
@ 2012-03-27 7:18 Daniel Vetter
2012-04-01 10:51 ` Chris Wilson
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Vetter @ 2012-03-27 7:18 UTC (permalink / raw)
To: Intel Graphics Development; +Cc: Daniel Vetter
When booting with EFI, Apple botched this one up.
Tested-by: Austin Lund <austin.lund@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42842
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/i915/intel_display.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a7c2ddc..ae1d611 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -24,6 +24,7 @@
* Eric Anholt <eric@anholt.net>
*/
+#include <linux/dmi.h>
#include <linux/cpufreq.h>
#include <linux/module.h>
#include <linux/input.h>
@@ -360,6 +361,24 @@ static const intel_limit_t intel_limits_ironlake_display_port = {
.find_pll = intel_find_pll_ironlake_dp,
};
+static int intel_dual_link_lvds_callback(const struct dmi_system_id *id)
+{
+ DRM_DEBUG_KMS("Forcing lvds to dual link mode on %s\n", id->ident);
+ return 1;
+}
+
+static const struct dmi_system_id intel_dual_link_lvds[] = {
+ {
+ .callback = intel_dual_link_lvds_callback,
+ .ident = "Apple MacBook Pro (Core i7)",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro8,2"),
+ },
+ },
+ { } /* terminating entry */
+};
+
static bool is_dual_link_lvds(struct drm_i915_private *dev_priv,
unsigned int reg)
{
@@ -369,6 +388,9 @@ static bool is_dual_link_lvds(struct drm_i915_private *dev_priv,
if (i915_lvds_channel_mode > 0)
return i915_lvds_channel_mode == 2;
+ if (dmi_check_system(intel_dual_link_lvds))
+ return true;
+
if (dev_priv->lvds_val)
val = dev_priv->lvds_val;
else {
--
1.7.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2
2012-03-27 7:18 [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2 Daniel Vetter
@ 2012-04-01 10:51 ` Chris Wilson
0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2012-04-01 10:51 UTC (permalink / raw)
To: Intel Graphics Development; +Cc: Daniel Vetter
On Tue, 27 Mar 2012 09:18:20 +0200, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> When booting with EFI, Apple botched this one up.
>
> Tested-by: Austin Lund <austin.lund@gmail.com>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42842
> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I'm not impressed, but it seems to be a sad reality of the world.
I think the ident is both too lax and too specific. The Core i7 moniker
would seem to exclude the i5 processors Apple also uses, and the Pro
range is wide enough that there might be a model with a single-link
LVDS. I'm not sure if this will fix one machine only to break others.
Wider testing required.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2
2012-04-01 11:19 [PATCH 2/2] " Chris Wilson
@ 2012-04-01 11:38 ` Daniel Vetter
2012-04-01 14:08 ` Chris Wilson
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Vetter @ 2012-04-01 11:38 UTC (permalink / raw)
To: Intel Graphics Development; +Cc: Daniel Vetter
When booting with EFI, Apple botched this one up.
v2: Switch the quirk dmesg output to DRM_INFO.
v3: Actually git add the new things ...
Tested-by: Austin Lund <austin.lund@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42842
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/i915/intel_display.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 5baa896..3abebb5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -24,6 +24,7 @@
* Eric Anholt <eric@anholt.net>
*/
+#include <linux/dmi.h>
#include <linux/cpufreq.h>
#include <linux/module.h>
#include <linux/input.h>
@@ -418,6 +419,24 @@ static void vlv_init_dpio(struct drm_device *dev)
POSTING_READ(DPIO_CTL);
}
+static int intel_dual_link_lvds_callback(const struct dmi_system_id *id)
+{
+ DRM_INFO("Forcing lvds to dual link mode on %s\n", id->ident);
+ return 1;
+}
+
+static const struct dmi_system_id intel_dual_link_lvds[] = {
+ {
+ .callback = intel_dual_link_lvds_callback,
+ .ident = "Apple MacBook Pro (Core i5/i7 Series)",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro8,2"),
+ },
+ },
+ { } /* terminating entry */
+};
+
static bool is_dual_link_lvds(struct drm_i915_private *dev_priv,
unsigned int reg)
{
@@ -427,6 +446,9 @@ static bool is_dual_link_lvds(struct drm_i915_private *dev_priv,
if (i915_lvds_channel_mode > 0)
return i915_lvds_channel_mode == 2;
+ if (dmi_check_system(intel_dual_link_lvds))
+ return true;
+
if (dev_priv->lvds_val)
val = dev_priv->lvds_val;
else {
--
1.7.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2
2012-04-01 11:38 ` [PATCH] " Daniel Vetter
@ 2012-04-01 14:08 ` Chris Wilson
2012-04-03 20:33 ` Daniel Vetter
0 siblings, 1 reply; 5+ messages in thread
From: Chris Wilson @ 2012-04-01 14:08 UTC (permalink / raw)
To: Intel Graphics Development; +Cc: Daniel Vetter
On Sun, 1 Apr 2012 13:38:50 +0200, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> When booting with EFI, Apple botched this one up.
>
> v2: Switch the quirk dmesg output to DRM_INFO.
> v3: Actually git add the new things ...
>
> Tested-by: Austin Lund <austin.lund@gmail.com>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42842
> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Having discussed this with Daniel on irc, MacBookPro8,2 seems to be as
much information as we have available, so
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Hopefully nobody gets caught out by this, but for anybody so unfortunate
we should be able to spot the regression in the logs quickly.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2
2012-04-01 14:08 ` Chris Wilson
@ 2012-04-03 20:33 ` Daniel Vetter
0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2012-04-03 20:33 UTC (permalink / raw)
To: Chris Wilson; +Cc: Daniel Vetter, Intel Graphics Development
On Sun, Apr 01, 2012 at 03:08:36PM +0100, Chris Wilson wrote:
> On Sun, 1 Apr 2012 13:38:50 +0200, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > When booting with EFI, Apple botched this one up.
> >
> > v2: Switch the quirk dmesg output to DRM_INFO.
> > v3: Actually git add the new things ...
> >
> > Tested-by: Austin Lund <austin.lund@gmail.com>
> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42842
> > Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> Having discussed this with Daniel on irc, MacBookPro8,2 seems to be as
> much information as we have available, so
> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
>
> Hopefully nobody gets caught out by this, but for anybody so unfortunate
> we should be able to spot the regression in the logs quickly.
I've picked these 2 patches up for next, thanks for suggestions and
review.
-Daniel
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-04-03 20:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-27 7:18 [PATCH] drm/i915: Add a dual link lvds quirk for MacBook Pro 8, 2 Daniel Vetter
2012-04-01 10:51 ` Chris Wilson
-- strict thread matches above, loose matches on Subject: below --
2012-04-01 11:19 [PATCH 2/2] " Chris Wilson
2012-04-01 11:38 ` [PATCH] " Daniel Vetter
2012-04-01 14:08 ` Chris Wilson
2012-04-03 20:33 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox