diff mbox series

[v3,4/5] ACPI/PCI: Ignore _OSC DPC negotiation result if pcie_ports_dpc_native is set.

Message ID d458d4f4e7db645af6c00e10f4c3f517aa4d4209.1590355824.git.sathyanarayanan.kuppuswamy@linux.intel.com
State New
Headers show
Series Remove AER HEST table parser | expand

Commit Message

Kuppuswamy, Sathyanarayanan May 24, 2020, 9:32 p.m. UTC
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>

pcie_ports_dpc_native is set only if user requests native handling
of PCIe DPC capability via pcie_port_setup command line option.
User input takes precedence over _OSC based control negotiation
result. So consider the _OSC negotiated result for DPC ownership
only if pcie_ports_dpc_native is unset.

Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
 drivers/acpi/pci_root.c | 2 ++
 include/linux/pci.h     | 2 ++
 2 files changed, 4 insertions(+)


kernel test robot May 26, 2020, 6:24 p.m. UTC | #1

I love your patch! Yet something to improve:

[auto build test ERROR on pci/next]
[also build test ERROR on v5.7-rc7 next-20200526]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/sathyanarayanan-kuppuswamy-linux-intel-com/Remove-AER-HEST-table-parser/20200525-053721
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: arm-gemini_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>, old ones prefixed by <<):

In file included from drivers/pci/pci-driver.c:7:
>> include/linux/pci.h:1554:31: error: 'false' redeclared as different kind of symbol
1554 | #define pcie_ports_dpc_native false
|                               ^~~~~
>> drivers/pci/pcie/portdrv.h:28:13: note: in expansion of macro 'pcie_ports_dpc_native'
28 | extern bool pcie_ports_dpc_native;
|             ^~~~~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/posix_types.h:5,
from include/uapi/linux/types.h:14,
from include/linux/types.h:6,
from include/linux/mod_devicetable.h:12,
from include/linux/pci.h:27,
from drivers/pci/pci-driver.c:7:
include/linux/stddef.h:11:2: note: previous definition of 'false' was here
11 |  false = 0,
|  ^~~~~

vim +/false +1554 include/linux/pci.h

  1548	extern bool pcie_ports_disabled;
  1549	extern bool pcie_ports_native;
  1550	extern bool pcie_ports_dpc_native;
  1551	#else
  1552	#define pcie_ports_disabled	true
  1553	#define pcie_ports_native	false
> 1554	#define pcie_ports_dpc_native	false
  1555	#endif

0-DAY CI Kernel Test Service, Intel Corporation
diff mbox series


diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index e0039ad3480a..f90dba464ec2 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -925,6 +925,8 @@  struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,
 			host_bridge->native_pme = 0;
 		if (!(root->osc_control_set & OSC_PCI_EXPRESS_LTR_CONTROL))
 			host_bridge->native_ltr = 0;
+	}
+	if (!pcie_ports_native && !pcie_ports_dpc_native) {
 		if (!(root->osc_control_set & OSC_PCI_EXPRESS_DPC_CONTROL))
 			host_bridge->native_dpc = 0;
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 83ce1cdf5676..07d4db97f5f4 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1547,9 +1547,11 @@  static inline int pci_irqd_intx_xlate(struct irq_domain *d,
 extern bool pcie_ports_disabled;
 extern bool pcie_ports_native;
+extern bool pcie_ports_dpc_native;
 #define pcie_ports_disabled	true
 #define pcie_ports_native	false
+#define pcie_ports_dpc_native	false
 #define PCIE_LINK_STATE_L0S		BIT(0)