linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux Support for Thunderbolt using Apple Monitor
@ 2012-04-19 16:38 Nico Schottelius
  2012-04-19 21:15 ` Greg KH
       [not found] ` <CAMVeQ8r_3vuAxzbLyKoecOHOOGijUDkLfw+MK7o-WoWbuOGSrg@mail.gmail.com>
  0 siblings, 2 replies; 27+ messages in thread
From: Nico Schottelius @ 2012-04-19 16:38 UTC (permalink / raw)
  To: LKML; +Cc: Nico Schottelius

Hello,

I've dived through some forums and news articles, grep'ed through
the kernel source tree, but not found a good reference to the current
state of Thunderbolt support under Linux.

I'm thinking of connecting a 27" Apple Display to my Mac Book Air 13",
but some quick testing showed that Xorg does not detect the display
(no xrandr output).

Anyone working on this / has an experiemental branch to test /
sourcecode available?

Cheers,

Nico

P.S.: Linux is pretty stable on the MBA 4,2 nowadays!
      (though Xorg isn't - it crashes from time to time...)


-- 
PGP key: 7ED9 F7D3 6B10 81D7 0EC5  5C09 D7DC C8E4 3187 7DF0

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-04-19 16:38 Linux Support for Thunderbolt using Apple Monitor Nico Schottelius
@ 2012-04-19 21:15 ` Greg KH
       [not found] ` <CAMVeQ8r_3vuAxzbLyKoecOHOOGijUDkLfw+MK7o-WoWbuOGSrg@mail.gmail.com>
  1 sibling, 0 replies; 27+ messages in thread
From: Greg KH @ 2012-04-19 21:15 UTC (permalink / raw)
  To: Nico Schottelius, LKML

On Thu, Apr 19, 2012 at 06:38:00PM +0200, Nico Schottelius wrote:
> Hello,
> 
> I've dived through some forums and news articles, grep'ed through
> the kernel source tree, but not found a good reference to the current
> state of Thunderbolt support under Linux.

Last I was told, it didn't work.  Intel is supposed to have some code
for Linux in their labs for this, but have not been able to post it for
unknown reasons :(

sorry,

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
       [not found] ` <CAMVeQ8r_3vuAxzbLyKoecOHOOGijUDkLfw+MK7o-WoWbuOGSrg@mail.gmail.com>
@ 2012-05-02 16:36   ` Nico Schottelius
  2012-05-02 20:25     ` Greg KH
  0 siblings, 1 reply; 27+ messages in thread
From: Nico Schottelius @ 2012-05-02 16:36 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Nico Schottelius, LKML

Hey Francois,

Francois Rigaut [Mon, Apr 30, 2012 at 11:45:52AM +1000]:
> I have a MBA 13" (mid 2011), and I believe we already have been in contact
> about the state of linux on it. Thanks for your early work on it, it helped
> me quite a bit in the initial setup.

Great to have helped!

> I agree with you that linux is now pretty stable on MBAs. I'm exclusively
> running linux on mine, and beside the thunderbold/displayport support issue
> (that's why I am replying to this thread), I have been more than happy with
> it. btw, I don't experience the X crashes myself, and the network (both
> wired and wireless) is working flawlessly.

Network is mostly working fine nowadays as well, besides having to issue
"reassociate" in wpa_cli after each resume/suspend and a new bug in Xorg
that forces me to "rmmod bcm5974; modprobe bcm5974;" to make Xorg
recognsie the touchpad again (speaking of Linux 3.3.3-1-ARCH and
X.Org X Server 1.12.1 and xf86-input-synaptics 1.5.99.904-1).

> Now to the thunderbolt support: I have myself a thunderbolt 27" at work. In
> a nutshell: [...]

This smells exactly like in the old Linux days, when an external monitor
only worked when it was connected at startup.

I've tried to get some information about thunderbolt, but it seems Intel
is currently unwillingly to give information out:

  http://communities.intel.com/message/155263#155263

I'm wondering if anyone from the Intel developers reading this list
can comment on this?

Cheers,

Nico

-- 
PGP key: 7ED9 F7D3 6B10 81D7 0EC5  5C09 D7DC C8E4 3187 7DF0

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-02 16:36   ` Nico Schottelius
@ 2012-05-02 20:25     ` Greg KH
  2012-05-03  6:50       ` Nico Schottelius
  0 siblings, 1 reply; 27+ messages in thread
From: Greg KH @ 2012-05-02 20:25 UTC (permalink / raw)
  To: Nico Schottelius, Francois Rigaut, LKML

On Wed, May 02, 2012 at 06:36:29PM +0200, Nico Schottelius wrote:
> Hey Francois,
> 
> Francois Rigaut [Mon, Apr 30, 2012 at 11:45:52AM +1000]:
> > I have a MBA 13" (mid 2011), and I believe we already have been in contact
> > about the state of linux on it. Thanks for your early work on it, it helped
> > me quite a bit in the initial setup.
> 
> Great to have helped!
> 
> > I agree with you that linux is now pretty stable on MBAs. I'm exclusively
> > running linux on mine, and beside the thunderbold/displayport support issue
> > (that's why I am replying to this thread), I have been more than happy with
> > it. btw, I don't experience the X crashes myself, and the network (both
> > wired and wireless) is working flawlessly.
> 
> Network is mostly working fine nowadays as well, besides having to issue
> "reassociate" in wpa_cli after each resume/suspend and a new bug in Xorg
> that forces me to "rmmod bcm5974; modprobe bcm5974;" to make Xorg
> recognsie the touchpad again (speaking of Linux 3.3.3-1-ARCH and
> X.Org X Server 1.12.1 and xf86-input-synaptics 1.5.99.904-1).
> 
> > Now to the thunderbolt support: I have myself a thunderbolt 27" at work. In
> > a nutshell: [...]
> 
> This smells exactly like in the old Linux days, when an external monitor
> only worked when it was connected at startup.
> 
> I've tried to get some information about thunderbolt, but it seems Intel
> is currently unwillingly to give information out:
> 
>   http://communities.intel.com/message/155263#155263
> 
> I'm wondering if anyone from the Intel developers reading this list
> can comment on this?

Thunderbolt should show up to the kernel just as a "normal" PCIE link,
so there shouldn't be anything special we need to do to handle this at
all (or at least my Intel contacts said that.)

Note, I haven't tested this yet, so I can't verify it, but if you have
the hardware, you should be able to.

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-02 20:25     ` Greg KH
@ 2012-05-03  6:50       ` Nico Schottelius
  2012-05-03 15:34         ` Greg KH
       [not found]         ` <CAMVeQ8qYu4bShd_+pwRv8bShhusJMDa-jjoqu7EujS4jt7RSNA@mail.gmail.com>
  0 siblings, 2 replies; 27+ messages in thread
From: Nico Schottelius @ 2012-05-03  6:50 UTC (permalink / raw)
  To: Greg KH; +Cc: Nico Schottelius, Francois Rigaut, LKML

Greg KH [Wed, May 02, 2012 at 01:25:09PM -0700]:
> Thunderbolt should show up to the kernel just as a "normal" PCIE link,
> so there shouldn't be anything special we need to do to handle this at
> all (or at least my Intel contacts said that.)

Well, at least from my lspci point of view (before/after disconnect same
output), this seems to be wrong (no dmesg output as well).

Additionally as far as I understand
thunderbolt, it's bundling display port and pci-e into a single channel,
so I'm not sure if this is 100% transparent pci-e + displayport from our
side.

Or, the better question is probably: How should Linux realise that there
is a change (apple monitor with ethernet, usb, co. plugged in) going on?

> Note, I haven't tested this yet, so I can't verify it, but if you have
> the hardware, you should be able to.

I can test stuff here, but would be thankful for a round of pointers on
how to debug / approach this.

Cheers,

Nico

-- 
PGP key: 7ED9 F7D3 6B10 81D7 0EC5  5C09 D7DC C8E4 3187 7DF0

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-03  6:50       ` Nico Schottelius
@ 2012-05-03 15:34         ` Greg KH
       [not found]         ` <CAMVeQ8qYu4bShd_+pwRv8bShhusJMDa-jjoqu7EujS4jt7RSNA@mail.gmail.com>
  1 sibling, 0 replies; 27+ messages in thread
From: Greg KH @ 2012-05-03 15:34 UTC (permalink / raw)
  To: Nico Schottelius, Francois Rigaut, LKML

On Thu, May 03, 2012 at 08:50:03AM +0200, Nico Schottelius wrote:
> Greg KH [Wed, May 02, 2012 at 01:25:09PM -0700]:
> > Thunderbolt should show up to the kernel just as a "normal" PCIE link,
> > so there shouldn't be anything special we need to do to handle this at
> > all (or at least my Intel contacts said that.)
> 
> Well, at least from my lspci point of view (before/after disconnect same
> output), this seems to be wrong (no dmesg output as well).
> 
> Additionally as far as I understand
> thunderbolt, it's bundling display port and pci-e into a single channel,
> so I'm not sure if this is 100% transparent pci-e + displayport from our
> side.
> 
> Or, the better question is probably: How should Linux realise that there
> is a change (apple monitor with ethernet, usb, co. plugged in) going on?
> 
> > Note, I haven't tested this yet, so I can't verify it, but if you have
> > the hardware, you should be able to.
> 
> I can test stuff here, but would be thankful for a round of pointers on
> how to debug / approach this.

Have you loaded the pciehp module (or maybe acpiphp, depending on your
BIOS)?  One of those should be what will control the pci hotplug for
your system to work properly.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
       [not found]         ` <CAMVeQ8qYu4bShd_+pwRv8bShhusJMDa-jjoqu7EujS4jt7RSNA@mail.gmail.com>
@ 2012-05-03 15:35           ` Greg KH
  2012-05-03 18:40             ` Nico Schottelius
       [not found]             ` <CAMVeQ8q3PMMGmFSgrnqbW2HVdfmN+LgatX3TSfv5_2Ebuuj=QQ@mail.gmail.com>
  0 siblings, 2 replies; 27+ messages in thread
From: Greg KH @ 2012-05-03 15:35 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Nico Schottelius, LKML

On Thu, May 03, 2012 at 09:45:00PM +1000, Francois Rigaut wrote:
> After Greg pointed to the PCIE, I realized that modules related to PCIE
> hotpluging were not loaded in my config. I then did a whole bunch of test
> modprobing a couple of modules: pciehp (with and without pciehp_force and/or
> pciehp_poll_mode) and acpiphp (not together obviously). No change:connecting
> the thunderbolt does not lead to any kernel activity. No message whatsoever in
> /var/log/everything.log.
> Checked /sys/bus/pci/slots, nothing appeared. No change in lspci. Added a "echo
> 1 > /sys/bus/pci/rescan" for good measure to no avail.

Does anything show up in there at all?

How about if you load the acpiphp module instead?  Some BIOSes use that
instead of pciehp.

You need one of those drivers in order for this to work properly.

Also, speaking of BIOS, make sure you have the latest updates, there
were a lot of initial problems with Thunderbolt hotplug issues that were
fixed in newer BIOS versions, so that will be required to be updated.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-03 15:35           ` Greg KH
@ 2012-05-03 18:40             ` Nico Schottelius
  2012-05-03 18:51               ` Greg KH
       [not found]             ` <CAMVeQ8q3PMMGmFSgrnqbW2HVdfmN+LgatX3TSfv5_2Ebuuj=QQ@mail.gmail.com>
  1 sibling, 1 reply; 27+ messages in thread
From: Nico Schottelius @ 2012-05-03 18:40 UTC (permalink / raw)
  To: Greg KH; +Cc: Francois Rigaut, Nico Schottelius, LKML

Greg,

Greg KH [Thu, May 03, 2012 at 08:35:47AM -0700]:
> [...]
> 
> How about if you load the acpiphp module instead?  Some BIOSes use that
> instead of pciehp.
> 
> You need one of those drivers in order for this to work properly.
> 
> Also, speaking of BIOS, make sure you have the latest updates, there
> were a lot of initial problems with Thunderbolt hotplug issues that were
> fixed in newer BIOS versions, so that will be required to be updated.

I'm confused - to which BIOS are you referring to? I understood that
Apple's Mac Book Air has its custom "similar to EFI" (*) code and not a
traditional BIOS in place.

Cheers,

Nico

(*) Which would also be interesting to replace with something like
    LinuxBios/Coreboot.

-- 
PGP key: 7ED9 F7D3 6B10 81D7 0EC5  5C09 D7DC C8E4 3187 7DF0

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-03 18:40             ` Nico Schottelius
@ 2012-05-03 18:51               ` Greg KH
  0 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2012-05-03 18:51 UTC (permalink / raw)
  To: Nico Schottelius, Francois Rigaut, LKML

On Thu, May 03, 2012 at 08:40:08PM +0200, Nico Schottelius wrote:
> Greg,
> 
> Greg KH [Thu, May 03, 2012 at 08:35:47AM -0700]:
> > [...]
> > 
> > How about if you load the acpiphp module instead?  Some BIOSes use that
> > instead of pciehp.
> > 
> > You need one of those drivers in order for this to work properly.
> > 
> > Also, speaking of BIOS, make sure you have the latest updates, there
> > were a lot of initial problems with Thunderbolt hotplug issues that were
> > fixed in newer BIOS versions, so that will be required to be updated.
> 
> I'm confused - to which BIOS are you referring to? I understood that
> Apple's Mac Book Air has its custom "similar to EFI" (*) code and not a
> traditional BIOS in place.

It's still a BIOS, and needs to be updated.  If that BIOS boots using
EFI or the "old" format is not an issue here.

> (*) Which would also be interesting to replace with something like
>     LinuxBios/Coreboot.

Good luck with that :)

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
       [not found]             ` <CAMVeQ8q3PMMGmFSgrnqbW2HVdfmN+LgatX3TSfv5_2Ebuuj=QQ@mail.gmail.com>
@ 2012-05-03 23:38               ` Greg KH
  2012-05-04  4:19                 ` Francois Rigaut
  0 siblings, 1 reply; 27+ messages in thread
From: Greg KH @ 2012-05-03 23:38 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Nico Schottelius, LKML

On Fri, May 04, 2012 at 09:04:33AM +1000, Francois Rigaut wrote:
> Sorry for the lag, I live down under.
> 
> On Fri, May 4, 2012 at 1:35 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
> 
>     On Thu, May 03, 2012 at 09:45:00PM +1000, Francois Rigaut wrote:
>     > After Greg pointed to the PCIE, I realized that modules related to PCIE
>     > hotpluging were not loaded in my config. I then did a whole bunch of test
>     > modprobing a couple of modules: pciehp (with and without pciehp_force and
>     /or
>     > pciehp_poll_mode) and acpiphp (not together obviously). No
>     change:connecting
>     > the thunderbolt does not lead to any kernel activity. No message
>     whatsoever in
>     > /var/log/everything.log.
>     > Checked /sys/bus/pci/slots, nothing appeared. No change in lspci. Added a
>     "echo
>     > 1 > /sys/bus/pci/rescan" for good measure to no avail.
> 
>     Does anything show up in there at all?
> 
> Greg, nope, nothing at all shows in either slots or everything.log after a
> hotplug. not a single line in the log file and no files in the /sys/bus/pci/
> slots directory.
>  
> 
> 
>     How about if you load the acpiphp module instead?  Some BIOSes use that
>     instead of pciehp.
> 
> I tried both with pciehp *and* acpiphp.

Odd, one of them should work.  If not, then that's why this isn't
working.

>     You need one of those drivers in order for this to work properly.
> 
>     Also, speaking of BIOS, make sure you have the latest updates, there
>     were a lot of initial problems with Thunderbolt hotplug issues that were
>     fixed in newer BIOS versions, so that will be required to be updated.
> 
> well that might be the problem. In fact, I'm booting EFI directly using the
> 3.3+ kernel direct efi boot feature. Might that be the problem? I though
> booting EFI on an EFI machine was supposed to give you better hardware
> recognition (I am on a macbook air trying to hotplug a thunderbolt display to
> the thunderbolt/displayport connector).
> Anyway, I will try with a more standard (fake) BIOS boot when I get to work.

That "shouldn't" make a difference, but it would be good to find out.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-03 23:38               ` Greg KH
@ 2012-05-04  4:19                 ` Francois Rigaut
  2012-05-04 18:48                   ` Greg KH
  0 siblings, 1 reply; 27+ messages in thread
From: Francois Rigaut @ 2012-05-04  4:19 UTC (permalink / raw)
  To: Greg KH; +Cc: Nico Schottelius, LKML

Greg, Nico,

Thanks Greg for giving us some attention. I went ahead and collected a 
number of information that could be useful to track down our hotplug issue.

1) Coldplug: Booting with the thunderbolt display attached. This works. 
Several devices (additional to what I get without the display attached) 
are listed. Here is the relevant info:

http://maumae.net/thunderbolt/coldplug_efi/log  -> kernel.log
http://maumae.net/thunderbolt/coldplug_efi/lspci -> lspci and lspci -vv
http://maumae.net/thunderbolt/coldplug_efi/lsmod
http://maumae.net/thunderbolt/coldplug_efi/config_excerpt.txt
full config @ http://maumae.net/thunderbolt/config.gz
http://maumae.net/thunderbolt/coldplug_efi/disconnect -> message when 
disconnecting (pciehp loaded just before)

note that an attempt to reconnect leads to the same issue as described 
before, i.e. nothing happens.

2) Booting with the display/device not plugged, just for reference:

http://maumae.net/thunderbolt/notplugged_efi/log
http://maumae.net/thunderbolt/notplugged_efi/lsmod
http://maumae.net/thunderbolt/notplugged_efi/misc
http://maumae.net/thunderbolt/notplugged_efi/lspci

3) Again, I have tried to load pciehp and acpiphp with both EFI boot and 
BIOS emulation boot:
- pciehp loads ok but as I said earlier, no message whatsoever in 
everything.log when I try to connect the thunderbolt display
- acpiphp: I was wrong yesterday. In fact, trying to load acpiphp gives 
me a message:
[root@poliahu thunderbolt]# modprobe acpiphp
ERROR: could not insert 'acpiphp': No such device

Not sure what to make of it. I have tried to also load acpiphp after a 
coldplug boot; same error message.

I've read somewhere that this error message may mean that the h/w 
doesn't support hotplugging. However, I think the coldplug lspci -vv 
above tells us the h/w does support pcie hotplug: all the pci bridges 
appear to have D3hot+ capability (and it certainly does, as this works 
under osx on the same machine).

Any suggestion are welcome! Thanks.
Francois


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-04  4:19                 ` Francois Rigaut
@ 2012-05-04 18:48                   ` Greg KH
  2012-05-04 19:37                     ` Yinghai Lu
  2012-05-05  0:28                     ` Francois Rigaut
  0 siblings, 2 replies; 27+ messages in thread
From: Greg KH @ 2012-05-04 18:48 UTC (permalink / raw)
  To: Francois Rigaut, linux-pci; +Cc: Nico Schottelius, LKML

On Fri, May 04, 2012 at 02:19:57PM +1000, Francois Rigaut wrote:
> Greg, Nico,
> 
> Thanks Greg for giving us some attention. I went ahead and collected
> a number of information that could be useful to track down our
> hotplug issue.
> 
> 1) Coldplug: Booting with the thunderbolt display attached. This
> works. Several devices (additional to what I get without the display
> attached) are listed. Here is the relevant info:
> 
> http://maumae.net/thunderbolt/coldplug_efi/log  -> kernel.log
> http://maumae.net/thunderbolt/coldplug_efi/lspci -> lspci and lspci -vv
> http://maumae.net/thunderbolt/coldplug_efi/lsmod
> http://maumae.net/thunderbolt/coldplug_efi/config_excerpt.txt
> full config @ http://maumae.net/thunderbolt/config.gz
> http://maumae.net/thunderbolt/coldplug_efi/disconnect -> message
> when disconnecting (pciehp loaded just before)
> 
> note that an attempt to reconnect leads to the same issue as
> described before, i.e. nothing happens.
> 
> 2) Booting with the display/device not plugged, just for reference:
> 
> http://maumae.net/thunderbolt/notplugged_efi/log
> http://maumae.net/thunderbolt/notplugged_efi/lsmod
> http://maumae.net/thunderbolt/notplugged_efi/misc
> http://maumae.net/thunderbolt/notplugged_efi/lspci

Ok, it looks like these are the devices that we are missing while
"hotplugging":
37:00.0 PCI bridge: Intel Corporation Device 1513
38:00.0 PCI bridge: Intel Corporation Device 1513
38:01.0 PCI bridge: Intel Corporation Device 1513
38:02.0 PCI bridge: Intel Corporation Device 1513
38:03.0 PCI bridge: Intel Corporation Device 1513
38:04.0 PCI bridge: Intel Corporation Device 1513
38:05.0 PCI bridge: Intel Corporation Device 1513
39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent
Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)

Which is good, I was worried that there was a video controller out there
on the end of the thunderbolt link.

So, the problem really is two here:
  - your video card doesn't detect the new display
  - your pci devices do not show up

The first one probably needs to be reported to the Intel video driver
people, they can help you out the best.

The second one means that something is up with the pci hotplug
controller.  I've cced the linux-pci list, the people there should be
able to help out better than I, as I no longer have any PCI hotplug
hardware to work with anymore.

> 3) Again, I have tried to load pciehp and acpiphp with both EFI boot
> and BIOS emulation boot:
> - pciehp loads ok but as I said earlier, no message whatsoever in
> everything.log when I try to connect the thunderbolt display

If you load it with debugging enabled, do you get extra messages in the
log?

> - acpiphp: I was wrong yesterday. In fact, trying to load acpiphp
> gives me a message:
> [root@poliahu thunderbolt]# modprobe acpiphp
> ERROR: could not insert 'acpiphp': No such device

Again, can you load it with debugging (I think both load with "debug=1"
as a module option to do this).

> Not sure what to make of it. I have tried to also load acpiphp after
> a coldplug boot; same error message.
> 
> I've read somewhere that this error message may mean that the h/w
> doesn't support hotplugging. However, I think the coldplug lspci -vv
> above tells us the h/w does support pcie hotplug: all the pci
> bridges appear to have D3hot+ capability (and it certainly does, as
> this works under osx on the same machine).

Yes, it "should" work, but figuring out what the pci hotplug method that
is going on is going to be the main thing to solve here.

Oh, what exact machine is this?  Maybe I can ask around and see if I can
dig up one myself, and hey, I always need an excuse to get a new display
:)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-04 18:48                   ` Greg KH
@ 2012-05-04 19:37                     ` Yinghai Lu
  2012-05-04 19:38                       ` Yinghai Lu
  2012-05-05  0:28                     ` Francois Rigaut
  1 sibling, 1 reply; 27+ messages in thread
From: Yinghai Lu @ 2012-05-04 19:37 UTC (permalink / raw)
  To: Greg KH; +Cc: Francois Rigaut, linux-pci, Nico Schottelius, LKML

On Fri, May 4, 2012 at 11:48 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
> Ok, it looks like these are the devices that we are missing while
> "hotplugging":
> 37:00.0 PCI bridge: Intel Corporation Device 1513
> 38:00.0 PCI bridge: Intel Corporation Device 1513
> 38:01.0 PCI bridge: Intel Corporation Device 1513
> 38:02.0 PCI bridge: Intel Corporation Device 1513
> 38:03.0 PCI bridge: Intel Corporation Device 1513
> 38:04.0 PCI bridge: Intel Corporation Device 1513
> 38:05.0 PCI bridge: Intel Corporation Device 1513
> 39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
> 3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
> 3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
> 3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
> 3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
> 3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
> 3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent
> Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
>
> Which is good, I was worried that there was a video controller out there
> on the end of the thunderbolt link.
>
> So, the problem really is two here:
>  - your video card doesn't detect the new display
>  - your pci devices do not show up
>
> The first one probably needs to be reported to the Intel video driver
> people, they can help you out the best.
>
> The second one means that something is up with the pci hotplug
> controller.  I've cced the linux-pci list, the people there should be
> able to help out better than I, as I no longer have any PCI hotplug
> hardware to work with anymore.
>

those devices are under 04:04.0, but that does not have slot cap
enabled by BIOS. So pciehp is going to to help.

04:04.0 PCI bridge: Intel Corporation Device 151a (rev 01) (prog-if 00
[Normal decode])
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 256 bytes
	Bus: primary=04, secondary=37, subordinate=67, sec-latency=0
	Memory behind bridge: a0900000-a09fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [80] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [88] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0f00c  Data: 4189
	Capabilities: [c0] Express (v2) Downstream Port (Slot-), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
			ExtTag+ RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
		LnkCap:	Port #4, Speed 2.5GT/s, Width x4, ASPM L0s L1, Latency L0
unlimited, L1 unlimited
			ClockPM- Surprise- LLActRep+ BwNot+
		LnkCtl:	ASPM Disabled; Disabled- Retrain- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Not Supported, TimeoutDis- ARIFwd-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-,
Selectable De-emphasis: -6dB
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance-
ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-,
EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-04 19:37                     ` Yinghai Lu
@ 2012-05-04 19:38                       ` Yinghai Lu
  2012-05-05  4:19                         ` Francois Rigaut
  0 siblings, 1 reply; 27+ messages in thread
From: Yinghai Lu @ 2012-05-04 19:38 UTC (permalink / raw)
  To: Greg KH; +Cc: Francois Rigaut, linux-pci, Nico Schottelius, LKML

On Fri, May 4, 2012 at 12:37 PM, Yinghai Lu <yinghai@kernel.org> wrote:
> On Fri, May 4, 2012 at 11:48 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
>> Ok, it looks like these are the devices that we are missing while
>> "hotplugging":
>> 37:00.0 PCI bridge: Intel Corporation Device 1513
>> 38:00.0 PCI bridge: Intel Corporation Device 1513
>> 38:01.0 PCI bridge: Intel Corporation Device 1513
>> 38:02.0 PCI bridge: Intel Corporation Device 1513
>> 38:03.0 PCI bridge: Intel Corporation Device 1513
>> 38:04.0 PCI bridge: Intel Corporation Device 1513
>> 38:05.0 PCI bridge: Intel Corporation Device 1513
>> 39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>> 3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>> 3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
>> 3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
>> 3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
>> 3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
>> 3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent
>> Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
>>
>> Which is good, I was worried that there was a video controller out there
>> on the end of the thunderbolt link.
>>
>> So, the problem really is two here:
>>  - your video card doesn't detect the new display
>>  - your pci devices do not show up
>>
>> The first one probably needs to be reported to the Intel video driver
>> people, they can help you out the best.
>>
>> The second one means that something is up with the pci hotplug
>> controller.  I've cced the linux-pci list, the people there should be
>> able to help out better than I, as I no longer have any PCI hotplug
>> hardware to work with anymore.
>>
>
> those devices are under 04:04.0, but that does not have slot cap
> enabled by BIOS. So pciehp is going to to help.

should be: pciehp is not going to help.

so acpiphp are involved?

Yinghai

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-04 18:48                   ` Greg KH
  2012-05-04 19:37                     ` Yinghai Lu
@ 2012-05-05  0:28                     ` Francois Rigaut
  2012-05-05  0:35                       ` Greg KH
  1 sibling, 1 reply; 27+ messages in thread
From: Francois Rigaut @ 2012-05-05  0:28 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-pci, Nico Schottelius, LKML



On 05/05/12 04:48, Greg KH wrote:
> Oh, what exact machine is this? Maybe I can ask around and see if I 
> can dig up one myself, and hey, I always need an excuse to get a new 
> display :) thanks, greg k-h 
The machine is a macbook air 13" mid 2011, with a thunderbolt port 
(physically identical to a mini display port). I hear Linus is using a 
MBA 11", so I don't feel alone here running linux on this thing.
The display is a 27" Apple thunderbolt display. It's a gorgeous display 
with deep colors and lots of dynamics, and not (much) more expensive 
than other 27" display. But it doesn't hot plug (in linux, yet) and the 
only input is through the thunderbolt cable so no luck in using 
alternatives like HDMI (neither VGA, but VGA doesn't support the display 
resolution 2560x1440 anyway).

Good luck,
Francois


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05  0:28                     ` Francois Rigaut
@ 2012-05-05  0:35                       ` Greg KH
  0 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2012-05-05  0:35 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: linux-pci, Nico Schottelius, LKML

On Sat, May 05, 2012 at 10:28:51AM +1000, Francois Rigaut wrote:
> 
> 
> On 05/05/12 04:48, Greg KH wrote:
> >Oh, what exact machine is this? Maybe I can ask around and see if
> >I can dig up one myself, and hey, I always need an excuse to get a
> >new display :) thanks, greg k-h
> The machine is a macbook air 13" mid 2011, with a thunderbolt port
> (physically identical to a mini display port). I hear Linus is using
> a MBA 11", so I don't feel alone here running linux on this thing.
> The display is a 27" Apple thunderbolt display. It's a gorgeous
> display with deep colors and lots of dynamics, and not (much) more
> expensive than other 27" display. But it doesn't hot plug (in linux,
> yet) and the only input is through the thunderbolt cable so no luck
> in using alternatives like HDMI (neither VGA, but VGA doesn't
> support the display resolution 2560x1440 anyway).

Has anyone tried a Thunderbolt hard drive yet?  Not that I think that
would work better, just curious.

Thanks for the device type, I'll see if I can track one down...

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-04 19:38                       ` Yinghai Lu
@ 2012-05-05  4:19                         ` Francois Rigaut
  2012-05-05  8:18                           ` Jiang Liu
  2012-05-05 15:18                           ` Jiang Liu
  0 siblings, 2 replies; 27+ messages in thread
From: Francois Rigaut @ 2012-05-05  4:19 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Greg KH, linux-pci, Nico Schottelius, LKML


On 05/05/12 05:38, Yinghai Lu wrote:
> On Fri, May 4, 2012 at 12:37 PM, Yinghai Lu<yinghai@kernel.org>  wrote:
>> On Fri, May 4, 2012 at 11:48 AM, Greg KH<gregkh@linuxfoundation.org>  wrote:
>>> Ok, it looks like these are the devices that we are missing while
>>> "hotplugging":
>>> 37:00.0 PCI bridge: Intel Corporation Device 1513
>>> 38:00.0 PCI bridge: Intel Corporation Device 1513
>>> 38:01.0 PCI bridge: Intel Corporation Device 1513
>>> 38:02.0 PCI bridge: Intel Corporation Device 1513
>>> 38:03.0 PCI bridge: Intel Corporation Device 1513
>>> 38:04.0 PCI bridge: Intel Corporation Device 1513
>>> 38:05.0 PCI bridge: Intel Corporation Device 1513
>>> 39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>>> 3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>>> 3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
>>> 3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
>>> 3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
>>> 3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
>>> 3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent
>>> Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
>>>
>>> Which is good, I was worried that there was a video controller out there
>>> on the end of the thunderbolt link.
>>>
>>> So, the problem really is two here:
>>>   - your video card doesn't detect the new display
>>>   - your pci devices do not show up
>>>
>>> The first one probably needs to be reported to the Intel video driver
>>> people, they can help you out the best.
no it's definitely not the first one. As you saw, there'sa whole bunch 
of other devices (3 USB, firewire, network) that do not show up either.

The new info from Yinghai (thanks Yinghai) explains why hotpluging with 
pciehp did not work/detect the PCIE hotplug and did not result in *any* 
kernel messages.

So the whole thing I guess boils down to making acpiphp work. And why it 
outputs the "no such device" error message and does not load:

I tried with debug=1 and got a bit more info in the log files:

[root@poliahu frigaut]# lsmod | grep -e acpi -e pci
acpi_cpufreq            5941  0
mperf                   1275  1 acpi_cpufreq
processor              26144  1 acpi_cpufreq
[root@poliahu frigaut]# modprobe acpiphp debug=1
ERROR: could not insert 'acpiphp': No such device

at this point this message showed up in everything.log:
May  5 14:09:55 localhost kernel: [28329.700022] pci_hotplug: PCI Hot 
Plug PCI Core version: 0.5
May  5 14:09:55 localhost kernel: [28329.702041] acpiphp: ACPI Hot Plug 
PCI Controller Driver version: 0.5
May  5 14:09:55 localhost kernel: [28329.702484] acpiphp_glue: found 
PCI-to-PCI bridge at PCI 0000:04:00.0
May  5 14:09:55 localhost kernel: [28329.702715] acpiphp_glue: Bus 
0000:05 has 0 slots
May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots

then:
[root@poliahu frigaut]# lsmod | grep -e acpi -e pci
pci_hotplug            25324  0
acpi_cpufreq            5941  0
mperf                   1275  1 acpi_cpufreq
processor              26144  1 acpi_cpufreq
[root@poliahu frigaut]#

shows that acpiphp was indeed not loaded (I assume the error occurs 
after it has written out the above messages in the log file), but 
pci_hotplug was as a dep of acpiphp I assume (thus, correct behavior).

So we're back to the issue of the acpiphp load error.

Greg, I see you're one of the authors of acpiphp:
#define DRIVER_VERSION    "0.5"
#define DRIVER_AUTHOR    "Greg Kroah-Hartman <gregkh@us.ibm.com>, 
Takayoshi Kochi <t-kochi@bq.jp.nec.com>, Matthew Wilcox <willy@hp.com>"
#define DRIVER_DESC    "ACPI Hot Plug PCI Controller Driver"

but that might have been a while back?

Cheers, and thanks,
Francois



>>>
>>> The second one means that something is up with the pci hotplug
>>> controller.  I've cced the linux-pci list, the people there should be
>>> able to help out better than I, as I no longer have any PCI hotplug
>>> hardware to work with anymore.
>>>
>> those devices are under 04:04.0, but that does not have slot cap
>> enabled by BIOS. So pciehp is going to to help.
> should be: pciehp is not going to help.
>
> so acpiphp are involved?
>
> Yinghai

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05  4:19                         ` Francois Rigaut
@ 2012-05-05  8:18                           ` Jiang Liu
  2012-05-05  8:47                             ` Francois Rigaut
  2012-05-05 15:18                           ` Jiang Liu
  1 sibling, 1 reply; 27+ messages in thread
From: Jiang Liu @ 2012-05-05  8:18 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Yinghai Lu, Greg KH, linux-pci, Nico Schottelius, LKML

This log message below implies that your BIOS doesn't provide the ACPI interfaces
needed by acpiphp driver. Maybe an ACPI dump file may help to identify the issue.
You may generate acpidump file by:
acpidump > acpidump.bin

>May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots 

On 05/05/2012 12:19 PM, Francois Rigaut wrote:
> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05  8:18                           ` Jiang Liu
@ 2012-05-05  8:47                             ` Francois Rigaut
  2012-05-05 15:27                               ` Jiang Liu
  0 siblings, 1 reply; 27+ messages in thread
From: Francois Rigaut @ 2012-05-05  8:47 UTC (permalink / raw)
  To: Jiang Liu; +Cc: Yinghai Lu, Greg KH, linux-pci, Nico Schottelius, LKML

http://maumae.net/thunderbolt/acpidump.bin
Thanks.
Francois


On 05/05/12 18:18, Jiang Liu wrote:
> This log message below implies that your BIOS doesn't provide the ACPI interfaces
> needed by acpiphp driver. Maybe an ACPI dump file may help to identify the issue.
> You may generate acpidump file by:
> acpidump>  acpidump.bin
>
>> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots
> On 05/05/2012 12:19 PM, Francois Rigaut wrote:
>> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05  4:19                         ` Francois Rigaut
  2012-05-05  8:18                           ` Jiang Liu
@ 2012-05-05 15:18                           ` Jiang Liu
  2012-05-05 16:48                             ` Nico Schottelius
  2012-05-06  3:59                             ` Francois Rigaut
  1 sibling, 2 replies; 27+ messages in thread
From: Jiang Liu @ 2012-05-05 15:18 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Yinghai Lu, Greg KH, linux-pci, Nico Schottelius, LKML

Hi Francois,
	It seems that the PCI topology related to the Thunderbird is:
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
	03:00.0 PCI bridge: Intel Corporation Device 151a (rev 01)
	04:00.0 PCI bridge: Intel Corporation Device 151a (rev 01)
	04:03.0 PCI bridge: Intel Corporation Device 151a (rev 01)
	04:04.0 PCI bridge: Intel Corporation Device 151a (rev 01)
		37:00.0 PCI bridge: Intel Corporation Device 1513
		38:00.0 PCI bridge: Intel Corporation Device 1513
			39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
			3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
				3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
				3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
				3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
		38:01.0 PCI bridge: Intel Corporation Device 1513
			3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
		38:02.0 PCI bridge: Intel Corporation Device 1513
			3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
		38:03.0 PCI bridge: Intel Corporation Device 1513
		38:04.0 PCI bridge: Intel Corporation Device 1513
		38:05.0 PCI bridge: Intel Corporation Device 1513

It's really a complex topology. The longest path has root port + 3 PCIe switches + endpoint.
The device with id "Intel Corporation Device 151a", "Intel Corporation Device 1513" and
"Pericom Semiconductor Device 400c" should be 3 PCIe switches. I guess the thunderbird
cable is used to connect 04:04.0 to the second PCIe switch with device ID "Intel Corporation
Device 1513". 

According to the acpidump sent out by you, I guess the relationship among PCIe and ACPI is as below:
        Device (PCI0)	// PCIe host bridge
        {
            Name (_HID, EisaId ("PNP0A08"))
            Device (P0P2)	//00:01.0
            {
                Name (_ADR, 0x00010000)
                Device (UPSB)	//03:00.0
                {
                    Name (_ADR, 0x00)
                    Device (DSB2)	//04:04.0
                    {
                        Name (_ADR, 0x00040000)
                        Method (_RMV, 0, NotSerialized)
                        {
                            Return (OSDW ()) // OSDW-> OS is Darwin
                        }
                        Device (UPS2)	//37:00.0
                        {
                            Name (_ADR, 0x00)
			}
		    }
		}
	    }
	}

But _RMV method only returns 1 on iOS or Max OS X. That means ACPI based hotplug is disabled
on Linux for your system. And as Yinghai has pointed out, all the PCIe downstream ports on 
the system don't support PCIe hotplug. So need BIOS or hardware changes to support Thunderbolt
cable hotplug on your system.

On 05/05/2012 12:19 PM, Francois Rigaut wrote:
> 
> On 05/05/12 05:38, Yinghai Lu wrote:
>> On Fri, May 4, 2012 at 12:37 PM, Yinghai Lu<yinghai@kernel.org>  wrote:
>>> On Fri, May 4, 2012 at 11:48 AM, Greg KH<gregkh@linuxfoundation.org>  wrote:
>>>> Ok, it looks like these are the devices that we are missing while
>>>> "hotplugging":
>>>> 37:00.0 PCI bridge: Intel Corporation Device 1513
>>>> 38:00.0 PCI bridge: Intel Corporation Device 1513
>>>> 38:01.0 PCI bridge: Intel Corporation Device 1513
>>>> 38:02.0 PCI bridge: Intel Corporation Device 1513
>>>> 38:03.0 PCI bridge: Intel Corporation Device 1513
>>>> 38:04.0 PCI bridge: Intel Corporation Device 1513
>>>> 38:05.0 PCI bridge: Intel Corporation Device 1513
>>>> 39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>>>> 3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>>>> 3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
>>>> 3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
>>>> 3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
>>>> 3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
>>>> 3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent
>>>> Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
>>>>
>>>> Which is good, I was worried that there was a video controller out there
>>>> on the end of the thunderbolt link.
>>>>
>>>> So, the problem really is two here:
>>>>   - your video card doesn't detect the new display
>>>>   - your pci devices do not show up
>>>>
>>>> The first one probably needs to be reported to the Intel video driver
>>>> people, they can help you out the best.
> no it's definitely not the first one. As you saw, there'sa whole bunch of other devices (3 USB, firewire, network) that do not show up either.
> 
> The new info from Yinghai (thanks Yinghai) explains why hotpluging with pciehp did not work/detect the PCIE hotplug and did not result in *any* kernel messages.
> 
> So the whole thing I guess boils down to making acpiphp work. And why it outputs the "no such device" error message and does not load:
> 
> I tried with debug=1 and got a bit more info in the log files:
> 
> [root@poliahu frigaut]# lsmod | grep -e acpi -e pci
> acpi_cpufreq            5941  0
> mperf                   1275  1 acpi_cpufreq
> processor              26144  1 acpi_cpufreq
> [root@poliahu frigaut]# modprobe acpiphp debug=1
> ERROR: could not insert 'acpiphp': No such device
> 
> at this point this message showed up in everything.log:
> May  5 14:09:55 localhost kernel: [28329.700022] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> May  5 14:09:55 localhost kernel: [28329.702041] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
> May  5 14:09:55 localhost kernel: [28329.702484] acpiphp_glue: found PCI-to-PCI bridge at PCI 0000:04:00.0
> May  5 14:09:55 localhost kernel: [28329.702715] acpiphp_glue: Bus 0000:05 has 0 slots
> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots
> 
> then:
> [root@poliahu frigaut]# lsmod | grep -e acpi -e pci
> pci_hotplug            25324  0
> acpi_cpufreq            5941  0
> mperf                   1275  1 acpi_cpufreq
> processor              26144  1 acpi_cpufreq
> [root@poliahu frigaut]#
> 
> shows that acpiphp was indeed not loaded (I assume the error occurs after it has written out the above messages in the log file), but pci_hotplug was as a dep of acpiphp I assume (thus, correct behavior).
> 
> So we're back to the issue of the acpiphp load error.
> 
> Greg, I see you're one of the authors of acpiphp:
> #define DRIVER_VERSION    "0.5"
> #define DRIVER_AUTHOR    "Greg Kroah-Hartman <gregkh@us.ibm.com>, Takayoshi Kochi <t-kochi@bq.jp.nec.com>, Matthew Wilcox <willy@hp.com>"
> #define DRIVER_DESC    "ACPI Hot Plug PCI Controller Driver"
> 
> but that might have been a while back?
> 
> Cheers, and thanks,
> Francois
> 
> 
> 
>>>>
>>>> The second one means that something is up with the pci hotplug
>>>> controller.  I've cced the linux-pci list, the people there should be
>>>> able to help out better than I, as I no longer have any PCI hotplug
>>>> hardware to work with anymore.
>>>>
>>> those devices are under 04:04.0, but that does not have slot cap
>>> enabled by BIOS. So pciehp is going to to help.
>> should be: pciehp is not going to help.
>>
>> so acpiphp are involved?
>>
>> Yinghai
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05  8:47                             ` Francois Rigaut
@ 2012-05-05 15:27                               ` Jiang Liu
  0 siblings, 0 replies; 27+ messages in thread
From: Jiang Liu @ 2012-05-05 15:27 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Yinghai Lu, Greg KH, linux-pci, Nico Schottelius, LKML

There's another mysterious _DSM function under \_SB.PCI0.P0P2.UPSB.
Seems it's related to Thunderbolt technology.

                    Method (_DSM, 4, NotSerialized)
                    {
                        If (LEqual (Arg0, Buffer (0x10)
                                {
                                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                                }))
                        {
                            Store (Package (0x02)
                                {
                                    "PCI-Thunderbolt",
                                    0x01
                                }, Local0)
                            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                            Return (Local0)
                        }

                        Return (0x80000002)
                    }


On 05/05/2012 04:47 PM, Francois Rigaut wrote:
> http://maumae.net/thunderbolt/acpidump.bin
> Thanks.
> Francois
> 
> 
> On 05/05/12 18:18, Jiang Liu wrote:
>> This log message below implies that your BIOS doesn't provide the ACPI interfaces
>> needed by acpiphp driver. Maybe an ACPI dump file may help to identify the issue.
>> You may generate acpidump file by:
>> acpidump>  acpidump.bin
>>
>>> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots
>> On 05/05/2012 12:19 PM, Francois Rigaut wrote:
>>> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05 15:18                           ` Jiang Liu
@ 2012-05-05 16:48                             ` Nico Schottelius
  2012-05-06  3:22                               ` Jiang Liu
  2012-05-06  3:59                             ` Francois Rigaut
  1 sibling, 1 reply; 27+ messages in thread
From: Nico Schottelius @ 2012-05-05 16:48 UTC (permalink / raw)
  To: Jiang Liu
  Cc: Francois Rigaut, Yinghai Lu, Greg KH, linux-pci, Nico Schottelius, LKML

Hey Jiang,

Jiang Liu [Sat, May 05, 2012 at 11:18:09PM +0800]:
> 	It seems that the PCI topology related to the Thunderbird is:

Thanks for digging into this, I've the feeling we could somehow get
this running in the end...

> [...] 
> According to the acpidump sent out by you, I guess the relationship among PCIe and ACPI is as below:
>         Device (PCI0)	// PCIe host bridge
>         {
>             Name (_HID, EisaId ("PNP0A08"))
>             Device (P0P2)	//00:01.0
>             {
>                 Name (_ADR, 0x00010000)
>                 Device (UPSB)	//03:00.0
>                 {
>                     Name (_ADR, 0x00)
>                     Device (DSB2)	//04:04.0
>                     {
>                         Name (_ADR, 0x00040000)
>                         Method (_RMV, 0, NotSerialized)
>                         {
>                             Return (OSDW ()) // OSDW-> OS is Darwin
>                         }
>                         Device (UPS2)	//37:00.0
>                         {
>                             Name (_ADR, 0x00)
> 			}
> 		    }
> 		}
> 	    }
> 	}
> 
> But _RMV method only returns 1 on iOS or Max OS X. That means ACPI based hotplug is disabled
> on Linux for your system. And as Yinghai has pointed out, all the PCIe downstream ports on 
> the system don't support PCIe hotplug. So need BIOS or hardware changes to support Thunderbolt
> cable hotplug on your system.

I'm not deep into how acpi works, but wondering: Can't we replace that part,
change the tree or emulate a different OSDW() method similar to LD_PRELOAD?

Cheers,

Nico

-- 
PGP key: 7ED9 F7D3 6B10 81D7 0EC5  5C09 D7DC C8E4 3187 7DF0

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05 16:48                             ` Nico Schottelius
@ 2012-05-06  3:22                               ` Jiang Liu
  2012-05-09 16:05                                 ` Greg KH
  0 siblings, 1 reply; 27+ messages in thread
From: Jiang Liu @ 2012-05-06  3:22 UTC (permalink / raw)
  To: Nico Schottelius, Francois Rigaut, Yinghai Lu, Greg KH, linux-pci, LKML

I'm afraid it won't work by just changing the OSDW() return value.
After analysis the ACPI table, I guess the BIOS ACPI implementation doesn't
confirm to the ACPI specification for hotplug, it needs special support in
OS to enable Thunderbolt cable hotplug on that system. Maybe that's the
reason why it's only enabled on Apple's OSes, not sure it's due to technical
or business considerations.

This PCIe device "05:00.0 System peripheral: Intel Corporation Device 151a
(rev 01)" may play a role in the Thunderbolt cable hotplug operations, but
haven't figured it out yet.

On 05/06/2012 12:48 AM, Nico Schottelius wrote:
> Hey Jiang,
> 
> Jiang Liu [Sat, May 05, 2012 at 11:18:09PM +0800]:
>> 	It seems that the PCI topology related to the Thunderbird is:
> 
> Thanks for digging into this, I've the feeling we could somehow get
> this running in the end...
> 
>> [...] 
>> According to the acpidump sent out by you, I guess the relationship among PCIe and ACPI is as below:
>>         Device (PCI0)	// PCIe host bridge
>>         {
>>             Name (_HID, EisaId ("PNP0A08"))
>>             Device (P0P2)	//00:01.0
>>             {
>>                 Name (_ADR, 0x00010000)
>>                 Device (UPSB)	//03:00.0
>>                 {
>>                     Name (_ADR, 0x00)
>>                     Device (DSB2)	//04:04.0
>>                     {
>>                         Name (_ADR, 0x00040000)
>>                         Method (_RMV, 0, NotSerialized)
>>                         {
>>                             Return (OSDW ()) // OSDW-> OS is Darwin
>>                         }
>>                         Device (UPS2)	//37:00.0
>>                         {
>>                             Name (_ADR, 0x00)
>> 			}
>> 		    }
>> 		}
>> 	    }
>> 	}
>>
>> But _RMV method only returns 1 on iOS or Max OS X. That means ACPI based hotplug is disabled
>> on Linux for your system. And as Yinghai has pointed out, all the PCIe downstream ports on 
>> the system don't support PCIe hotplug. So need BIOS or hardware changes to support Thunderbolt
>> cable hotplug on your system.
> 
> I'm not deep into how acpi works, but wondering: Can't we replace that part,
> change the tree or emulate a different OSDW() method similar to LD_PRELOAD?
> 
> Cheers,
> 
> Nico
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-05 15:18                           ` Jiang Liu
  2012-05-05 16:48                             ` Nico Schottelius
@ 2012-05-06  3:59                             ` Francois Rigaut
  1 sibling, 0 replies; 27+ messages in thread
From: Francois Rigaut @ 2012-05-06  3:59 UTC (permalink / raw)
  To: Jiang Liu; +Cc: Yinghai Lu, Greg KH, linux-pci, Nico Schottelius, LKML

Hi Jiang Liu,

I guess this confirms a presentation at the last Linux Plumber 
conference (September 2011) by John Ronciak (intel).
The presentation is entitled "Thunderbolt Technology: What is it and 
what are the Open Source Implications"
You can get it here http://maumae.net/thunderbolt/Plumbers-Thunderbolt.odp

In particular, slide 9 "Thunderbolt Technology: What does this mean for SW"
states:
"Hot plug PCIe (BIOS/ACPI/OS) - BIOS issues being worked"
so I guess someone at intel is working in the same issue and has indeed 
identified the same BIOS limitations.

I'll try to contact John Ronciak (unless someone here knows him and 
volunteer to ask) to inquire the state of progress of this work.

Thanks to anyone that have provided insight !
Francois


On 06/05/12 01:18, Jiang Liu wrote:
> Hi Francois,
> 	It seems that the PCI topology related to the Thunderbird is:
> 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
> 	03:00.0 PCI bridge: Intel Corporation Device 151a (rev 01)
> 	04:00.0 PCI bridge: Intel Corporation Device 151a (rev 01)
> 	04:03.0 PCI bridge: Intel Corporation Device 151a (rev 01)
> 	04:04.0 PCI bridge: Intel Corporation Device 151a (rev 01)
> 		37:00.0 PCI bridge: Intel Corporation Device 1513
> 		38:00.0 PCI bridge: Intel Corporation Device 1513
> 			39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
> 			3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
> 				3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
> 				3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
> 				3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
> 		38:01.0 PCI bridge: Intel Corporation Device 1513
> 			3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
> 		38:02.0 PCI bridge: Intel Corporation Device 1513
> 			3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
> 		38:03.0 PCI bridge: Intel Corporation Device 1513
> 		38:04.0 PCI bridge: Intel Corporation Device 1513
> 		38:05.0 PCI bridge: Intel Corporation Device 1513
>
> It's really a complex topology. The longest path has root port + 3 PCIe switches + endpoint.
> The device with id "Intel Corporation Device 151a", "Intel Corporation Device 1513" and
> "Pericom Semiconductor Device 400c" should be 3 PCIe switches. I guess the thunderbird
> cable is used to connect 04:04.0 to the second PCIe switch with device ID "Intel Corporation
> Device 1513".
>
> According to the acpidump sent out by you, I guess the relationship among PCIe and ACPI is as below:
>          Device (PCI0)	// PCIe host bridge
>          {
>              Name (_HID, EisaId ("PNP0A08"))
>              Device (P0P2)	//00:01.0
>              {
>                  Name (_ADR, 0x00010000)
>                  Device (UPSB)	//03:00.0
>                  {
>                      Name (_ADR, 0x00)
>                      Device (DSB2)	//04:04.0
>                      {
>                          Name (_ADR, 0x00040000)
>                          Method (_RMV, 0, NotSerialized)
>                          {
>                              Return (OSDW ()) // OSDW->  OS is Darwin
>                          }
>                          Device (UPS2)	//37:00.0
>                          {
>                              Name (_ADR, 0x00)
> 			}
> 		    }
> 		}
> 	    }
> 	}
>
> But _RMV method only returns 1 on iOS or Max OS X. That means ACPI based hotplug is disabled
> on Linux for your system. And as Yinghai has pointed out, all the PCIe downstream ports on
> the system don't support PCIe hotplug. So need BIOS or hardware changes to support Thunderbolt
> cable hotplug on your system.
>
> On 05/05/2012 12:19 PM, Francois Rigaut wrote:
>> On 05/05/12 05:38, Yinghai Lu wrote:
>>> On Fri, May 4, 2012 at 12:37 PM, Yinghai Lu<yinghai@kernel.org>   wrote:
>>>> On Fri, May 4, 2012 at 11:48 AM, Greg KH<gregkh@linuxfoundation.org>   wrote:
>>>>> Ok, it looks like these are the devices that we are missing while
>>>>> "hotplugging":
>>>>> 37:00.0 PCI bridge: Intel Corporation Device 1513
>>>>> 38:00.0 PCI bridge: Intel Corporation Device 1513
>>>>> 38:01.0 PCI bridge: Intel Corporation Device 1513
>>>>> 38:02.0 PCI bridge: Intel Corporation Device 1513
>>>>> 38:03.0 PCI bridge: Intel Corporation Device 1513
>>>>> 38:04.0 PCI bridge: Intel Corporation Device 1513
>>>>> 38:05.0 PCI bridge: Intel Corporation Device 1513
>>>>> 39:00.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>>>>> 3a:03.0 PCI bridge: Pericom Semiconductor Device 400c (rev 02)
>>>>> 3b:00.0 USB controller: Pericom Semiconductor Device 400e (rev 01)
>>>>> 3b:00.1 USB controller: Pericom Semiconductor Device 400e (rev 01)
>>>>> 3b:00.2 USB controller: Pericom Semiconductor Device 400f (rev 01)
>>>>> 3c:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe (rev 10)
>>>>> 3d:00.0 FireWire (IEEE 1394): nee Agere Systems nee Lucent
>>>>> Microelectronics FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)
>>>>>
>>>>> Which is good, I was worried that there was a video controller out there
>>>>> on the end of the thunderbolt link.
>>>>>
>>>>> So, the problem really is two here:
>>>>>    - your video card doesn't detect the new display
>>>>>    - your pci devices do not show up
>>>>>
>>>>> The first one probably needs to be reported to the Intel video driver
>>>>> people, they can help you out the best.
>> no it's definitely not the first one. As you saw, there'sa whole bunch of other devices (3 USB, firewire, network) that do not show up either.
>>
>> The new info from Yinghai (thanks Yinghai) explains why hotpluging with pciehp did not work/detect the PCIE hotplug and did not result in *any* kernel messages.
>>
>> So the whole thing I guess boils down to making acpiphp work. And why it outputs the "no such device" error message and does not load:
>>
>> I tried with debug=1 and got a bit more info in the log files:
>>
>> [root@poliahu frigaut]# lsmod | grep -e acpi -e pci
>> acpi_cpufreq            5941  0
>> mperf                   1275  1 acpi_cpufreq
>> processor              26144  1 acpi_cpufreq
>> [root@poliahu frigaut]# modprobe acpiphp debug=1
>> ERROR: could not insert 'acpiphp': No such device
>>
>> at this point this message showed up in everything.log:
>> May  5 14:09:55 localhost kernel: [28329.700022] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> May  5 14:09:55 localhost kernel: [28329.702041] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
>> May  5 14:09:55 localhost kernel: [28329.702484] acpiphp_glue: found PCI-to-PCI bridge at PCI 0000:04:00.0
>> May  5 14:09:55 localhost kernel: [28329.702715] acpiphp_glue: Bus 0000:05 has 0 slots
>> May  5 14:09:55 localhost kernel: [28329.702720] acpiphp_glue: Total 0 slots
>>
>> then:
>> [root@poliahu frigaut]# lsmod | grep -e acpi -e pci
>> pci_hotplug            25324  0
>> acpi_cpufreq            5941  0
>> mperf                   1275  1 acpi_cpufreq
>> processor              26144  1 acpi_cpufreq
>> [root@poliahu frigaut]#
>>
>> shows that acpiphp was indeed not loaded (I assume the error occurs after it has written out the above messages in the log file), but pci_hotplug was as a dep of acpiphp I assume (thus, correct behavior).
>>
>> So we're back to the issue of the acpiphp load error.
>>
>> Greg, I see you're one of the authors of acpiphp:
>> #define DRIVER_VERSION    "0.5"
>> #define DRIVER_AUTHOR    "Greg Kroah-Hartman<gregkh@us.ibm.com>, Takayoshi Kochi<t-kochi@bq.jp.nec.com>, Matthew Wilcox<willy@hp.com>"
>> #define DRIVER_DESC    "ACPI Hot Plug PCI Controller Driver"
>>
>> but that might have been a while back?
>>
>> Cheers, and thanks,
>> Francois
>>
>>
>>
>>>>> The second one means that something is up with the pci hotplug
>>>>> controller.  I've cced the linux-pci list, the people there should be
>>>>> able to help out better than I, as I no longer have any PCI hotplug
>>>>> hardware to work with anymore.
>>>>>
>>>> those devices are under 04:04.0, but that does not have slot cap
>>>> enabled by BIOS. So pciehp is going to to help.
>>> should be: pciehp is not going to help.
>>>
>>> so acpiphp are involved?
>>>
>>> Yinghai
>> -- 
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-06  3:22                               ` Jiang Liu
@ 2012-05-09 16:05                                 ` Greg KH
  2012-05-10  1:49                                   ` Francois Rigaut
  0 siblings, 1 reply; 27+ messages in thread
From: Greg KH @ 2012-05-09 16:05 UTC (permalink / raw)
  To: Jiang Liu; +Cc: Nico Schottelius, Francois Rigaut, Yinghai Lu, linux-pci, LKML

On Sun, May 06, 2012 at 11:22:11AM +0800, Jiang Liu wrote:
> I'm afraid it won't work by just changing the OSDW() return value.
> After analysis the ACPI table, I guess the BIOS ACPI implementation doesn't
> confirm to the ACPI specification for hotplug, it needs special support in
> OS to enable Thunderbolt cable hotplug on that system. Maybe that's the
> reason why it's only enabled on Apple's OSes, not sure it's due to technical
> or business considerations.
> 
> This PCIe device "05:00.0 System peripheral: Intel Corporation Device 151a
> (rev 01)" may play a role in the Thunderbolt cable hotplug operations, but
> haven't figured it out yet.

Thanks for looking at this.

So either we need a BIOS update for this platform so that other
operating systems can work properly (i.e. full ACPI hotplug support), or
we write a new hotplug driver to handle this hardware properly.

Intel was rumored to have this working in their labs, I'll poke some
people to see if they have anything they can release...

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-09 16:05                                 ` Greg KH
@ 2012-05-10  1:49                                   ` Francois Rigaut
  2012-05-10  3:45                                     ` Greg KH
  0 siblings, 1 reply; 27+ messages in thread
From: Francois Rigaut @ 2012-05-10  1:49 UTC (permalink / raw)
  To: Greg KH; +Cc: Jiang Liu, Nico Schottelius, Yinghai Lu, linux-pci, LKML

Greg,

I went ahead and contacted John Ronciak at intel.
He gave a presentation on thunderbolt at the 2011 linux plumber conference.
Here is his answer:

"You are correct that most if not all issues related to Thunderbolt on 
Linux is due to BIOS problems. We have not seen anything other BIOS 
issues regarding Thunderbolt issues on Linux. When the BIOS is working 
correctly the hot-plug PCIe works fine wrt the kernel. These are things 
that cannot be fixed in the drivers or in kernel infrastructure. So 
newer systems are going to be better than older ones due to these BIOS 
issues."

Francois

On 10/05/12 02:05, Greg KH wrote:
> On Sun, May 06, 2012 at 11:22:11AM +0800, Jiang Liu wrote:
>> I'm afraid it won't work by just changing the OSDW() return value.
>> After analysis the ACPI table, I guess the BIOS ACPI implementation doesn't
>> confirm to the ACPI specification for hotplug, it needs special support in
>> OS to enable Thunderbolt cable hotplug on that system. Maybe that's the
>> reason why it's only enabled on Apple's OSes, not sure it's due to technical
>> or business considerations.
>>
>> This PCIe device "05:00.0 System peripheral: Intel Corporation Device 151a
>> (rev 01)" may play a role in the Thunderbolt cable hotplug operations, but
>> haven't figured it out yet.
> Thanks for looking at this.
>
> So either we need a BIOS update for this platform so that other
> operating systems can work properly (i.e. full ACPI hotplug support), or
> we write a new hotplug driver to handle this hardware properly.
>
> Intel was rumored to have this working in their labs, I'll poke some
> people to see if they have anything they can release...
>
> thanks,
>
> greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Linux Support for Thunderbolt using Apple Monitor
  2012-05-10  1:49                                   ` Francois Rigaut
@ 2012-05-10  3:45                                     ` Greg KH
  0 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2012-05-10  3:45 UTC (permalink / raw)
  To: Francois Rigaut; +Cc: Jiang Liu, Nico Schottelius, Yinghai Lu, linux-pci, LKML

On Thu, May 10, 2012 at 11:49:35AM +1000, Francois Rigaut wrote:
> Greg,
> 
> I went ahead and contacted John Ronciak at intel.
> He gave a presentation on thunderbolt at the 2011 linux plumber conference.
> Here is his answer:
> 
> "You are correct that most if not all issues related to Thunderbolt
> on Linux is due to BIOS problems. We have not seen anything other
> BIOS issues regarding Thunderbolt issues on Linux. When the BIOS is
> working correctly the hot-plug PCIe works fine wrt the kernel. These
> are things that cannot be fixed in the drivers or in kernel
> infrastructure. So newer systems are going to be better than older
> ones due to these BIOS issues."

Thanks for letting us know, so there's nothing we can do for these
machines, and we just have to hope the next-generation machines get this
correct.

greg k-h

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2012-05-10  3:45 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-19 16:38 Linux Support for Thunderbolt using Apple Monitor Nico Schottelius
2012-04-19 21:15 ` Greg KH
     [not found] ` <CAMVeQ8r_3vuAxzbLyKoecOHOOGijUDkLfw+MK7o-WoWbuOGSrg@mail.gmail.com>
2012-05-02 16:36   ` Nico Schottelius
2012-05-02 20:25     ` Greg KH
2012-05-03  6:50       ` Nico Schottelius
2012-05-03 15:34         ` Greg KH
     [not found]         ` <CAMVeQ8qYu4bShd_+pwRv8bShhusJMDa-jjoqu7EujS4jt7RSNA@mail.gmail.com>
2012-05-03 15:35           ` Greg KH
2012-05-03 18:40             ` Nico Schottelius
2012-05-03 18:51               ` Greg KH
     [not found]             ` <CAMVeQ8q3PMMGmFSgrnqbW2HVdfmN+LgatX3TSfv5_2Ebuuj=QQ@mail.gmail.com>
2012-05-03 23:38               ` Greg KH
2012-05-04  4:19                 ` Francois Rigaut
2012-05-04 18:48                   ` Greg KH
2012-05-04 19:37                     ` Yinghai Lu
2012-05-04 19:38                       ` Yinghai Lu
2012-05-05  4:19                         ` Francois Rigaut
2012-05-05  8:18                           ` Jiang Liu
2012-05-05  8:47                             ` Francois Rigaut
2012-05-05 15:27                               ` Jiang Liu
2012-05-05 15:18                           ` Jiang Liu
2012-05-05 16:48                             ` Nico Schottelius
2012-05-06  3:22                               ` Jiang Liu
2012-05-09 16:05                                 ` Greg KH
2012-05-10  1:49                                   ` Francois Rigaut
2012-05-10  3:45                                     ` Greg KH
2012-05-06  3:59                             ` Francois Rigaut
2012-05-05  0:28                     ` Francois Rigaut
2012-05-05  0:35                       ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).