[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c7259be5-f2e7-41d5-9078-f9074ccf71f7@amd.com>
Date: Mon, 6 Nov 2023 10:50:08 -0600
From: Mario Limonciello <mario.limonciello@....com>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: Karol Herbst <kherbst@...hat.com>, Lyude Paul <lyude@...hat.com>,
Alex Deucher <alexander.deucher@....com>,
Christian König <christian.koenig@....com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Hans de Goede <hdegoede@...hat.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Lukas Wunner <lukas@...ner.de>,
Danilo Krummrich <dakr@...hat.com>,
David Airlie <airlied@...il.com>,
Daniel Vetter <daniel@...ll.ch>,
Xinhui Pan <Xinhui.Pan@....com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Mark Gross <markgross@...nel.org>,
Andreas Noever <andreas.noever@...il.com>,
Michael Jamet <michael.jamet@...el.com>,
Yehezkel Bernat <YehezkelShB@...il.com>,
Pali Rohár <pali@...nel.org>,
Marek Behún <kabel@...nel.org>,
"Maciej W . Rozycki" <macro@...am.me.uk>,
Manivannan Sadhasivam <mani@...nel.org>,
"open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS"
<dri-devel@...ts.freedesktop.org>,
"open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS"
<nouveau@...ts.freedesktop.org>,
open list <linux-kernel@...r.kernel.org>,
"open list:RADEON and AMDGPU DRM DRIVERS"
<amd-gfx@...ts.freedesktop.org>,
"open list:PCI SUBSYSTEM" <linux-pci@...r.kernel.org>,
"open list:ACPI" <linux-acpi@...r.kernel.org>,
"open list:X86 PLATFORM DRIVERS"
<platform-driver-x86@...r.kernel.org>,
"open list:THUNDERBOLT DRIVER" <linux-usb@...r.kernel.org>
Subject: Re: [PATCH v2 5/9] PCI: pciehp: Move check for is_thunderbolt into a
quirk
On 11/6/2023 06:41, Ilpo Järvinen wrote:
> On Fri, 3 Nov 2023, Mario Limonciello wrote:
>
>> commit 493fb50e958c ("PCI: pciehp: Assume NoCompl+ for Thunderbolt
>> ports") added a check into pciehp code to explicitly set NoCompl+
>> for all Intel Thunderbolt controllers, including those that don't
>> need it.
>>
>> This overloaded the purpose of the `is_thunderbolt` member of
>> `struct pci_device` because that means that any controller that
>> identifies as thunderbolt would set NoCompl+ even if it doesn't
>> suffer this deficiency. As that commit helpfully specifies all the
>> controllers with the problem, move them into a PCI quirk.
>>
>> Signed-off-by: Mario Limonciello <mario.limonciello@....com>
>> ---
>> drivers/pci/hotplug/pciehp_hpc.c | 6 +-----
>> drivers/pci/quirks.c | 20 ++++++++++++++++++++
>> include/linux/pci.h | 1 +
>> 3 files changed, 22 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
>> index fd713abdfb9f..23a92d681d1c 100644
>> --- a/drivers/pci/hotplug/pciehp_hpc.c
>> +++ b/drivers/pci/hotplug/pciehp_hpc.c
>> @@ -991,11 +991,7 @@ struct controller *pcie_init(struct pcie_device *dev)
>> if (pdev->hotplug_user_indicators)
>> slot_cap &= ~(PCI_EXP_SLTCAP_AIP | PCI_EXP_SLTCAP_PIP);
>>
>> - /*
>> - * We assume no Thunderbolt controllers support Command Complete events,
>> - * but some controllers falsely claim they do.
>> - */
>> - if (pdev->is_thunderbolt)
>> + if (pdev->no_command_complete)
>> slot_cap |= PCI_EXP_SLTCAP_NCCS;
>>
>> ctrl->slot_cap = slot_cap;
>> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>> index eeec1d6f9023..4bbf6e33ca11 100644
>> --- a/drivers/pci/quirks.c
>> +++ b/drivers/pci/quirks.c
>> @@ -3807,6 +3807,26 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CACTUS_RIDGE_4C
>> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PORT_RIDGE,
>> quirk_thunderbolt_hotplug_msi);
>>
>> +/*
>> + * We assume no Thunderbolt controllers support Command Complete events,
>> + * but some controllers falsely claim they do.
>
> IMO, this wording makes little sense with the new code. How about taking
> some text from the original commit's changelog:
>
> /*
> * Certain Thunderbolt 1 controllers falsely claim to support Command
> * Completed events.
> */
>
> The code change looks fine.
>
Ack, will change.
Powered by blists - more mailing lists