2019-08-28 07:49:28

by Brad Campbell

[permalink] [raw]
Subject: Thunderbolt DP oddity on v5.2.9 on iMac 12,2

G'day All,

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.

[ 21.737262] thunderbolt 0-1: device disconnected
[ 21.781805] pcieport 0000:3a:04.0: pciehp: pciehp_isr: no response
from device
[ 21.784850] pcieport 0000:3a:04.0: pciehp: pciehp_isr: no response
from device
[ 21.787854] pcieport 0000:06:04.0: pciehp: Slot(4-1): Link Down
[ 21.790831] pcieport 0000:06:04.0: pciehp: Slot(4-1): Card not present
[ 21.792206] pcieport 0000:3a:05.0: Refused to change power state,
currently in D3
[ 21.793742] pcieport 0000:3a:04.0: Refused to change power state,
currently in D3
[ 21.991585] firewire_ohci 0000:3f:00.0: removed fw-ohci device
[ 22.890374] br0: port 2(eth1) entered disabled state
[ 22.891871] device eth1 left promiscuous mode
[ 22.893234] br0: port 2(eth1) entered disabled state
[ 22.990171] ehci-pci 0000:3d:00.2: HC died; cleaning up
[ 23.040162] ehci-pci 0000:3d:00.2: remove, state 1
[ 23.041462] usb usb7: USB disconnect, device number 1
[ 23.042751] usb 7-1: USB disconnect, device number 2
[ 23.044067] usb 7-1.4: USB disconnect, device number 3
[ 23.063357] usb 7-1.5: USB disconnect, device number 4
[ 23.119918] usb 7-1.7: USB disconnect, device number 5
[ 23.619254] ehci-pci 0000:3d:00.2: USB bus 7 deregistered
[ 23.620734] pci_bus 0000:3d: busn_res: [bus 3d] is released
[ 23.622128] pci_bus 0000:3c: busn_res: [bus 3c-3d] is released
[ 23.623438] pci_bus 0000:3b: busn_res: [bus 3b-3d] is released
[ 23.624760] pci_bus 0000:3e: busn_res: [bus 3e] is released
[ 23.626058] pci_bus 0000:3f: busn_res: [bus 3f] is released
[ 23.627323] pci_bus 0000:40: busn_res: [bus 40] is released
[ 23.628548] pci_bus 0000:41: busn_res: [bus 41] is released
[ 23.629801] pci_bus 0000:3a: busn_res: [bus 3a-41] is released
[ 25.372961] thunderbolt 0-1: new device found, vendor=0x1 device=0x8002
[ 25.375600] thunderbolt 0-1: Apple, Inc. Thunderbolt Display
[ 25.381347] ------------[ cut here ]------------
[ 25.383888] thunderbolt 0000:07:00.0: CFG_ERROR(0:d): Invalid config
space or offset
[ 25.385530] WARNING: CPU: 6 PID: 1486 at
drivers/thunderbolt/ctl.c:271 tb_cfg_print_error.isra.1+0x15a/0x1b0
[ 25.387156] Modules linked in: af_packet bridge stp llc applesmc
input_polldev led_class btusb btbcm btintel coretemp bluetooth kvm_intel
rfkill uvcvideo kvm irqbypass snd_usb_audio videobuf2_vmalloc
ecdh_generic snd_hda_codec_cirrus snd_hda_codec_generic ecc
snd_usbmidi_lib videobuf2_memops videobuf2_v4l2 joydev snd_rawmidi evdev
videodev videobuf2_common snd_hda_codec_hdmi snd_hda_intel snd_hda_codec
snd_hwdep snd_hda_core snd_pcm snd_timer snd soundcore apple_bl button
ext4 crc32c_generic crc16 mbcache jbd2 hid_apple hid_appleir hid_generic
usbhid hid usb_storage sg sr_mod cdrom sd_mod radeon aesni_intel
i2c_algo_bit aes_x86_64 backlight glue_helper crypto_simd cryptd
drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops xhci_pci
ahci ttm ehci_pci uhci_hcd xhci_hcd libahci ehci_hcd firewire_ohci tg3
drm firewire_core crc_itu_t usbcore libphy i2c_core usb_common
[ 25.392675] CPU: 6 PID: 1486 Comm: kworker/u16:7 Not tainted 5.2.9 #4
[ 25.394589] Hardware name: Apple Inc. iMac12,2/Mac-942B59F58194171B,
BIOS 87.0.0.0.0 06/14/2019
[ 25.396532] Workqueue: thunderbolt0 tb_handle_hotplug
[ 25.398466] RIP: 0010:tb_cfg_print_error.isra.1+0x15a/0x1b0
[ 25.400389] Code: 00 48 85 db 74 4a 48 81 c7 b0 00 00 00 e8 ae 03 f9
ff 41 89 e8 4c 89 e1 48 89 da 48 89 c6 48 c7 c7 c0 80 b1 81 e8 26 7a d0
ff <0f> 0b 48 83 c4 08 5b 5d 41 5c c3 48 c7 c7 38 3a ad 81 48 89 34 24
[ 25.402408] RSP: 0018:ffffc90000757d40 EFLAGS: 00010286
[ 25.404436] RAX: 0000000000000000 RBX: ffff88845d4c9ba0 RCX:
ffffffff81c2cd18
[ 25.406464] RDX: 0000000000000001 RSI: 0000000000000082 RDI:
ffffffff81f3d6ac
[ 25.408489] RBP: 000000000000000d R08: 0000000000000000 R09:
000000000000063b
[ 25.410510] R10: ffffea001174fc80 R11: ffffffff81a3c2a0 R12:
0000000000000000
[ 25.412529] R13: 0000000000000000 R14: 0000000000000000 R15:
ffff88845843f660
[ 25.414556] FS: 0000000000000000(0000) GS:ffff88845f980000(0000)
knlGS:0000000000000000
[ 25.416591] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 25.418611] CR2: 00007f2e56ca95e0 CR3: 0000000001c09003 CR4:
00000000000606a0
[ 25.420622] Call Trace:
[ 25.422628] tb_cfg_read+0xb9/0xd0
[ 25.424580] __tb_path_deactivate_hop+0x98/0x210
[ 25.426498] tb_path_activate+0x12e/0x350
[ 25.428365] tb_tunnel_restart+0x88/0x160
[ 25.430188] tb_handle_hotplug+0x19e/0x320
[ 25.432005] process_one_work+0x1b4/0x340
[ 25.433815] worker_thread+0x44/0x3d0
[ 25.435624] kthread+0xeb/0x120
[ 25.437437] ? process_one_work+0x340/0x340
[ 25.439248] ? kthread_park+0xa0/0xa0
[ 25.441057] ret_from_fork+0x1f/0x30
[ 25.442867] ---[ end trace 72e754bc9654a0bb ]---
[ 25.446308] ------------[ cut here ]------------
[ 25.447690] thunderbolt 0000:07:00.0: CFG_ERROR(0:d): Invalid config
space or offset
[ 25.448998] WARNING: CPU: 6 PID: 1486 at
drivers/thunderbolt/ctl.c:271 tb_cfg_print_error.isra.1+0x15a/0x1b0
[ 25.450306] Modules linked in: af_packet bridge stp llc applesmc
input_polldev led_class btusb btbcm btintel coretemp bluetooth kvm_intel
rfkill uvcvideo kvm irqbypass snd_usb_audio videobuf2_vmalloc
ecdh_generic snd_hda_codec_cirrus snd_hda_codec_generic ecc
snd_usbmidi_lib videobuf2_memops videobuf2_v4l2 joydev snd_rawmidi evdev
videodev videobuf2_common snd_hda_codec_hdmi snd_hda_intel snd_hda_codec
snd_hwdep snd_hda_core snd_pcm snd_timer snd soundcore apple_bl button
ext4 crc32c_generic crc16 mbcache jbd2 hid_apple hid_appleir hid_generic
usbhid hid usb_storage sg sr_mod cdrom sd_mod radeon aesni_intel
i2c_algo_bit aes_x86_64 backlight glue_helper crypto_simd cryptd
drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops xhci_pci
ahci ttm ehci_pci uhci_hcd xhci_hcd libahci ehci_hcd firewire_ohci tg3
drm firewire_core crc_itu_t usbcore libphy i2c_core usb_common
[ 25.454487] CPU: 6 PID: 1486 Comm: kworker/u16:7 Tainted: G W
5.2.9 #4
[ 25.455913] Hardware name: Apple Inc. iMac12,2/Mac-942B59F58194171B,
BIOS 87.0.0.0.0 06/14/2019
[ 25.457353] Workqueue: thunderbolt0 tb_handle_hotplug
[ 25.458802] RIP: 0010:tb_cfg_print_error.isra.1+0x15a/0x1b0
[ 25.460245] Code: 00 48 85 db 74 4a 48 81 c7 b0 00 00 00 e8 ae 03 f9
ff 41 89 e8 4c 89 e1 48 89 da 48 89 c6 48 c7 c7 c0 80 b1 81 e8 26 7a d0
ff <0f> 0b 48 83 c4 08 5b 5d 41 5c c3 48 c7 c7 38 3a ad 81 48 89 34 24
[ 25.461748] RSP: 0018:ffffc90000757d40 EFLAGS: 00010286
[ 25.463260] RAX: 0000000000000000 RBX: ffff88845d4c9ba0 RCX:
ffffffff81c2cd18
[ 25.464773] RDX: 0000000000000001 RSI: 0000000000000082 RDI:
ffffffff81f3d6ac
[ 25.466277] RBP: 000000000000000d R08: 0000000000000000 R09:
000000000000065a
[ 25.467760] R10: ffffea001174fc80 R11: ffffffff81a3c2a0 R12:
0000000000000000
[ 25.469227] R13: 0000000000000000 R14: 0000000000000000 R15:
ffff88845843f660
[ 25.470716] FS: 0000000000000000(0000) GS:ffff88845f980000(0000)
knlGS:0000000000000000
[ 25.472196] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 25.473678] CR2: 00007f2e56ca95e0 CR3: 0000000001c09003 CR4:
00000000000606a0
[ 25.475173] Call Trace:
[ 25.476663] tb_cfg_read+0xb9/0xd0
[ 25.478151] __tb_path_deactivate_hop+0x98/0x210
[ 25.479646] tb_path_activate+0x12e/0x350
[ 25.481128] tb_tunnel_restart+0x88/0x160
[ 25.482600] tb_handle_hotplug+0x19e/0x320
[ 25.484073] process_one_work+0x1b4/0x340
[ 25.485548] worker_thread+0x44/0x3d0
[ 25.487018] kthread+0xeb/0x120
[ 25.488477] ? process_one_work+0x340/0x340
[ 25.489947] ? kthread_park+0xa0/0xa0
[ 25.491411] ret_from_fork+0x1f/0x30
[ 25.492874] ---[ end trace 72e754bc9654a0bc ]---
[ 26.222937] radeon_dp_aux_transfer_native: 242 callbacks suppressed


Ignoring the warnings, once it's up and running everything does what it
is supposed to do, I can bring the PCI devices back by authorising the
device and everything just works. Given this machine gets rebooted a
couple of times a year, it's not a big deal.

Is there anything I can do to try and figure out why the display isn't
routed on boot, but is after a hotplug?

Full config and dmesg attached.

Regards,
Brad


Attachments:
dmesg.01 (114.72 kB)
config.txt (104.00 kB)
Download all attachments