Re: Linux Support for Thunderbolt using Apple Monitor
From: Jiang Liu
Date: Sat May 05 2012 - 23:23:02 EST
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/