linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI/DPC: Check host->native_dpc before enable dpc service
@ 2021-02-03 12:13 Yicong Yang
  2021-02-03 12:42 ` Yicong Yang
  0 siblings, 1 reply; 2+ messages in thread
From: Yicong Yang @ 2021-02-03 12:13 UTC (permalink / raw)
  To: helgaas, linux-pci
  Cc: sathyanarayanan.kuppuswamy, kbusch, sean.v.kelley, qiuxu.zhuo,
	prime.zeng, yangyicong, linuxarm

Per PCI Firmware Specification Rev. 3.2 Table 4-6,
Interpretation of _OSC Control Field Returned Value, for
bit 7 of _OSC control return value:

  "Firmware sets this bit to 1 to grant the OS control over PCI Express
  Downstream Port Containment configuration."
  "If control of this feature was requested and denied,
  or was not requested, the firmware returns this bit set to 0."

We store bit 7 of _OSC control return value in host->native_dpc,
check it before enable the dpc service as the firmware may not
grant the control.

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 drivers/pci/pcie/portdrv_core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
index e1fed664..7445d03 100644
--- a/drivers/pci/pcie/portdrv_core.c
+++ b/drivers/pci/pcie/portdrv_core.c
@@ -253,7 +253,8 @@ static int get_port_device_capability(struct pci_dev *dev)
 	 */
 	if (pci_find_ext_capability(dev, PCI_EXT_CAP_ID_DPC) &&
 	    pci_aer_available() &&
-	    (pcie_ports_dpc_native || (services & PCIE_PORT_SERVICE_AER)))
+	    (pcie_ports_dpc_native ||
+	    ((services & PCIE_PORT_SERVICE_AER) && host->native_dpc)))
 		services |= PCIE_PORT_SERVICE_DPC;
 
 	if (pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM ||
-- 
2.8.1


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

* Re: [PATCH] PCI/DPC: Check host->native_dpc before enable dpc service
  2021-02-03 12:13 [PATCH] PCI/DPC: Check host->native_dpc before enable dpc service Yicong Yang
@ 2021-02-03 12:42 ` Yicong Yang
  0 siblings, 0 replies; 2+ messages in thread
From: Yicong Yang @ 2021-02-03 12:42 UTC (permalink / raw)
  To: helgaas, linux-pci
  Cc: sathyanarayanan.kuppuswamy, kbusch, sean.v.kelley, qiuxu.zhuo,
	prime.zeng, linuxarm, yangyicong



On 2021/2/3 20:13, Yicong Yang wrote:
> Per PCI Firmware Specification Rev. 3.2 Table 4-6,
> Interpretation of _OSC Control Field Returned Value, for
> bit 7 of _OSC control return value:

Downstream Port Containment Related Enhancements ECN, Jan 28, 2019,
affecting PCI Firmware Specification, Rev. 3.2.

will resend to fix this. sorry.


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

end of thread, other threads:[~2021-02-03 12:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-03 12:13 [PATCH] PCI/DPC: Check host->native_dpc before enable dpc service Yicong Yang
2021-02-03 12:42 ` Yicong Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).