| From 05eacc198c68cbb35a7281ce4011f8899ee1cfb8 Mon Sep 17 00:00:00 2001 |
| From: Mark Hawrylak <mark.hawrylak@gmail.com> |
| Date: Sun, 19 Feb 2023 16:02:00 +1100 |
| Subject: drm/radeon: Fix eDP for single-display iMac11,2 |
| |
| From: Mark Hawrylak <mark.hawrylak@gmail.com> |
| |
| commit 05eacc198c68cbb35a7281ce4011f8899ee1cfb8 upstream. |
| |
| 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 |
| commit 564d8a2cf3ab ("drm/radeon: Fix eDP for single-display iMac10,1 (v2)") |
| Link: https://lore.kernel.org/all/lsq.1507553064.833262317@decadent.org.uk/ |
| Signed-off-by: Mark Hawrylak <mark.hawrylak@gmail.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/gpu/drm/radeon/atombios_encoders.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/atombios_encoders.c |
| +++ b/drivers/gpu/drm/radeon/atombios_encoders.c |
| @@ -2188,11 +2188,12 @@ 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; |