All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/12] Overhaul `is_thunderbolt`
@ 2022-02-11 19:32 ` Mario Limonciello
  0 siblings, 0 replies; 122+ messages in thread
From: Mario Limonciello @ 2022-02-11 19:32 UTC (permalink / raw)
  To: Bjorn Helgaas, Mika Westerberg, open list:PCI SUBSYSTEM,
	open list:THUNDERBOLT DRIVER,
	open list:RADEON and AMDGPU DRM DRIVERS, open list:DRM DRIVERS,
	open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
  Cc: Andreas Noever, Michael Jamet, Yehezkel Bernat, Lukas Wunner,
	Alexander.Deucher, Hans de Goede, Mario Limonciello

Various drivers in the kernel use `is_thunderbolt` or
`pci_is_thunderbolt_attached` to designate behaving differently
from a device that is internally in the machine. This relies upon checks
for a specific capability only set on Intel controllers.

Non-Intel USB4 designs should also match this designation so that they
can be treated the same regardless of the host they're connected to.

As part of adding the generic USB4 controller code, it was realized that
`is_thunderbolt` and `pcie_is_thunderbolt_attached` have been overloaded.

Instead migrate to using removable attribute from device core.

Changes from v2->v3:
- Add various tags for patches that haven't changed from v2->v3
- Add new patches for Mika's suggestions:
  * Moving Apple Thunderbolt D3 declaration into quirks
  * Detect PCIe root port used for PCIe tunneling on integrated controllers
    using `usb4-host-interface`
  * Detect PCIe root port used for PCIe tunneling on discrete controllers
    using the USB4 DVSEC specification

Changes from v1->v2:
 - Add Alex's tag to first patch
 - Move lack of command completion into a quirk (Lukas)
 - Drop `is_thunderbolt` attribute and `pci_is_thunderbolt_attached` and
   use device core removable attribute instead
 - Adjust all consumers of old attribute to use removable

Note: this spans USB/DRM/platform-x86/PCI trees.
As a majority of the changes are in PCI, it should probably come through
that tree if possible.

Mario Limonciello (12):
  thunderbolt: move definition of PCI_CLASS_SERIAL_USB_USB4
  PCI: Move `is_thunderbolt` check for lack of command completed to a
    quirk
  PCI: Move check for old Apple Thunderbolt controllers into a quirk
  PCI: Drop the `is_thunderbolt` attribute from PCI core
  PCI: Detect root port of internal USB4 devices by
    `usb4-host-interface`
  PCI: Explicitly mark USB4 NHI devices as removable
  PCI: Set ports for discrete USB4 controllers appropriately
  drm/amd: drop the use of `pci_is_thunderbolt_attached`
  drm/nouveau: drop the use of `pci_is_thunderbolt_attached`
  drm/radeon: drop the use of `pci_is_thunderbolt_attached`
  platform/x86: amd-gmux: drop the use of `pci_is_thunderbolt_attached`
  PCI: drop `pci_is_thunderbolt_attached`

 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c  |  2 +-
 drivers/gpu/drm/nouveau/nouveau_vga.c   |  4 +-
 drivers/gpu/drm/radeon/radeon_device.c  |  4 +-
 drivers/gpu/drm/radeon/radeon_kms.c     |  2 +-
 drivers/pci/hotplug/pciehp_hpc.c        |  6 +--
 drivers/pci/pci-acpi.c                  | 10 ++++
 drivers/pci/pci.c                       | 12 +++--
 drivers/pci/pci.h                       |  5 ++
 drivers/pci/probe.c                     | 55 ++++++++++++++-----
 drivers/pci/quirks.c                    | 70 +++++++++++++++++++++++++
 drivers/platform/x86/apple-gmux.c       |  2 +-
 drivers/thunderbolt/nhi.h               |  2 -
 include/linux/pci.h                     | 25 +--------
 include/linux/pci_ids.h                 |  3 ++
 15 files changed, 148 insertions(+), 56 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 122+ messages in thread

end of thread, other threads:[~2022-02-21  1:13 UTC | newest]

Thread overview: 122+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-11 19:32 [PATCH v3 00/12] Overhaul `is_thunderbolt` Mario Limonciello
2022-02-11 19:32 ` [Nouveau] " Mario Limonciello
2022-02-11 19:32 ` Mario Limonciello
2022-02-11 19:32 ` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 01/12] thunderbolt: move definition of PCI_CLASS_SERIAL_USB_USB4 Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 21:02   ` Bjorn Helgaas
2022-02-11 21:02     ` Bjorn Helgaas
2022-02-11 21:02     ` Bjorn Helgaas
2022-02-11 21:02     ` [Nouveau] " Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 02/12] PCI: Move `is_thunderbolt` check for lack of command completed to a quirk Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 21:20   ` Bjorn Helgaas
2022-02-11 21:20     ` Bjorn Helgaas
2022-02-11 21:20     ` Bjorn Helgaas
2022-02-11 21:20     ` [Nouveau] " Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 03/12] PCI: Move check for old Apple Thunderbolt controllers into " Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 21:35   ` Bjorn Helgaas
2022-02-11 21:35     ` Bjorn Helgaas
2022-02-11 21:35     ` Bjorn Helgaas
2022-02-11 21:35     ` [Nouveau] " Bjorn Helgaas
2022-02-11 22:06     ` Limonciello, Mario
2022-02-11 22:06       ` [Nouveau] " Limonciello, Mario
2022-02-11 22:06       ` Limonciello, Mario
2022-02-11 22:06       ` Limonciello, Mario
2022-02-14  7:15       ` Mika Westerberg
2022-02-14  7:15         ` Mika Westerberg
2022-02-14  7:15         ` Mika Westerberg
2022-02-14  7:15         ` [Nouveau] " Mika Westerberg
2022-02-13  9:19   ` Lukas Wunner
2022-02-13  9:19     ` Lukas Wunner
2022-02-13  9:19     ` [Nouveau] " Lukas Wunner
2022-02-13  9:21     ` Lukas Wunner
2022-02-13  9:21       ` Lukas Wunner
2022-02-13  9:21       ` [Nouveau] " Lukas Wunner
2022-02-14  7:23     ` Mika Westerberg
2022-02-14  7:23       ` Mika Westerberg
2022-02-14  7:23       ` [Nouveau] " Mika Westerberg
2022-02-11 19:32 ` [PATCH v3 04/12] PCI: Drop the `is_thunderbolt` attribute from PCI core Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-13  8:20   ` Lukas Wunner
2022-02-13  8:20     ` Lukas Wunner
2022-02-13  8:20     ` [Nouveau] " Lukas Wunner
2022-02-13 17:26     ` Limonciello, Mario
2022-02-13 17:26       ` [Nouveau] " Limonciello, Mario
2022-02-13 17:26       ` Limonciello, Mario
2022-02-14  7:27       ` Mika Westerberg
2022-02-14  7:27         ` Mika Westerberg
2022-02-14  7:27         ` Mika Westerberg
2022-02-14  7:27         ` [Nouveau] " Mika Westerberg
2022-02-11 19:32 ` [PATCH v3 05/12] PCI: Detect root port of internal USB4 devices by `usb4-host-interface` Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 21:45   ` Bjorn Helgaas
2022-02-11 21:45     ` Bjorn Helgaas
2022-02-11 21:45     ` Bjorn Helgaas
2022-02-11 21:45     ` [Nouveau] " Bjorn Helgaas
2022-02-14  7:34     ` Mika Westerberg
2022-02-14  7:34       ` Mika Westerberg
2022-02-14  7:34       ` Mika Westerberg
2022-02-14  7:34       ` [Nouveau] " Mika Westerberg
2022-02-14  8:52       ` Lukas Wunner
2022-02-14  8:52         ` Lukas Wunner
2022-02-14  8:52         ` [Nouveau] " Lukas Wunner
2022-02-14 10:56         ` Mika Westerberg
2022-02-14 11:08           ` Mika Westerberg
2022-02-14 11:08           ` Mika Westerberg
2022-02-14 11:08           ` [Nouveau] " Mika Westerberg
2022-02-14 10:56           ` Mika Westerberg
2022-02-14 10:56           ` Mika Westerberg
2022-02-14 11:11           ` [Nouveau] " Mika Westerberg
2022-02-14 11:11             ` Mika Westerberg
2022-02-14 11:11             ` Mika Westerberg
2022-02-17 20:40           ` Bjorn Helgaas
2022-02-17 20:40             ` Bjorn Helgaas
2022-02-17 20:40             ` Bjorn Helgaas
2022-02-17 20:40             ` [Nouveau] " Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 06/12] PCI: Explicitly mark USB4 NHI devices as removable Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 21:58   ` Bjorn Helgaas
2022-02-11 21:58     ` Bjorn Helgaas
2022-02-11 21:58     ` [Nouveau] " Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 07/12] PCI: Set ports for discrete USB4 controllers appropriately Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 22:10   ` Bjorn Helgaas
2022-02-11 22:10     ` Bjorn Helgaas
2022-02-11 22:10     ` Bjorn Helgaas
2022-02-11 22:10     ` [Nouveau] " Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 08/12] drm/amd: drop the use of `pci_is_thunderbolt_attached` Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 09/12] drm/nouveau: " Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 10/12] drm/radeon: " Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 11/12] platform/x86: amd-gmux: " Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 12/12] PCI: drop `pci_is_thunderbolt_attached` Mario Limonciello
2022-02-11 19:32   ` [Nouveau] " Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello
2022-02-11 19:32   ` Mario Limonciello

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.