Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933517AbbDWKIZ (ORCPT ); Thu, 23 Apr 2015 06:08:25 -0400 Received: from mail-ig0-f173.google.com ([209.85.213.173]:35362 "EHLO mail-ig0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933088AbbDWKIW (ORCPT ); Thu, 23 Apr 2015 06:08:22 -0400 MIME-Version: 1.0 In-Reply-To: References: From: Andreas Noever Date: Thu, 23 Apr 2015 12:08:01 +0200 Message-ID: Subject: Re: Thunderbolt hotplug not working on MacMini7,1 To: Adam Goode Cc: "linux-kernel@vger.kernel.org" , Matthew Garrett Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2722 Lines: 69 Hi Adam, On my system (MacBookPro10,1 - 4 channel TB1) the bridges and the controller both use 0x1547 and are only differentiated by subvendor/subdevice. 0x156c is the 4 channel TB2 controller and was originally added by Matthew. Judging from his patch it looks like the subvendor/subdevice is set on his system: http://patchwork.ozlabs.org/patch/354626/ But it also indicates that the bridges already use different ids. If that is the case then we can drop the subvendor/subdevice for 0x156c. Matthew can you confirm that on your system 0x156c is used only for the controller? Adam, could you check that suspend/resume works properly? Also your bugzilla report suggest that hotplug might now work without the driver. Could you try to revert the _OSI check (and disable the driver) and check whether everything "just works"? Andreas On Thu, Apr 23, 2015 at 4:56 AM, Adam Goode wrote: > On Wed, Apr 22, 2015 at 12:05 AM, Adam Goode 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/