search for: pci_find_next_ext_cap

Displaying 4 results from an estimated 4 matches for "pci_find_next_ext_cap".

2017 Feb 24
3
[PATCH 1/5] PCI: Recognize Thunderbolt devices
...t; +++ b/drivers/pci/probe.c > @@ -1208,6 +1208,24 @@ void set_pcie_hotplug_bridge(struct pci_dev *pdev) > pdev->is_hotplug_bridge = 1; > } > > +static void set_pcie_thunderbolt(struct pci_dev *dev) > +{ > + int vsec = 0; > + u32 header; > + > + while ((vsec = pci_find_next_ext_capability(dev, vsec, > + PCI_EXT_CAP_ID_VNDR))) { > + pci_read_config_dword(dev, vsec + PCI_VNDR_HEADER, &header); > + > + /* Is the device part of a Thunderbolt controller? */ > + if (dev->vendor == PCI_VENDOR_ID_INTEL && > + PCI_VNDR_HEADER_ID(header...
2017 Feb 25
0
[PATCH 1/5] PCI: Recognize Thunderbolt devices
...t; unsigned int reset_fn:1; > > unsigned int is_hotplug_bridge:1; > > + unsigned int is_thunderbolt:1; /* Thunderbolt controller */ > > I'm not really keen on having this in the PCI core because the core > doesn't need this or even know what it means. > > pci_find_next_ext_capability() is available to drivers, and if > Thunderbolt-connectedness is useful information to apple-gmux or GPU > drivers, it's fine with me if you want to use it there. I just don't > see the benefit to having it in the core. The above contradicts your statement 3 days earlier:...
2017 Feb 24
6
[PATCH 0/5] Thunderbolt GPU fixes
Fix Thunderbolt-related issues in apple-gmux and vga_switcheroo: Patch [1/5] ("Recognize Thunderbolt devices") has already been subjected to a fair amount of scrutiny over at linux-pci@, I've submitted it 5 times total since May 2016. With luck it may be in ack-able shape now. Patch [2/5] amends apple-gmux to handle combined DP/Thunderbolt ports properly on newer MacBook Pros.
2017 Feb 24
0
[PATCH 1/5] PCI: Recognize Thunderbolt devices
...70333..7963ecc6d85f 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -1208,6 +1208,24 @@ void set_pcie_hotplug_bridge(struct pci_dev *pdev) pdev->is_hotplug_bridge = 1; } +static void set_pcie_thunderbolt(struct pci_dev *dev) +{ + int vsec = 0; + u32 header; + + while ((vsec = pci_find_next_ext_capability(dev, vsec, + PCI_EXT_CAP_ID_VNDR))) { + pci_read_config_dword(dev, vsec + PCI_VNDR_HEADER, &header); + + /* Is the device part of a Thunderbolt controller? */ + if (dev->vendor == PCI_VENDOR_ID_INTEL && + PCI_VNDR_HEADER_ID(header) == PCI_VSEC_ID_INTEL_TBT) {...