From: Mario Limonciello <mario.limonciello@amd.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>,
"open list:THUNDERBOLT DRIVER" <linux-usb@vger.kernel.org>,
"open list:RADEON and AMDGPU DRM DRIVERS"
<amd-gfx@lists.freedesktop.org>,
"open list:DRM DRIVERS" <dri-devel@lists.freedesktop.org>,
"open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS"
<nouveau@lists.freedesktop.org>
Cc: Andreas Noever <andreas.noever@gmail.com>,
Michael Jamet <michael.jamet@intel.com>,
Yehezkel Bernat <YehezkelShB@gmail.com>,
"Lukas Wunner" <lukas@wunner.de>, <Alexander.Deucher@amd.com>,
Hans de Goede <hdegoede@redhat.com>,
Mario Limonciello <mario.limonciello@amd.com>
Subject: [PATCH v4 00/10] Overhaul `is_thunderbolt`
Date: Mon, 14 Feb 2022 18:01:50 -0600 [thread overview]
Message-ID: <20220215000200.242799-1-mario.limonciello@amd.com> (raw)
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 v3->v4:
- Add tags from last review where applicable
- Update titles of different patches
- Add more comments and commit messages to various patches to address
comments raised in review
- Re-order the patch series, moving more contentious patches later
- Drop patch marking NHI removable
- Drop patch changing gmux on it's own, roll into patch to drop
`is_thunderbolt`
- Modify patch to mark integrated USB4 tunnel PCIe root ports as
"external" instead of removable.
- Modify patch to mark discrete USB4 tunnel root ports as "external"
instead of removable.
- Fix bit mask error in discrete USB4 tunnel patch
- Fix USB IF vendor designation location in pci_ids.h
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 (10):
PCI: Add USB4 class definition
PCI: Move `is_thunderbolt` check for lack of command completed to a
quirk
PCI: Detect root port of internal USB4 controllers
PCI: Detect PCIe root ports for discrete USB4 controllers
PCI: Move check for old Apple Thunderbolt controllers into a quirk
PCI: Drop the `is_thunderbolt` attribute from PCI core
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`
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 | 15 ++++-
drivers/pci/pci.c | 17 +++--
drivers/pci/probe.c | 52 ++++++++++++++-
drivers/pci/quirks.c | 84 +++++++++++++++++++++++++
drivers/platform/x86/apple-gmux.c | 2 +-
drivers/thunderbolt/nhi.h | 2 -
include/linux/pci.h | 25 +-------
include/linux/pci_ids.h | 3 +
14 files changed, 173 insertions(+), 47 deletions(-)
--
2.34.1
next reply other threads:[~2022-02-15 0:04 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-15 0:01 Mario Limonciello [this message]
2022-02-15 0:01 ` [PATCH v4 01/10] PCI: Add USB4 class definition Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 02/10] PCI: Move `is_thunderbolt` check for lack of command completed to a quirk Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 03/10] PCI: Detect root port of internal USB4 controllers Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 04/10] PCI: Detect PCIe root ports for discrete " Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 05/10] PCI: Move check for old Apple Thunderbolt controllers into a quirk Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 06/10] PCI: Drop the `is_thunderbolt` attribute from PCI core Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 07/10] drm/amd: drop the use of `pci_is_thunderbolt_attached` Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 08/10] drm/nouveau: " Mario Limonciello
2022-02-15 0:01 ` [PATCH v4 09/10] drm/radeon: " Mario Limonciello
2022-02-15 0:02 ` [PATCH v4 10/10] PCI: drop `pci_is_thunderbolt_attached` Mario Limonciello
2022-02-15 7:29 ` [PATCH v4 00/10] Overhaul `is_thunderbolt` Lukas Wunner
2022-02-15 19:07 ` Limonciello, Mario
2022-02-16 14:34 ` Mika Westerberg
2022-02-16 14:44 ` Alex Deucher
2022-02-16 16:50 ` Limonciello, Mario
2022-02-17 9:33 ` Mika Westerberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220215000200.242799-1-mario.limonciello@amd.com \
--to=mario.limonciello@amd.com \
--cc=Alexander.Deucher@amd.com \
--cc=YehezkelShB@gmail.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andreas.noever@gmail.com \
--cc=bhelgaas@google.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hdegoede@redhat.com \
--cc=linux-pci@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=michael.jamet@intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=nouveau@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox