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

From: Mika Westerberg
Date: Wed Aug 28 2019 - 06:23:47 EST


On Wed, Aug 28, 2019 at 05:12:00PM +0800, Brad Campbell wrote:
> On 28/8/19 3:33 pm, Mika Westerberg wrote:
> > On Wed, Aug 28, 2019 at 03:09:07PM +0800, Brad Campbell wrote:
> > > G'day All,
> >
> > Hi,
> >
> > > 5.2 is the first kernel that ha/thunderbolt
>
> s 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.
>
> dmesg.03 attached.
>
> > 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?
>
> Umm.. so this is where it gets weird. No it doesn't. Apparently it fails to
> configure the first monitor it finds. This is the one the Apple bootcamp
> firmware configures at boot.
>
> So if I disconnect 0-1 and boot up, it detects 0-3 but it doesn't work (same
> way 0-1 doesn't work). A plug-unplug brings that up and then plugging in 0-1
> brings that up too.
>
> I then did a few swapsies trying to get the heads in the right order and
> gave up and rebooted.
>
> This is in dmesg.4 attached.
>
> dmesg.3 is the straight boot with dyndbg enabled and both heads plugged in.
> dmesg.4 is with 0-3 plugged in only. It comes up dead and then I play
> swapsies getting things working.
>
> Took me a while to figure out I didn't have CONFIG_DYNAMIC_DEBUG in the
> kernel.

Right, I should have mentioned that.

Apart from the warning in the log (which is not fatal, I'll look into
it) to me the second path setup looks fine.

Can you do one more experiment? Boot the system up without anything
connected and then plug both monitors. Does it work?