[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z71CZyU11-cBXawr@wunner.de>
Date: Tue, 25 Feb 2025 05:09:11 +0100
From: Lukas Wunner <lukas@...ner.de>
To: Feng Tang <feng.tang@...ux.alibaba.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>,
Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@...ux.intel.com>,
Liguang Zhang <zhangliguang@...ux.alibaba.com>,
Guanghui Feng <guanghuifeng@...ux.alibaba.com>, rafael@...nel.org,
Markus Elfring <Markus.Elfring@....de>, lkp@...el.com,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
ilpo.jarvinen@...ux.intel.com, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/4] PCI/portdrv: Loose the condition check for
disabling hotplug interrupts
On Mon, Feb 24, 2025 at 11:44:59AM +0800, Feng Tang wrote:
> Currently when 'pcie_ports_native' and host's 'native_pcie_hotplug' are
> both false, kernel will not disable PCIe hotplug interrupts. But as
> those could be affected by software setup like kernel cmdline parameter,
> remove the depency over them.
[...]
> --- a/drivers/pci/pcie/portdrv.c
> +++ b/drivers/pci/pcie/portdrv.c
> @@ -263,9 +263,9 @@ static int get_port_device_capability(struct pci_dev *dev)
>
> if (dev->is_hotplug_bridge &&
> (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT ||
> - pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM) &&
> - (pcie_ports_native || host->native_pcie_hotplug)) {
> - services |= PCIE_PORT_SERVICE_HP;
> + pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM)) {
> + if (pcie_ports_native || host->native_pcie_hotplug)
> + services |= PCIE_PORT_SERVICE_HP;
>
> /*
> * Disable hot-plug interrupts in case they have been enabled
If the platform doesn't grant hotplug control to OSPM, OSPM isn't allowed
to disable interrupts behind the platform's back.
So this change doesn't seem safe and we should focus on finding out
why the platform isn't granting hotplug control in the pci=nomsi case.
Thanks,
Lukas
Powered by blists - more mailing lists