[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240805132653.GB7274@thinkpad>
Date: Mon, 5 Aug 2024 18:56:53 +0530
From: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
To: kernel test robot <lkp@...el.com>
Cc: Manivannan Sadhasivam via B4 Relay <devnull+manivannan.sadhasivam.linaro.org@...nel.org>,
Bjorn Helgaas <helgaas@...nel.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Len Brown <lenb@...nel.org>, oe-kbuild-all@...ts.linux.dev,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, lukas@...ner.de,
mika.westerberg@...ux.intel.com, Hsin-Yi Wang <hsinyi@...omium.org>
Subject: Re: [PATCH v5 2/4] PCI: Rename pci_bridge_d3_possible() to
pci_bridge_d3_allowed()
On Sat, Aug 03, 2024 at 07:03:56PM +0800, kernel test robot wrote:
> Hi Manivannan,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on 705c1da8fa4816fb0159b5602fef1df5946a3ee2]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Manivannan-Sadhasivam-via-B4-Relay/PCI-portdrv-Make-use-of-pci_dev-bridge_d3-for-checking-the-D3-possibility/20240803-074434
> base: 705c1da8fa4816fb0159b5602fef1df5946a3ee2
> patch link: https://lore.kernel.org/r/20240802-pci-bridge-d3-v5-2-2426dd9e8e27%40linaro.org
> patch subject: [PATCH v5 2/4] PCI: Rename pci_bridge_d3_possible() to pci_bridge_d3_allowed()
> config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20240803/202408031855.TEPJlfzl-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240803/202408031855.TEPJlfzl-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202408031855.TEPJlfzl-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> drivers/gpu/drm/radeon/radeon_atpx_handler.c: In function 'radeon_atpx_detect':
> >> drivers/gpu/drm/radeon/radeon_atpx_handler.c:568:59: error: 'struct pci_dev' has no member named 'bridge_d3'
> 568 | d3_supported |= parent_pdev && parent_pdev->bridge_d3;
> | ^~
> drivers/gpu/drm/radeon/radeon_atpx_handler.c:578:59: error: 'struct pci_dev' has no member named 'bridge_d3'
> 578 | d3_supported |= parent_pdev && parent_pdev->bridge_d3;
> | ^~
> --
> drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c: In function 'amdgpu_atpx_detect':
> >> drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c:628:59: error: 'struct pci_dev' has no member named 'bridge_d3'
> 628 | d3_supported |= parent_pdev && parent_pdev->bridge_d3;
> | ^~
> drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c:638:59: error: 'struct pci_dev' has no member named 'bridge_d3'
> 638 | d3_supported |= parent_pdev && parent_pdev->bridge_d3;
> | ^~
> --
> drivers/gpu/drm/nouveau/nouveau_acpi.c: In function 'nouveau_dsm_pci_probe':
> >> drivers/gpu/drm/nouveau/nouveau_acpi.c:229:32: error: 'struct pci_dev' has no member named 'bridge_d3'
> 229 | if (parent_pdev->bridge_d3)
> | ^~
Ok, there seems to be a couple of drivers making use of pci_dev::bridge_d3 to
check if D3Cold is supported or not. And this further strengthens the fact that
PCI core should not rely on pci_bridge_d3_possible() as proposed in patch 1.
- Mani
>
>
> vim +568 drivers/gpu/drm/radeon/radeon_atpx_handler.c
>
> 6a9ee8af344e3b Dave Airlie 2010-02-01 545
> 82e029357d4726 Alex Deucher 2012-08-16 546 /**
> 82e029357d4726 Alex Deucher 2012-08-16 547 * radeon_atpx_detect - detect whether we have PX
> 82e029357d4726 Alex Deucher 2012-08-16 548 *
> 82e029357d4726 Alex Deucher 2012-08-16 549 * Check if we have a PX system (all asics).
> 82e029357d4726 Alex Deucher 2012-08-16 550 * Returns true if we have a PX system, false if not.
> 82e029357d4726 Alex Deucher 2012-08-16 551 */
> 6a9ee8af344e3b Dave Airlie 2010-02-01 552 static bool radeon_atpx_detect(void)
> 6a9ee8af344e3b Dave Airlie 2010-02-01 553 {
> 6a9ee8af344e3b Dave Airlie 2010-02-01 554 char acpi_method_name[255] = { 0 };
> 6a9ee8af344e3b Dave Airlie 2010-02-01 555 struct acpi_buffer buffer = {sizeof(acpi_method_name), acpi_method_name};
> 6a9ee8af344e3b Dave Airlie 2010-02-01 556 struct pci_dev *pdev = NULL;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 557 bool has_atpx = false;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 558 int vga_count = 0;
> bcfdd5d5105087 Alex Deucher 2016-11-28 559 bool d3_supported = false;
> bcfdd5d5105087 Alex Deucher 2016-11-28 560 struct pci_dev *parent_pdev;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 561
> 6a9ee8af344e3b Dave Airlie 2010-02-01 562 while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) {
> 6a9ee8af344e3b Dave Airlie 2010-02-01 563 vga_count++;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 564
> 6a9ee8af344e3b Dave Airlie 2010-02-01 565 has_atpx |= (radeon_atpx_pci_probe_handle(pdev) == true);
> bcfdd5d5105087 Alex Deucher 2016-11-28 566
> bcfdd5d5105087 Alex Deucher 2016-11-28 567 parent_pdev = pci_upstream_bridge(pdev);
> bcfdd5d5105087 Alex Deucher 2016-11-28 @568 d3_supported |= parent_pdev && parent_pdev->bridge_d3;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 569 }
> 6a9ee8af344e3b Dave Airlie 2010-02-01 570
> e9a4099a59cc59 Alex Deucher 2014-04-15 571 /* some newer PX laptops mark the dGPU as a non-VGA display device */
> e9a4099a59cc59 Alex Deucher 2014-04-15 572 while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_OTHER << 8, pdev)) != NULL) {
> e9a4099a59cc59 Alex Deucher 2014-04-15 573 vga_count++;
> e9a4099a59cc59 Alex Deucher 2014-04-15 574
> e9a4099a59cc59 Alex Deucher 2014-04-15 575 has_atpx |= (radeon_atpx_pci_probe_handle(pdev) == true);
> bcfdd5d5105087 Alex Deucher 2016-11-28 576
> bcfdd5d5105087 Alex Deucher 2016-11-28 577 parent_pdev = pci_upstream_bridge(pdev);
> bcfdd5d5105087 Alex Deucher 2016-11-28 578 d3_supported |= parent_pdev && parent_pdev->bridge_d3;
> e9a4099a59cc59 Alex Deucher 2014-04-15 579 }
> e9a4099a59cc59 Alex Deucher 2014-04-15 580
> 6a9ee8af344e3b Dave Airlie 2010-02-01 581 if (has_atpx && vga_count == 2) {
> 492b49a2f21a7c Alex Deucher 2012-08-16 582 acpi_get_name(radeon_atpx_priv.atpx.handle, ACPI_FULL_PATHNAME, &buffer);
> 7ca85295d8cc28 Joe Perches 2017-02-28 583 pr_info("vga_switcheroo: detected switching method %s handle\n",
> 6a9ee8af344e3b Dave Airlie 2010-02-01 584 acpi_method_name);
> 6a9ee8af344e3b Dave Airlie 2010-02-01 585 radeon_atpx_priv.atpx_detected = true;
> bcfdd5d5105087 Alex Deucher 2016-11-28 586 radeon_atpx_priv.bridge_pm_usable = d3_supported;
> 69ee9742f945cd Alex Deucher 2016-07-27 587 radeon_atpx_init();
> 6a9ee8af344e3b Dave Airlie 2010-02-01 588 return true;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 589 }
> 6a9ee8af344e3b Dave Airlie 2010-02-01 590 return false;
> 6a9ee8af344e3b Dave Airlie 2010-02-01 591 }
> 6a9ee8af344e3b Dave Airlie 2010-02-01 592
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists