Re: Thunderbolt hotplug not working on MacMini7,1

From: Adam Goode
Date: Wed Apr 22 2015 - 22:57:15 EST


On Wed, Apr 22, 2015 at 12:05 AM, Adam Goode <adam@xxxxxxxxxxxxx> wrote:
> (resending in plain text)
> (please CC me on replies, I am not on LKML)
>
> Hi,
>
> I have a new Mac Mini (MacMini7,1). This model supports hotplugging of
> Thunderbolt on Windows 8 and above. Unfortunately hotplug does not
> seem to be working for me under Linux. I get the default behavior of
> devices only working if plugged in during boot.
>
> Also, the changes made to support Darwin for _OSI seems to make it
> impossible to override. This makes it hard to test if the ACPI support
> for Windows 2012 will just work on Linux. I have not built a kernel
> yet with Darwin _OSI patched out.
>
> Any ideas? I think there are 2 ways forward:
>
> 1. Fix the thunderbolt code to work with this new Mac.
> 2. Limit the Darwin _OSI response to a whitelisted set of Mac
> machines. It seems like new Macs going forward may work best with the
> standard Windows 2012 response. I don't know if this method would have
> advantages over #1. The obvious change might be chained hotplugging
> support. I don't have a chained device to test.
>

I have fixed the issue on my machine. On the Mac Mini, the 0x156c
device has no subvendor or subdevice. When I added the new id to
nhi_ids, everything worked without changing anything else in the
kernel. This is in the _OSI("Darwin").

Perhaps the driver is overmatching on subvendor/subdevice. Is it
necessary to do so on some models?

Can PCI_ANY_ID just be used for subvendor/subdevice?


Thanks,

Adam
--
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/