public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiang Liu <liuj97@gmail.com>
To: Nico Schottelius <nico-linux-20120419@schottelius.org>,
	Francois Rigaut <frigaut@gmail.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: Linux Support for Thunderbolt using Apple Monitor
Date: Sun, 06 May 2012 11:22:11 +0800	[thread overview]
Message-ID: <4FA5EE63.1050208@gmail.com> (raw)
In-Reply-To: <20120505164819.GA21599@schottelius.org>

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
> 


  reply	other threads:[~2012-05-06  3:22 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FA5EE63.1050208@gmail.com \
    --to=liuj97@gmail.com \
    --cc=frigaut@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=nico-linux-20120419@schottelius.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox