Re: Thunderbolt DP oddity on v5.2.9 on iMac 12,2

From: Mika Westerberg
Date: Wed Aug 28 2019 - 03:33:08 EST


On Wed, Aug 28, 2019 at 03:09:07PM +0800, Brad Campbell wrote:
> G'day All,

Hi,

> 5.2 is the first kernel that has allowed me to use 2 Apple Thunderbolt
> display on a 2011 vintage iMac. Awesome work and many thanks!
>
> I boot this machine in BIOS (Bootcamp) mode as that gave me brightness
> control over the internal panel.
>
> I've been using it with a Thunderbolt display and a standard DVI display
> since 2012 as the Apple firmware would only set up a single Thunderbolt
> display at bootup. Didn't find that out until I'd bought a second one and
> kept it around as a spare.
>
> When I saw the changelog for 5.2 I thought I'd see if it would run 2
> Thnunderbolt displays, and it does after a minor fiddle. I have tried this
> with the Kanex adapter unplugged just for completeness. No change.
>
> When I boot the machine it picks up both displays :
>
> [ 1.072080] thunderbolt 0-1: new device found, vendor=0x1 device=0x8002
> [ 1.072086] thunderbolt 0-1: Apple, Inc. Thunderbolt Display
> [ 1.392076] random: crng init done
> [ 1.595609] thunderbolt 0-3: new device found, vendor=0x1 device=0x8002
> [ 1.595615] thunderbolt 0-3: Apple, Inc. Thunderbolt Display
> [ 1.905117] thunderbolt 0-303: new device found, vendor=0xa7 device=0x4
> [ 1.905121] thunderbolt 0-303: Kanex Thunderbolt to eSATA+USB3.0 Adapter
> [ 1.910098] thunderbolt 0000:07:00.0: 0:c: path does not end on a DP
> adapter, cleaning up
>
> Display 0-3 works. Display 0-1 remains blank.
>
> If I unplug 0-1 and re-plug it, it is detected and comes up perfectly.

Can you add "thunderbolt.dyndbg" to the kernel command line and
reproduce this? That gives bit more information what might be happening.

I'm suspecting that the boot firmware does configure second DP path also
and we either fail to discover it properly or the boot firmware fails to
set it up.

Also if you boot with one monitor connected and then connect another
(when the system is up) does it work then?