* [igt-dev] [PATCH i-g-t] test/i915_pm_rpm: Verify bridge binds with pcieport driver
@ 2022-10-31 13:56 Anshuman Gupta
2022-10-31 17:04 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
2022-11-01 16:25 ` [igt-dev] [PATCH i-g-t] " Rodrigo Vivi
0 siblings, 2 replies; 3+ messages in thread
From: Anshuman Gupta @ 2022-10-31 13:56 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
It has been observed that on some Intel x86 host PCI core
does not bind the Intel dgfx catds's pci bridge
devices(virtual switch port) to the pcieport driver.
This leaves the pci bridge devices to D0 state and
burns power on dgfx card.
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
tests/i915/i915_pm_rpm.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index 1ff69a060a..92c30ae791 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -1545,12 +1545,12 @@ static void reg_read_ioctl_subtest(void)
igt_assert(wait_for_suspended());
}
-static bool device_in_pci_d3(void)
+static bool device_in_pci_d3(struct pci_device *pci_dev)
{
uint16_t val;
int rc;
- rc = pci_device_cfg_read_u16(igt_device_get_pci_device(drm_fd), &val, 0xd4);
+ rc = pci_device_cfg_read_u16(pci_dev, &val, 0xd4);
igt_assert_eq(rc, 0);
igt_debug("%s: PCI D3 state=%d\n", __func__, val & 0x3);
@@ -1559,10 +1559,18 @@ static bool device_in_pci_d3(void)
static void pci_d3_state_subtest(void)
{
+ struct pci_device *pci_dev, *bridge_pci_dev;
+
igt_require(has_runtime_pm);
+ pci_dev = igt_device_get_pci_device(drm_fd);
+ bridge_pci_dev = pci_device_get_parent_bridge(pci_dev);
+
disable_all_screens_and_wait(&ms_data);
- igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
+ igt_assert(igt_wait(device_in_pci_d3(pci_dev), 2000, 100));
+
+ if (gem_has_lmem(drm_fd))
+ igt_require((pci_device_has_kernel_driver(bridge_pci_dev));
enable_one_screen_or_forcewake_get_and_wait(&ms_data);
igt_assert(!device_in_pci_d3());
--
2.38.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [igt-dev] ✗ Fi.CI.BUILD: failure for test/i915_pm_rpm: Verify bridge binds with pcieport driver
2022-10-31 13:56 [igt-dev] [PATCH i-g-t] test/i915_pm_rpm: Verify bridge binds with pcieport driver Anshuman Gupta
@ 2022-10-31 17:04 ` Patchwork
2022-11-01 16:25 ` [igt-dev] [PATCH i-g-t] " Rodrigo Vivi
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2022-10-31 17:04 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
== Series Details ==
Series: test/i915_pm_rpm: Verify bridge binds with pcieport driver
URL : https://patchwork.freedesktop.org/series/110325/
State : failure
== Summary ==
IGT patchset build failed on latest successful build
372c56225e12578a7a4a6bcc5b79eb40b643fcde runner: Disable socket communications for now
| ^~~~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1500:13: warning: ‘gem_evict_pwrite_subtest’ defined but not used [-Wunused-function]
1500 | static void gem_evict_pwrite_subtest(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1491:13: warning: ‘gem_idle_subtest’ defined but not used [-Wunused-function]
1491 | static void gem_idle_subtest(void)
| ^~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1433:1: warning: ‘gem_execbuf_stress_subtest’ defined but not used [-Wunused-function]
1433 | gem_execbuf_stress_subtest(int rounds, int wait_flags,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1338:13: warning: ‘gem_execbuf_subtest’ defined but not used [-Wunused-function]
1338 | static void gem_execbuf_subtest(struct drm_i915_gem_memory_class_instance *mem_regions)
| ^~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1183:13: warning: ‘gem_pread_subtest’ defined but not used [-Wunused-function]
1183 | static void gem_pread_subtest(void)
| ^~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1114:13: warning: ‘gem_mmap_args’ defined but not used [-Wunused-function]
1114 | static void gem_mmap_args(const struct mmap_offset *t,
| ^~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1089:13: warning: ‘debugfs_forcewake_user_subtest’ defined but not used [-Wunused-function]
1089 | static void debugfs_forcewake_user_subtest(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1079:13: warning: ‘sysfs_read_subtest’ defined but not used [-Wunused-function]
1079 | static void sysfs_read_subtest(void)
| ^~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:1069:13: warning: ‘debugfs_read_subtest’ defined but not used [-Wunused-function]
1069 | static void debugfs_read_subtest(void)
| ^~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:991:13: warning: ‘i2c_subtest’ defined but not used [-Wunused-function]
991 | static void i2c_subtest(void)
| ^~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:947:13: warning: ‘drm_resources_equal_subtest’ defined but not used [-Wunused-function]
947 | static void drm_resources_equal_subtest(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:908:13: warning: ‘modeset_subtest’ defined but not used [-Wunused-function]
908 | static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
| ^~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:892:13: warning: ‘pc8_residency_subtest’ defined but not used [-Wunused-function]
892 | static void pc8_residency_subtest(void)
| ^~~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:882:13: warning: ‘basic_subtest’ defined but not used [-Wunused-function]
882 | static void basic_subtest(void)
| ^~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:863:13: warning: ‘teardown_environment’ defined but not used [-Wunused-function]
863 | static void teardown_environment(bool display_enabled)
| ^~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_rpm.c:828:13: warning: ‘setup_environment’ defined but not used [-Wunused-function]
828 | static bool setup_environment(bool display_enabled)
| ^~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] test/i915_pm_rpm: Verify bridge binds with pcieport driver
2022-10-31 13:56 [igt-dev] [PATCH i-g-t] test/i915_pm_rpm: Verify bridge binds with pcieport driver Anshuman Gupta
2022-10-31 17:04 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
@ 2022-11-01 16:25 ` Rodrigo Vivi
1 sibling, 0 replies; 3+ messages in thread
From: Rodrigo Vivi @ 2022-11-01 16:25 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev, badal.nilawar
On Mon, Oct 31, 2022 at 07:26:52PM +0530, Anshuman Gupta wrote:
> It has been observed that on some Intel x86 host PCI core
probably a comma would help, maybe here?!.........^
> does not bind the Intel dgfx catds's pci bridge
s/catds's pci/cards' pci/
> devices(virtual switch port) to the pcieport driver.
> This leaves the pci bridge devices to D0 state and
> burns power on dgfx card.
>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
> tests/i915/i915_pm_rpm.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> index 1ff69a060a..92c30ae791 100644
> --- a/tests/i915/i915_pm_rpm.c
> +++ b/tests/i915/i915_pm_rpm.c
> @@ -1545,12 +1545,12 @@ static void reg_read_ioctl_subtest(void)
> igt_assert(wait_for_suspended());
> }
>
> -static bool device_in_pci_d3(void)
> +static bool device_in_pci_d3(struct pci_device *pci_dev)
> {
> uint16_t val;
> int rc;
>
> - rc = pci_device_cfg_read_u16(igt_device_get_pci_device(drm_fd), &val, 0xd4);
> + rc = pci_device_cfg_read_u16(pci_dev, &val, 0xd4);
> igt_assert_eq(rc, 0);
>
> igt_debug("%s: PCI D3 state=%d\n", __func__, val & 0x3);
> @@ -1559,10 +1559,18 @@ static bool device_in_pci_d3(void)
>
> static void pci_d3_state_subtest(void)
> {
> + struct pci_device *pci_dev, *bridge_pci_dev;
> +
> igt_require(has_runtime_pm);
>
> + pci_dev = igt_device_get_pci_device(drm_fd);
> + bridge_pci_dev = pci_device_get_parent_bridge(pci_dev);
> +
> disable_all_screens_and_wait(&ms_data);
> - igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
> + igt_assert(igt_wait(device_in_pci_d3(pci_dev), 2000, 100));
> +
> + if (gem_has_lmem(drm_fd))
> + igt_require((pci_device_has_kernel_driver(bridge_pci_dev));
these last 2 lines seems to be doing the protection that commit msg
requests, right? but probably the above chunck deserves a separated patch?
or maybe explain a little bit more in the commit msg?
Thanks,
Rodrigo.
>
> enable_one_screen_or_forcewake_get_and_wait(&ms_data);
> igt_assert(!device_in_pci_d3());
> --
> 2.38.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-11-01 16:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-31 13:56 [igt-dev] [PATCH i-g-t] test/i915_pm_rpm: Verify bridge binds with pcieport driver Anshuman Gupta
2022-10-31 17:04 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
2022-11-01 16:25 ` [igt-dev] [PATCH i-g-t] " Rodrigo Vivi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox