Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

Linux Support for Thunderbolt using Apple Monitor

 

 

First page Previous page 1 2 Next page Last page  View All Linux kernel RSS feed   Index | Next | Previous | View Threaded


nico-linux-20120419 at schottelius

Apr 19, 2012, 9:38 AM

Post #1 of 27 (901 views)
Permalink
Linux Support for Thunderbolt using Apple Monitor

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

Apr 19, 2012, 2:15 PM

Post #2 of 27 (919 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


nico-linux-20120419 at schottelius

May 2, 2012, 9:36 AM

Post #3 of 27 (888 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 2, 2012, 1:25 PM

Post #4 of 27 (884 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


nico-linux-20120419 at schottelius

May 2, 2012, 11:50 PM

Post #5 of 27 (880 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 3, 2012, 8:34 AM

Post #6 of 27 (881 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 3, 2012, 8:35 AM

Post #7 of 27 (881 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


nico-linux-20120419 at schottelius

May 3, 2012, 11:40 AM

Post #8 of 27 (878 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 3, 2012, 11:51 AM

Post #9 of 27 (879 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 3, 2012, 4:38 PM

Post #10 of 27 (880 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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 [at] linuxfoundation> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


frigaut at gmail

May 3, 2012, 9:19 PM

Post #11 of 27 (875 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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 [at] poliah 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 4, 2012, 11:48 AM

Post #12 of 27 (876 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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 [at] poliah 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


yinghai at kernel

May 4, 2012, 12:37 PM

Post #13 of 27 (866 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

On Fri, May 4, 2012 at 11:48 AM, Greg KH <gregkh [at] linuxfoundation> 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-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


yinghai at kernel

May 4, 2012, 12:38 PM

Post #14 of 27 (866 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

On Fri, May 4, 2012 at 12:37 PM, Yinghai Lu <yinghai [at] kernel> wrote:
> On Fri, May 4, 2012 at 11:48 AM, Greg KH <gregkh [at] linuxfoundation> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


frigaut at gmail

May 4, 2012, 5:28 PM

Post #15 of 27 (869 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 4, 2012, 5:35 PM

Post #16 of 27 (864 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


frigaut at gmail

May 4, 2012, 9:19 PM

Post #17 of 27 (869 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

On 05/05/12 05:38, Yinghai Lu wrote:
> On Fri, May 4, 2012 at 12:37 PM, Yinghai Lu<yinghai [at] kernel> wrote:
>> On Fri, May 4, 2012 at 11:48 AM, Greg KH<gregkh [at] linuxfoundation> 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 [at] poliah frigaut]# lsmod | grep -e acpi -e pci
acpi_cpufreq 5941 0
mperf 1275 1 acpi_cpufreq
processor 26144 1 acpi_cpufreq
[root [at] poliah 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 [at] poliah 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 [at] poliah 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 [at] us>,
Takayoshi Kochi <t-kochi [at] bq>, Matthew Wilcox <willy [at] hp>"
#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 [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


liuj97 at gmail

May 5, 2012, 1:18 AM

Post #18 of 27 (862 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


frigaut at gmail

May 5, 2012, 1:47 AM

Post #19 of 27 (864 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


liuj97 at gmail

May 5, 2012, 8:18 AM

Post #20 of 27 (853 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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 [at] kernel> wrote:
>>> On Fri, May 4, 2012 at 11:48 AM, Greg KH<gregkh [at] linuxfoundation> 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 [at] poliah frigaut]# lsmod | grep -e acpi -e pci
> acpi_cpufreq 5941 0
> mperf 1275 1 acpi_cpufreq
> processor 26144 1 acpi_cpufreq
> [root [at] poliah 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 [at] poliah 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 [at] poliah 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 [at] us>, Takayoshi Kochi <t-kochi [at] bq>, Matthew Wilcox <willy [at] hp>"
> #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 [at] vger
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


liuj97 at gmail

May 5, 2012, 8:27 AM

Post #21 of 27 (851 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


nico-linux-20120419 at schottelius

May 5, 2012, 9:48 AM

Post #22 of 27 (847 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


liuj97 at gmail

May 5, 2012, 8:22 PM

Post #23 of 27 (850 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


frigaut at gmail

May 5, 2012, 8:59 PM

Post #24 of 27 (853 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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 [at] kernel> wrote:
>>>> On Fri, May 4, 2012 at 11:48 AM, Greg KH<gregkh [at] linuxfoundation> 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 [at] poliah frigaut]# lsmod | grep -e acpi -e pci
>> acpi_cpufreq 5941 0
>> mperf 1275 1 acpi_cpufreq
>> processor 26144 1 acpi_cpufreq
>> [root [at] poliah 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 [at] poliah 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 [at] poliah 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 [at] us>, Takayoshi Kochi<t-kochi [at] bq>, Matthew Wilcox<willy [at] hp>"
>> #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 [at] vger
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregkh at linuxfoundation

May 9, 2012, 9:05 AM

Post #25 of 27 (832 views)
Permalink
Re: Linux Support for Thunderbolt using Apple Monitor [In reply to]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

First page Previous page 1 2 Next page Last page  View All Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.