Skip to content

Commit 3916e3f

Browse files
l1kjnikula
authored andcommitted
drm/i915: Add missing MacBook Pro models with dual channel LVDS
Single channel LVDS maxes out at 112 MHz. The 15" pre-retina models shipped with 1440x900 (106 MHz) by default or 1680x1050 (119 MHz) as a BTO option, both versions used dual channel LVDS even though the smaller one would have fit into a single channel. Notes: Bug report showing that the MacBookPro8,2 with 1440x900 uses dual channel LVDS (this lead to it being hardcoded in intel_lvds.c by Daniel Vetter with commit 618563e): https://bugzilla.kernel.org/show_bug.cgi?id=42842 If i915.lvds_channel_mode=2 is missing even though the machine needs it, every other vertical line is white and consequently, only the left half of the screen is visible (verified by myself on a MacBookPro9,1). Forum posting concerning a MacBookPro6,2 with 1440x900, author is using i915.lvds_channel_mode=2 on the kernel command line, proving that the machine uses dual channels: https://bbs.archlinux.org/viewtopic.php?id=185770 Chi Mei N154C6-L04 with 1440x900 is a replacement panel for all MacBook Pro "A1286" models, and that model number encompasses the MacBookPro6,2 / 8,2 / 9,1. Page 17 of the panel's datasheet shows it's driven with dual channel LVDS: http://www.ebay.com/itm/-/400690878560 http://www.everymac.com/ultimate-mac-lookup/?search_keywords=A1286 http://www.taopanel.com/chimei/datasheet/N154C6-L04.pdf Those three 15" models, MacBookPro6,2 / 8,2 / 9,1, are the only ones with i915 graphics and dual channel LVDS, so that list should be complete. And the 8,2 is already in intel_lvds.c. Possible motivation to use dual channel LVDS even on the 1440x900 models: Reduce the number of different parts, i.e. use identical logic boards and display cabling on both versions and the only differing component is the panel. Signed-off-by: Lukas Wunner <lukas@wunner.de> Acked-by: Jani Nikula <jani.nikula@intel.com> Cc: stable@vger.kernel.org [Jani: included notes in the commit message for posterity] Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent 6f317cf commit 3916e3f

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

drivers/gpu/drm/i915/intel_lvds.c

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -813,12 +813,28 @@ static int intel_dual_link_lvds_callback(const struct dmi_system_id *id)
813813
static const struct dmi_system_id intel_dual_link_lvds[] = {
814814
{
815815
.callback = intel_dual_link_lvds_callback,
816-
.ident = "Apple MacBook Pro (Core i5/i7 Series)",
816+
.ident = "Apple MacBook Pro 15\" (2010)",
817+
.matches = {
818+
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
819+
DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro6,2"),
820+
},
821+
},
822+
{
823+
.callback = intel_dual_link_lvds_callback,
824+
.ident = "Apple MacBook Pro 15\" (2011)",
817825
.matches = {
818826
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
819827
DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro8,2"),
820828
},
821829
},
830+
{
831+
.callback = intel_dual_link_lvds_callback,
832+
.ident = "Apple MacBook Pro 15\" (2012)",
833+
.matches = {
834+
DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
835+
DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro9,1"),
836+
},
837+
},
822838
{ } /* terminating entry */
823839
};
824840

0 commit comments

Comments
 (0)