]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge branch 'drm-next-4.13' of git://people.freedesktop.org/~agd5f/linux into drm...
authorDave Airlie <airlied@redhat.com>
Thu, 13 Jul 2017 03:38:22 +0000 (13:38 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 13 Jul 2017 03:38:22 +0000 (13:38 +1000)
single r700 fix.
* 'drm-next-4.13' of git://people.freedesktop.org/~agd5f/linux:
  drm/radeon: Fix eDP for single-display iMac10,1 (v2)

drivers/gpu/drm/radeon/atombios_encoders.c

index fa4f8f008e4dc3d93a799e6925c430e3d2e999ea..e67ed383e11b124fc34a63b9d27d42071f15365d 100644 (file)
@@ -31,6 +31,7 @@
 #include "radeon_asic.h"
 #include "atom.h"
 #include <linux/backlight.h>
+#include <linux/dmi.h>
 
 extern int atom_debug;
 
@@ -2184,9 +2185,17 @@ int radeon_atom_pick_dig_encoder(struct drm_encoder *encoder, int fe_idx)
                goto assigned;
        }
 
-       /* on DCE32 and encoder can driver any block so just crtc id */
+       /*
+        * 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,
+        * otherwise the internal eDP panel will stay dark.
+        */
        if (ASIC_IS_DCE32(rdev)) {
-               enc_idx = radeon_crtc->crtc_id;
+               if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1"))
+                       enc_idx = (dig->linkb) ? 1 : 0;
+               else
+                       enc_idx = radeon_crtc->crtc_id;
+
                goto assigned;
        }