From Mark Hawrylak <mark.hawrylak@xxxxxxxxx>
Apple iMac11,2 (mid 2010) also with Radeon HD-4670 that has the same
issue as iMac10,1 (late 2009) where the internal eDP panel stays dark on
driver load. This patch treats iMac11,2 the same as iMac10,1,
so the eDP panel stays active.
Additional steps:
Kernel boot parameter radeon.nomodeset=0 required to keep the eDP
panel active.
This patch is an extension of the commit 564d8a2cf3abf16575af48bdc3e86e92ee8a617d
Subject: [PATCH 3.16 100/192] drm/radeon: Fix eDP for single-display iMac10,1 (v2)
Date: Mon, 09 Oct 2017 13:44:24 +0100 [thread overview]
https://lore.kernel.org/all/lsq.1507553064.833262317@xxxxxxxxxxxxxxx/
By making a contribution to this project, I certify that:
The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
Signed-off-by: Mark Hawrylak <mark.hawrylak@xxxxxxxxx>
---
--- linux/drivers/gpu/drm/radeon/atombios_encoders.c.orig 2023-02-19 14:03:03.126499290 +1100
+++ linux/drivers/gpu/drm/radeon/atombios_encoders.c 2023-02-19 14:04:15.449831506 +1100
@@ -2122,11 +2122,11 @@ int radeon_atom_pick_dig_encoder(struct
/*
* On DCE32 any encoder can drive any block so usually just use crtc id,
- * but Apple thinks different at least on iMac10,1, so there use linkb,
+ * but Apple thinks different at least on iMac10,1 and iMac11,2, so there use linkb,
* otherwise the internal eDP panel will stay dark.
*/
if (ASIC_IS_DCE32(rdev)) {
- if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1"))
+ if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1") || dmi_match(DMI_PRODUCT_NAME, "iMac11,2"))
enc_idx = (dig->linkb) ? 1 : 0;
else
enc_idx = radeon_crtc->crtc_id;
--
Regards
Mark Hawrylak
0425 714 725
Apple iMac11,2 (mid 2010) also with Radeon HD-4670 that has the same
issue as iMac10,1 (late 2009) where the internal eDP panel stays dark on
driver load. This patch treats iMac11,2 the same as iMac10,1,
so the eDP panel stays active.
Additional steps:
Kernel boot parameter radeon.nomodeset=0 required to keep the eDP
panel active.
This patch is an extension of the commit 564d8a2cf3abf16575af48bdc3e86e92ee8a617d
Subject: [PATCH 3.16 100/192] drm/radeon: Fix eDP for single-display iMac10,1 (v2)
Date: Mon, 09 Oct 2017 13:44:24 +0100 [thread overview]
https://lore.kernel.org/all/lsq.1507553064.833262317@xxxxxxxxxxxxxxx/
By making a contribution to this project, I certify that:
The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
Signed-off-by: Mark Hawrylak <mark.hawrylak@xxxxxxxxx>
---
--- linux/drivers/gpu/drm/radeon/atombios_encoders.c.orig 2023-02-19 14:03:03.126499290 +1100
+++ linux/drivers/gpu/drm/radeon/atombios_encoders.c 2023-02-19 14:04:15.449831506 +1100
@@ -2122,11 +2122,11 @@ int radeon_atom_pick_dig_encoder(struct
/*
* On DCE32 any encoder can drive any block so usually just use crtc id,
- * but Apple thinks different at least on iMac10,1, so there use linkb,
+ * but Apple thinks different at least on iMac10,1 and iMac11,2, so there use linkb,
* otherwise the internal eDP panel will stay dark.
*/
if (ASIC_IS_DCE32(rdev)) {
- if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1"))
+ if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1") || dmi_match(DMI_PRODUCT_NAME, "iMac11,2"))
enc_idx = (dig->linkb) ? 1 : 0;
else
enc_idx = radeon_crtc->crtc_id;
--
0425 714 725