Skip to contentSkip to conversation

lpsp platform agnostic support

PATCH Superseded Anshuman Gupta 3 participants 13 messages May 5, 2020 – May 7, 2020 Library code

v6 of 8 Superseded Latest is v8 →

lore
Share & tools
lore
#0 lore raw

v6 cover lpsp platform agnostic support

This series adds lpsp igt val platform agnostic support.

v6 has fixed the few review comment provided by Animesh by adding a new patch in patchset.

Anshuman Gupta (6):
tests/i915_pm_lpsp: Nuke the panel-fitter test lib/igt_pm: Add lib func to get lpsp capability tests/i915_pm_lpsp: lpsp platform agnostic support test/i915_pm_lpsp: Skip screens-disabled test for DC state platforms tests/i915_pm_lpsp: screens-disabled subtest use igt_wait tests/i915_pm_rpm: lpsp/non-lpsp screen mode_set_data

 lib/igt_pm.c              |  29 ++++
 lib/igt_pm.h              |   1 +
 tests/i915/i915_pm_lpsp.c | 308 +++++++++++++++++---------------------
 tests/i915/i915_pm_rpm.c  |  53 ++++---
 4 files changed, 198 insertions(+), 193 deletions(-)
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#1 lore raw

PATCH v6 1/6 tests/i915_pm_lpsp: Nuke the panel-fitter test

panel-fitter subtest is only applicable to HASWELL/BROADWELL. It just tests non-lpsp(lpsp disabled) when panel fitter is enforced by std 1024x768 mode.
There is no ROI to test non-lpsp kind of thing,
If HSW_GLOBAL power well is not enabled we would see other display issues in other display tests.

Gen9+ platform has display scaling feature in built per pipe, as lpsp is all about low power single pipe (PIPE A) usage, gen9+ platforms also don't require panel-fitter subtest. This should save some CI cycles.

---
 tests/i915/i915_pm_lpsp.c | 2 --
 1 file changed, 2 deletions(-)
tests/i915/i915_pm_lpsp.c +0 -2
index 42938e10..08f82e7c 100644
@@ -219,8 +219,6 @@ igt_main
 		screens_disabled_subtest(drm_fd, drm_res);
 	igt_subtest("edp-native")
 		edp_subtest(drm_fd, drm_res, drm_connectors, devid, false);
-	igt_subtest("edp-panel-fitter")
-		edp_subtest(drm_fd, drm_res, drm_connectors, devid, true);
 	igt_subtest("non-edp")
 		non_edp_subtest(drm_fd, drm_res, drm_connectors);
 
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v6 1/6
#2 lore raw

Re: [igt-dev] [PATCH i-g-t v6 1/6] tests/i915_pm_lpsp: Nuke the panel-fitter test

Quoted 7 lines · Anshuman Gupta

panel-fitter subtest is only applicable to HASWELL/BROADWELL. It just tests non-lpsp(lpsp disabled) when panel fitter is enforced by std 1024x768 mode.
There is no ROI to test non-lpsp kind of thing,
If HSW_GLOBAL power well is not enabled we would see other display issues in other display tests.

Quoted 6 lines

Gen9+ platform has display scaling feature in built per pipe, as lpsp is all about low power single pipe (PIPE A) usage, gen9+ platforms also don't require panel-fitter subtest. This should save some CI cycles.

Changes looks good to me.

Quoted 9 lines
---
  tests/i915/i915_pm_lpsp.c | 2 --
  1 file changed, 2 deletions(-)
tests/i915/i915_pm_lpsp.c +0 -0
index 42938e10..08f82e7c 100644

tests/i915/i915_pm_lpsp.c igt_main · line 224

Quoted 8 lines
tests/i915/i915_pm_lpsp.c +0 -2
@@ -219,8 +219,6 @@ igt_main
  		screens_disabled_subtest(drm_fd, drm_res);
  	igt_subtest("edp-native")
  		edp_subtest(drm_fd, drm_res, drm_connectors, devid, false);
-	igt_subtest("edp-panel-fitter")
-		edp_subtest(drm_fd, drm_res, drm_connectors, devid, true);
  	igt_subtest("non-edp")
  		non_edp_subtest(drm_fd, drm_res, drm_connectors);
 

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#3 lore raw

PATCH v6 2/6 lib/igt_pm: Add lib func to get lpsp capability

In reply to Anshuman Gupta

This lib function evaluate the lpsp capability from the connector specific debugfs attribute i915_lpsp_info.

v2:
- changed the lib function prefix igt_output_is_lpsp_capable to i915_output_is_lpsp_capable. [Martin]
v3:
- early return for the connector which doesn't support lpsp on any platform.
v4:
- debugfs entry changed from i915_lpsp_info to i915_lpsp_capability. v5:
- return lpsp capability false if i915_lpsp_capability debugfs is not present. [Animesh]

---
 lib/igt_pm.c | 29 +++++++++++++++++++++++++++++
 lib/igt_pm.h |  1 +
 2 files changed, 30 insertions(+)
lib/igt_pm.c +29 -0
index 9d441e1b..b409ec46 100644
@@ -37,6 +37,7 @@
 #include <dirent.h>
 
 #include "drmtest.h"
+#include "igt_kms.h"
 #include "igt_pm.h"
 #include "igt_aux.h"
 #include "igt_sysfs.h"
@@ -827,3 +828,31 @@ bool igt_pm_pc8_plus_residencies_enabled(int msr_fd)
 
 	return true;
 }
+
+/**
+ * i915_output_is_lpsp_capable:
+ * @drm_fd: fd to drm device
+ * @output: igt output for which lpsp capability need to be evaluated
+ * Check lpsp capability for a given output.
+ *
+ * Returns:
+ * True if given output is lpsp capable otherwise false.
+ */
+bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output)
+{
+	char buf[256];
+	int fd, len;
+
+	fd = igt_debugfs_connector_dir(drm_fd, output->name, O_RDONLY);
+	igt_require(fd >= 0);
+	len = igt_debugfs_simple_read(fd, "i915_lpsp_capability",
+				      buf, sizeof(buf));
+
+	/* if i915_lpsp_capability not present return the capability as false */
+	if (len < 0)
+		return false;
+
+	close(fd);
+
+	return strstr(buf, "LPSP: capable");
+}
lib/igt_pm.h +1 -0
index 5e438452..162d3ca3 100644
@@ -53,5 +53,6 @@ enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
 bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
 bool igt_pm_dmc_loaded(int debugfs);
 bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
+bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
 
 #endif /* IGT_PM_H */
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#4 lore raw

PATCH v6 3/6 tests/i915_pm_lpsp: lpsp platform agnostic support

In reply to Anshuman Gupta

Current implementation of lpsp igt test, assumed that every non-edp panel isn't a lpsp panel but it is not true on TGL anymore, any HDMI/DP/DSI panel connected on pipe A and connected to PORT_{A,B,C} can drive LPSP.
Even on older Gen9 platform a DP panel can drive lpsp on Port A. This requires complete design change in current lpsp igt for a platform agnostic support.

The new igt approach is relies on connector specific i915_lpsp_capability and i915_lpsp_status debugfs attributes, these debugfs exposes whether an output is capable of driving lpsp and lpsp is enabled.

Nuking edp-native and non-edp test, introducing a new dynamic igt subtest kms-lpsp, which validates lpsp on each connected output and skip the subtest if output is not lpsp capable.

v2:
- CI failures fixup.
v3:
- removed unloading of snd_modules. [Martin]
v4:
- Don't test non-lpsp(if lpsp disabled), no ROI to test that.
- nuke panel-fitter test.
v5:
- Added dynamic subtest and igt changes according to kernel debugfs i915_lpsp_status changes.
v6:
- Avoided pipe big joiner by using 4k or lesser mode, so igt will not fail when pipe big joiner patches will land to kernel.

---
 tests/i915/i915_pm_lpsp.c | 301 +++++++++++++++++---------------------
 1 file changed, 133 insertions(+), 168 deletions(-)
tests/i915/i915_pm_lpsp.c +133 -168
index 08f82e7c..8d2e23fe 100644
@@ -25,210 +25,175 @@
  */
 
 #include "igt.h"
+#include "igt_kmod.h"
+#include "igt_pm.h"
+#include "igt_sysfs.h"
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <unistd.h>
 
+#define MAX_SINK_LPSP_INFO_BUF_LEN	4096
 
-static bool supports_lpsp(uint32_t devid)
-{
-	return IS_HASWELL(devid) || IS_BROADWELL(devid);
-}
+#define PWR_DOMAIN_INFO "i915_power_domain_info"
 
-static bool lpsp_is_enabled(int drm_fd)
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	char *pwr_dmn_info;
+	igt_display_t display;
+	struct igt_fb fb;
+	drmModeModeInfo *mode;
+	igt_output_t *output;
+} data_t;
+
+static bool lpsp_is_enabled(data_t *data)
 {
-	uint32_t val;
+	char buf[MAX_SINK_LPSP_INFO_BUF_LEN];
+	int len;
 
-	val = INREG(HSW_PWR_WELL_CTL2);
-	return !(val & HSW_PWR_WELL_STATE_ENABLED);
-}
+	len = igt_debugfs_simple_read(data->debugfs_fd, "i915_lpsp_status",
+				      buf, sizeof(buf));
+	if (len < 0)
+		igt_assert_eq(len, -ENODEV);
 
-/* The LPSP mode is all about an enabled pipe, but we expect to also be in the
- * low power mode when no pipes are enabled, so do this check anyway. */
-static void screens_disabled_subtest(int drm_fd, drmModeResPtr drm_res)
-{
-	kmstest_unset_all_crtcs(drm_fd, drm_res);
-	igt_assert(lpsp_is_enabled(drm_fd));
+	igt_skip_on(strstr(buf, "LPSP: not supported"));
+
+	return strstr(buf, "LPSP: enabled");
 }
 
-static uint32_t create_fb(int drm_fd, int width, int height)
+/*
+ * The LPSP mode is all about an enabled pipe, but we expect to also be in the
+ * low power mode when no pipes are enabled, so do this check anyway.
+ */
+static void screens_disabled_subtest(data_t *data)
 {
-	struct igt_fb fb;
+	igt_output_t *output;
+	int valid_output = 0;
+	enum pipe pipe;
+
+	for_each_pipe_with_single_output(&data->display, pipe, output) {
+		data->output = output;
+		igt_output_set_pipe(data->output, PIPE_NONE);
+		igt_display_commit(&data->display);
+		valid_output++;
+	}
 
-	return igt_create_pattern_fb(drm_fd, width, height, DRM_FORMAT_XRGB8888,
-				     LOCAL_DRM_FORMAT_MOD_NONE, &fb);
+	igt_require_f(valid_output, "No connected output found\n");
+	igt_assert_f(lpsp_is_enabled(data), "lpsp is not enabled\n%s:\n%s\n",
+		     PWR_DOMAIN_INFO, data->pwr_dmn_info =
+		     igt_sysfs_get(data->debugfs_fd, PWR_DOMAIN_INFO));
 }
 
-static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
-			drmModeConnectorPtr *drm_connectors, uint32_t devid,
-			bool use_panel_fitter)
+static void setup_lpsp_output(data_t *data)
 {
-	int i, rc;
-	uint32_t crtc_id = 0, buffer_id = 0;
-	drmModeConnectorPtr connector = NULL;
-	drmModeModeInfoPtr mode = NULL;
-	drmModeModeInfo std_1024_mode = {
-		.clock = 65000,
-		.hdisplay = 1024,
-		.hsync_start = 1048,
-		.hsync_end = 1184,
-		.htotal = 1344,
-		.hskew = 0,
-		.vdisplay = 768,
-		.vsync_start = 771,
-		.vsync_end = 777,
-		.vtotal = 806,
-		.vscan = 0,
-		.vrefresh = 60,
-		.flags = 0xA,
-		.type = 0x40,
-		.name = "Custom 1024x768",
-	};
-
-	kmstest_unset_all_crtcs(drm_fd, drm_res);
-
-	for (i = 0; i < drm_res->count_connectors; i++) {
-		drmModeConnectorPtr c = drm_connectors[i];
-
-		if (c->connector_type != DRM_MODE_CONNECTOR_eDP)
-			continue;
-		if (c->connection != DRM_MODE_CONNECTED)
-			continue;
-
-		if (!use_panel_fitter && c->count_modes) {
-			connector = c;
-			mode = &c->modes[0];
-			break;
-		}
-		if (use_panel_fitter) {
-			connector = c;
-
-			/* This is one of the modes Xorg creates for panels, so
-			 * it should work just fine. Notice that Gens that
-			 * support LPSP are too new for panels with native
-			 * 1024x768 resolution, so this should force the panel
-			 * fitter. */
-			igt_assert(c->count_modes &&
-				   c->modes[0].hdisplay > 1024);
-			igt_assert(c->count_modes &&
-				   c->modes[0].vdisplay > 768);
-			mode = &std_1024_mode;
-			break;
-		}
-	}
-	igt_require(connector);
-
-	crtc_id = kmstest_find_crtc_for_connector(drm_fd, drm_res, connector,
-						  0);
-	buffer_id = create_fb(drm_fd, mode->hdisplay, mode->vdisplay);
-
-	igt_assert(buffer_id);
-	igt_assert(connector);
-	igt_assert(mode);
-
-	rc = drmModeSetCrtc(drm_fd, crtc_id, buffer_id, 0, 0,
-			    &connector->connector_id, 1, mode);
-	igt_assert_eq(rc, 0);
-
-	if (use_panel_fitter) {
-		if (IS_HASWELL(devid))
-			igt_assert(!lpsp_is_enabled(drm_fd));
-		else
-			igt_assert(lpsp_is_enabled(drm_fd));
-	} else {
-		igt_assert(lpsp_is_enabled(drm_fd));
-	}
+	igt_plane_t *primary;
+
+	/* set output pipe = PIPE_A for LPSP */
+	igt_output_set_pipe(data->output, PIPE_A);
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_create_pattern_fb(data->drm_fd,
+			      data->mode->hdisplay, data->mode->vdisplay,
+			      DRM_FORMAT_XRGB8888,
+			      LOCAL_DRM_FORMAT_MOD_NONE,
+			      &data->fb);
+	igt_plane_set_fb(primary, &data->fb);
+	igt_display_commit(&data->display);
 }
 
-static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res,
-			    drmModeConnectorPtr *drm_connectors)
+static void test_cleanup(data_t *data)
 {
-	int i, rc;
-	uint32_t crtc_id = 0, buffer_id = 0;
-	drmModeConnectorPtr connector = NULL;
-	drmModeModeInfoPtr mode = NULL;
-
-	kmstest_unset_all_crtcs(drm_fd, drm_res);
-
-	for (i = 0; i < drm_res->count_connectors; i++) {
-		drmModeConnectorPtr c = drm_connectors[i];
-
-		if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
-			continue;
-		if (c->connection != DRM_MODE_CONNECTED)
-			continue;
+	igt_plane_t *primary;
+
+	if (!data->output || data->output->pending_pipe == PIPE_NONE)
+		return;
+
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_output_set_pipe(data->output, PIPE_NONE);
+	igt_display_commit(&data->display);
+	igt_remove_fb(data->drm_fd, &data->fb);
+	data->output = NULL;
+}
 
-		if (c->count_modes) {
-			connector = c;
-			mode = &c->modes[0];
-			break;
+static void test_lpsp(data_t *data)
+{
+	drmModeConnectorPtr c = data->output->config.connector;
+	int i;
+
+	/* LPSP is low power single pipe usages i.e. PIPE_A */
+	igt_require(igt_pipe_connector_valid(PIPE_A, data->output));
+	igt_require_f(i915_output_is_lpsp_capable(data->drm_fd, data->output),
+		      "output is not lpsp capable\n");
+
+	data->mode = igt_output_get_mode(data->output);
+
+	/* For LPSP avoid pipe big joiner by atleast 4k mode */
+	if (data->mode->hdisplay > 3860 && data->mode->vdisplay > 2160)
+		for (i = 1; i < c->count_modes; i++) {
+			if (c->modes[i].hdisplay <= 3860 &&
+			    c->modes[i].vdisplay <= 2160) {
+				data->mode = &c->modes[i];
+				igt_output_override_mode(data->output,
+							 data->mode);
+				break;
+			}
 		}
-	}
-	igt_require(connector);
-
-	crtc_id = kmstest_find_crtc_for_connector(drm_fd, drm_res, connector,
-						  0);
-	buffer_id = create_fb(drm_fd, mode->hdisplay, mode->vdisplay);
 
-	igt_assert(buffer_id);
-	igt_assert(mode);
+	igt_require(data->mode->hdisplay <= 3860 &&
+		    data->mode->vdisplay <= 2160);
 
-	rc = drmModeSetCrtc(drm_fd, crtc_id, buffer_id, 0, 0,
-			    &connector->connector_id, 1, mode);
-	igt_assert_eq(rc, 0);
-
-	igt_assert(!lpsp_is_enabled(drm_fd));
+	setup_lpsp_output(data);
+	igt_assert_f(lpsp_is_enabled(data), "%s: lpsp is not enabled\n%s:\n%s\n",
+		     data->output->name, PWR_DOMAIN_INFO, data->pwr_dmn_info =
+		     igt_sysfs_get(data->debugfs_fd, PWR_DOMAIN_INFO));
 }
 
-#define MAX_CONNECTORS 32
-
-int drm_fd;
-uint32_t devid;
-drmModeResPtr drm_res;
-drmModeConnectorPtr drm_connectors[MAX_CONNECTORS];
-struct intel_mmio_data mmio_data;
+IGT_TEST_DESCRIPTION("These tests validates display Low Power Single Pipe configurations");
 igt_main
 {
-	igt_fixture {
-		int i;
-
-		drm_fd = drm_open_driver_master(DRIVER_INTEL);
-		igt_require(drm_fd >= 0);
-
-		devid = intel_get_drm_devid(drm_fd);
+	data_t data = {};
 
-		drm_res = drmModeGetResources(drm_fd);
-		igt_require(drm_res);
-		igt_assert(drm_res->count_connectors <= MAX_CONNECTORS);
-
-		for (i = 0; i < drm_res->count_connectors; i++)
-			drm_connectors[i] = drmModeGetConnectorCurrent(drm_fd,
-							drm_res->connectors[i]);
+	igt_fixture {
 
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		igt_require(data.drm_fd >= 0);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd >= 0);
 		igt_pm_enable_audio_runtime_pm();
-
-		igt_require(supports_lpsp(devid));
-
-		intel_register_access_init(&mmio_data, intel_get_pci_device(), 0, drm_fd);
-
 		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		igt_display_require(&data.display, data.drm_fd);
+		igt_require(igt_pm_dmc_loaded(data.debugfs_fd));
 	}
 
+	igt_describe("This test validates lpsp while all crtc are disabled");
 	igt_subtest("screens-disabled")
-		screens_disabled_subtest(drm_fd, drm_res);
-	igt_subtest("edp-native")
-		edp_subtest(drm_fd, drm_res, drm_connectors, devid, false);
-	igt_subtest("non-edp")
-		non_edp_subtest(drm_fd, drm_res, drm_connectors);
+		screens_disabled_subtest(&data);
 
-	igt_fixture {
-		int i;
+	igt_describe("This test validates lpsp on all connected outputs on low power PIPE_A");
+	igt_subtest_with_dynamic_f("kms-lpsp") {
+		igt_display_t *display = &data.display;
+		igt_output_t *output;
+
+		for_each_connected_output(display, output) {
+			igt_dynamic_f("kms-lpsp-%s",
+				      kmstest_connector_type_str(output->config.connector->connector_type)) {
+				data.output = output;
+				test_lpsp(&data);
+			}
 
-		intel_register_access_fini(&mmio_data);
-		for (i = 0; i < drm_res->count_connectors; i++)
-			drmModeFreeConnector(drm_connectors[i]);
-		drmModeFreeResources(drm_res);
-		close(drm_fd);
+			test_cleanup(&data);
+		}
+	}
+
+	igt_fixture {
+		free(data.pwr_dmn_info);
+		close(data.drm_fd);
+		igt_display_fini(&data.display);
 	}
 }
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#5 lore raw

PATCH v6 4/6 test/i915_pm_lpsp: Skip screens-disabled test for DC state platforms

In reply to Anshuman Gupta

screens-disabled test is only valid for the plaforms like HSW/BDW where PG1 is Always-ON power domain, so these platform test lpsp with all screen disabled i.e validate PG2 when all screen are disabled.
DC state i.e DMC f/w supported platforms don't have any ROI to validate screen-disabled subtest as existing dc*-dpms i915_pm_dc subtest already validate it implicitly.
This should save some CI-Cycles.

---
 tests/i915/i915_pm_lpsp.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
tests/i915/i915_pm_lpsp.c +4 -1
index 8d2e23fe..56980de2 100644
@@ -172,8 +172,11 @@ igt_main
 	}
 
 	igt_describe("This test validates lpsp while all crtc are disabled");
-	igt_subtest("screens-disabled")
+	igt_subtest("screens-disabled") {
+		igt_skip_on_f(openat(data.debugfs_fd, "i915_dmc_info", O_RDONLY) > 0,
+			      "DC states supported platform don't have ROI for this subtest\n");
 		screens_disabled_subtest(&data);
+	}
 
 	igt_describe("This test validates lpsp on all connected outputs on low power PIPE_A");
 	igt_subtest_with_dynamic_f("kms-lpsp") {
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#6 lore raw

Re: [igt-dev] [PATCH i-g-t v6 4/6] test/i915_pm_lpsp: Skip screens-disabled test for DC state platforms

Quoted 19 lines · Anshuman Gupta

screens-disabled test is only valid for the plaforms like HSW/BDW where PG1 is Always-ON power domain, so these platform test lpsp with all screen disabled i.e validate PG2 when all screen are disabled.
DC state i.e DMC f/w supported platforms don't have any ROI to validate screen-disabled subtest as existing dc*-dpms i915_pm_dc subtest already validate it implicitly.
This should save some CI-Cycles.

---
  tests/i915/i915_pm_lpsp.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
tests/i915/i915_pm_lpsp.c +0 -0
index 8d2e23fe..56980de2 100644

tests/i915/i915_pm_lpsp.c igt_main · line 179

Quoted 9 lines
tests/i915/i915_pm_lpsp.c +4 -1
@@ -172,8 +172,11 @@ igt_main
  	}
 
  	igt_describe("This test validates lpsp while all crtc are disabled");
-	igt_subtest("screens-disabled")
+	igt_subtest("screens-disabled") {
+		igt_skip_on_f(openat(data.debugfs_fd, "i915_dmc_info", O_RDONLY) > 0,
+			      "DC states supported platform don't have ROI for this subtest\n");
  		screens_disabled_subtest(&data);
+	}

I agree from gen9 onward dmc support is present and same time we have multiple power-well having different pipe.
To avoid platform specific change I feel ok to check dmc info. Changes looks good to me.
Can you please club together the changes of this patch with previous one (3/6) where screens_disabled_subtest is implemented to give a better clarity on which platform it is targeted for.

Regards,
Animesh

tests/i915/i915_pm_lpsp.c igt_main · line 182

Quoted 3 lines
tests/i915/i915_pm_lpsp.c +0 -0
  	igt_describe("This test validates lpsp on all connected outputs on low power PIPE_A");
  	igt_subtest_with_dynamic_f("kms-lpsp") {

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#7 lore raw

PATCH v6 5/6 tests/i915_pm_lpsp: screens-disabled subtest use igt_wait

In reply to Anshuman Gupta

When all screens are disabled, it takes some time to release eDP/DP AUX IO power domain ref count. Also, delayed audio codec disabling takes time to release AUDIO power domain ref-count, using igt_wait to check lpsp after disabling all screens.

v2:
- Added a code comment for delay of igt_wait. [Animesh]

---
 tests/i915/i915_pm_lpsp.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
tests/i915/i915_pm_lpsp.c +3 -1
index 56980de2..986bfc03 100644
@@ -81,7 +81,9 @@ static void screens_disabled_subtest(data_t *data)
 	}
 
 	igt_require_f(valid_output, "No connected output found\n");
-	igt_assert_f(lpsp_is_enabled(data), "lpsp is not enabled\n%s:\n%s\n",
+	/* eDP panel may have power_cycle_delay of 600ms, 1sec delay is safer */
+	igt_assert_f(igt_wait(lpsp_is_enabled(data), 1000, 100),
+		     "lpsp is not enabled\n%s:\n%s\n",
 		     PWR_DOMAIN_INFO, data->pwr_dmn_info =
 		     igt_sysfs_get(data->debugfs_fd, PWR_DOMAIN_INFO));
 }
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v6 5/6
#8 lore raw

Re: [igt-dev] [PATCH i-g-t v6 5/6] tests/i915_pm_lpsp: screens-disabled subtest use igt_wait

Quoted 9 lines · Anshuman Gupta

When all screens are disabled, it takes some time to release eDP/DP AUX IO power domain ref count. Also, delayed audio codec disabling takes time to release AUDIO power domain ref-count, using igt_wait to check lpsp after disabling all screens.

v2:
- Added a code comment for delay of igt_wait. [Animesh]

Looks good to me.

Quoted 9 lines
---
  tests/i915/i915_pm_lpsp.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
tests/i915/i915_pm_lpsp.c +0 -0
index 56980de2..986bfc03 100644

tests/i915/i915_pm_lpsp.c static void screens_disabled_subtest(data_t *data) · line 89

Quoted 10 lines
tests/i915/i915_pm_lpsp.c +3 -1
@@ -81,7 +81,9 @@ static void screens_disabled_subtest(data_t *data)
  	}
 
  	igt_require_f(valid_output, "No connected output found\n");
-	igt_assert_f(lpsp_is_enabled(data), "lpsp is not enabled\n%s:\n%s\n",
+	/* eDP panel may have power_cycle_delay of 600ms, 1sec delay is safer */
+	igt_assert_f(igt_wait(lpsp_is_enabled(data), 1000, 100),
+		     "lpsp is not enabled\n%s:\n%s\n",
  		     PWR_DOMAIN_INFO, data->pwr_dmn_info =
  		     igt_sysfs_get(data->debugfs_fd, PWR_DOMAIN_INFO));
  }

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#9 lore raw

PATCH v6 6/6 tests/i915_pm_rpm: lpsp/non-lpsp screen mode_set_data

In reply to Anshuman Gupta

Initialize the mode set params for lpsp/non-lpsp screen based upon their output lpsp capability instead of edp/non-edp output type.

v2:
- CI failures fixup.
v3:
- changes according to lib function igt_output_is_lpsp_capable prefix chnaged to i915_output_is_lpsp_capable.

---
 tests/i915/i915_pm_rpm.c | 53 +++++++++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 23 deletions(-)
tests/i915/i915_pm_rpm.c +30 -23
index fedef872..cb355a53 100644
@@ -94,6 +94,7 @@ struct mode_set_data {
 	drmModeResPtr res;
 	drmModeConnectorPtr connectors[MAX_CONNECTORS];
 	drmModePropertyBlobPtr edids[MAX_CONNECTORS];
+	igt_display_t display;
 
 	uint32_t devid;
 };
@@ -254,29 +255,29 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
 {
 	drmModeConnectorPtr connector = NULL;
 	drmModeModeInfoPtr mode = NULL;
+	igt_output_t *output = NULL;
+	igt_display_t *display = &data->display;
 
-	if (!data->res)
+	if (!data->res || !display)
 		return false;
 
-	for (int i = 0; i < data->res->count_connectors; i++) {
-		drmModeConnectorPtr c = data->connectors[i];
+	for_each_connected_output(display, output) {
+		drmModeConnectorPtr c = output->config.connector;
 
 		if (type == SCREEN_TYPE_LPSP &&
-		    c->connector_type != DRM_MODE_CONNECTOR_eDP)
+		     !i915_output_is_lpsp_capable(drm_fd, output))
 			continue;
 
 		if (type == SCREEN_TYPE_NON_LPSP &&
-		    c->connector_type == DRM_MODE_CONNECTOR_eDP)
+		    i915_output_is_lpsp_capable(drm_fd, output))
 			continue;
 
-		if (c->connection == DRM_MODE_CONNECTED && c->count_modes) {
-			connector = c;
-			mode = &c->modes[0];
-			break;
-		}
+		connector = c;
+		mode = igt_output_get_mode(output);
+		break;
 	}
 
-	if (!connector)
+	if (!connector || !mode)
 		return false;
 
 	igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
@@ -397,6 +398,7 @@ static void init_mode_set_data(struct mode_set_data *data)
 		kmstest_set_vt_graphics_mode();
 	}
 
+	igt_display_require(&data->display, drm_fd);
 	data->devid = intel_get_drm_devid(drm_fd);
 	init_modeset_cached_params(&ms_data);
 }
@@ -410,6 +412,8 @@ static void fini_mode_set_data(struct mode_set_data *data)
 		}
 		drmModeFreeResources(data->res);
 	}
+
+	igt_display_fini(&data->display);
 }
 
 static void get_drm_info(struct compare_data *data)
@@ -760,7 +764,7 @@ static void dump_file(int dir, const char *filename)
 	free(contents);
 }
 
-static bool setup_environment(void)
+static bool setup_environment(bool display_disabled)
 {
 	if (has_runtime_pm)
 		goto out;
@@ -772,7 +776,8 @@ static bool setup_environment(void)
 	debugfs = igt_debugfs_dir(drm_fd);
 	igt_require(debugfs != -1);
 
-	init_mode_set_data(&ms_data);
+	if (!display_disabled)
+		init_mode_set_data(&ms_data);
 
 	igt_pm_enable_sata_link_power_management();
 
@@ -785,13 +790,14 @@ static bool setup_environment(void)
 	igt_require(igt_pm_dmc_loaded(debugfs));
 
 out:
-	disable_all_screens(&ms_data);
+	if (!display_disabled)
+		disable_all_screens(&ms_data);
 	dump_file(debugfs, "i915_runtime_pm_status");
 
 	return wait_for_suspended();
 }
 
-static void teardown_environment(void)
+static void teardown_environment(bool display_disabled)
 {
 	close(msr_fd);
 	if (has_pc8)
@@ -801,7 +807,8 @@ static void teardown_environment(void)
 
 	igt_pm_restore_sata_link_power_management();
 
-	fini_mode_set_data(&ms_data);
+	if (!display_disabled)
+		fini_mode_set_data(&ms_data);
 
 	close(debugfs);
 	close(drm_fd);
@@ -2004,7 +2011,7 @@ static struct option long_options[] = {
 igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	igt_subtest("basic-rte") {
-		igt_assert(setup_environment());
+		igt_assert(setup_environment(false));
 		basic_subtest();
 	}
 
@@ -2012,7 +2019,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	 * PC8+. We don't want bug reports from cases where the machine is just
 	 * not properly configured. */
 	igt_fixture
-		igt_require(setup_environment());
+		igt_require(setup_environment(false));
 
 	if (stay)
 		igt_subtest("stay")
@@ -2142,7 +2149,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	}
 
 	igt_fixture
-		teardown_environment();
+		teardown_environment(false);
 
 	igt_subtest("module-reload") {
 		igt_debug("Reload w/o display\n");
@@ -2151,9 +2158,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		igt_kmsg(KMSG_INFO "Reloading i915 w/o display\n");
 		igt_assert_eq(igt_i915_driver_load("disable_display=1 mmio_debug=-1"), 0);
 
-		igt_assert(setup_environment());
+		igt_assert(setup_environment(true));
 		igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
-		teardown_environment();
+		teardown_environment(true);
 
 		igt_debug("Reload as normal\n");
 		igt_i915_driver_unload();
@@ -2161,11 +2168,11 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 		igt_kmsg(KMSG_INFO "Reloading i915 as normal\n");
 		igt_assert_eq(igt_i915_driver_load("mmio_debug=-1"), 0);
 
-		igt_assert(setup_environment());
+		igt_assert(setup_environment(false));
 		igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
 		if (enable_one_screen_with_type(&ms_data, SCREEN_TYPE_ANY))
 			drm_resources_equal_subtest();
-		teardown_environment();
+		teardown_environment(false);
 
 		/* Remove our mmio_debugging module */
 		igt_i915_driver_unload();
Signature · 6 lines
2.26.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v6 6/6
#10 lore raw

Re: [igt-dev] [PATCH i-g-t v6 6/6] tests/i915_pm_rpm: lpsp/non-lpsp screen mode_set_data

Quoted 4 lines · Anshuman Gupta

Initialize the mode set params for lpsp/non-lpsp screen based upon their output lpsp capability instead of edp/non-edp output type.

Quoted 8 lines

v2:
- CI failures fixup.
v3:
- changes according to lib function igt_output_is_lpsp_capable prefix chnaged to i915_output_is_lpsp_capable.

Changes looks good to me.

Quoted 163 lines
---
  tests/i915/i915_pm_rpm.c | 53 +++++++++++++++++++++++-----------------
  1 file changed, 30 insertions(+), 23 deletions(-)
tests/i915/i915_pm_rpm.c +28 -21
index fedef872..cb355a53 100644
@@ -94,6 +94,7 @@ struct mode_set_data {
  	drmModeResPtr res;
  	drmModeConnectorPtr connectors[MAX_CONNECTORS];
  	drmModePropertyBlobPtr edids[MAX_CONNECTORS];
+	igt_display_t display;
 
  	uint32_t devid;
  };
@@ -254,29 +255,29 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
  {
  	drmModeConnectorPtr connector = NULL;
  	drmModeModeInfoPtr mode = NULL;
+	igt_output_t *output = NULL;
+	igt_display_t *display = &data->display;
 
-	if (!data->res)
+	if (!data->res || !display)
  		return false;
 
-	for (int i = 0; i < data->res->count_connectors; i++) {
-		drmModeConnectorPtr c = data->connectors[i];
+	for_each_connected_output(display, output) {
+		drmModeConnectorPtr c = output->config.connector;
 
  		if (type == SCREEN_TYPE_LPSP &&
-		    c->connector_type != DRM_MODE_CONNECTOR_eDP)
+		     !i915_output_is_lpsp_capable(drm_fd, output))
  			continue;
 
  		if (type == SCREEN_TYPE_NON_LPSP &&
-		    c->connector_type == DRM_MODE_CONNECTOR_eDP)
+		    i915_output_is_lpsp_capable(drm_fd, output))
  			continue;
 
-		if (c->connection == DRM_MODE_CONNECTED && c->count_modes) {
-			connector = c;
-			mode = &c->modes[0];
-			break;
-		}
+		connector = c;
+		mode = igt_output_get_mode(output);
+		break;
  	}
 
-	if (!connector)
+	if (!connector || !mode)
  		return false;
 
  	igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
@@ -397,6 +398,7 @@ static void init_mode_set_data(struct mode_set_data *data)
  		kmstest_set_vt_graphics_mode();
  	}
 
+	igt_display_require(&data->display, drm_fd);
  	data->devid = intel_get_drm_devid(drm_fd);
  	init_modeset_cached_params(&ms_data);
  }
@@ -410,6 +412,8 @@ static void fini_mode_set_data(struct mode_set_data *data)
  		}
  		drmModeFreeResources(data->res);
  	}
+
+	igt_display_fini(&data->display);
  }
 
  static void get_drm_info(struct compare_data *data)
@@ -760,7 +764,7 @@ static void dump_file(int dir, const char *filename)
  	free(contents);
  }
 
-static bool setup_environment(void)
+static bool setup_environment(bool display_disabled)
  {
  	if (has_runtime_pm)
  		goto out;
@@ -772,7 +776,8 @@ static bool setup_environment(void)
  	debugfs = igt_debugfs_dir(drm_fd);
  	igt_require(debugfs != -1);
 
-	init_mode_set_data(&ms_data);
+	if (!display_disabled)
+		init_mode_set_data(&ms_data);
 
  	igt_pm_enable_sata_link_power_management();
 
@@ -785,13 +790,14 @@ static bool setup_environment(void)
  	igt_require(igt_pm_dmc_loaded(debugfs));
 
  out:
-	disable_all_screens(&ms_data);
+	if (!display_disabled)
+		disable_all_screens(&ms_data);
  	dump_file(debugfs, "i915_runtime_pm_status");
 
  	return wait_for_suspended();
  }
 
-static void teardown_environment(void)
+static void teardown_environment(bool display_disabled)
  {
  	close(msr_fd);
  	if (has_pc8)
@@ -801,7 +807,8 @@ static void teardown_environment(void)
 
  	igt_pm_restore_sata_link_power_management();
 
-	fini_mode_set_data(&ms_data);
+	if (!display_disabled)
+		fini_mode_set_data(&ms_data);
 
  	close(debugfs);
  	close(drm_fd);
@@ -2004,7 +2011,7 @@ static struct option long_options[] = {
  igt_main_args("", long_options, help_str, opt_handler, NULL)
  {
  	igt_subtest("basic-rte") {
-		igt_assert(setup_environment());
+		igt_assert(setup_environment(false));
  		basic_subtest();
  	}
 
@@ -2012,7 +2019,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
  	 * PC8+. We don't want bug reports from cases where the machine is just
  	 * not properly configured. */
  	igt_fixture
-		igt_require(setup_environment());
+		igt_require(setup_environment(false));
 
  	if (stay)
  		igt_subtest("stay")
@@ -2142,7 +2149,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
  	}
 
  	igt_fixture
-		teardown_environment();
+		teardown_environment(false);
 
  	igt_subtest("module-reload") {
  		igt_debug("Reload w/o display\n");
@@ -2151,9 +2158,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
  		igt_kmsg(KMSG_INFO "Reloading i915 w/o display\n");
  		igt_assert_eq(igt_i915_driver_load("disable_display=1 mmio_debug=-1"), 0);
 
-		igt_assert(setup_environment());
+		igt_assert(setup_environment(true));
  		igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
-		teardown_environment();
+		teardown_environment(true);
 
  		igt_debug("Reload as normal\n");
  		igt_i915_driver_unload();
@@ -2161,11 +2168,11 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
  		igt_kmsg(KMSG_INFO "Reloading i915 as normal\n");
  		igt_assert_eq(igt_i915_driver_load("mmio_debug=-1"), 0);
 

tests/i915/i915_pm_rpm.c igt_main_args("", long_options, help_str, opt_handler, NULL) · line 2178

Quoted 10 lines
tests/i915/i915_pm_rpm.c +2 -2
-		igt_assert(setup_environment());
+		igt_assert(setup_environment(false));
  		igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
  		if (enable_one_screen_with_type(&ms_data, SCREEN_TYPE_ANY))
  			drm_resources_equal_subtest();
-		teardown_environment();
+		teardown_environment(false);
 
  		/* Remove our mmio_debugging module */
  		igt_i915_driver_unload();

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#11 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for lpsp platform agnostic support (rev9)

In reply to Anshuman Gupta
== Series Details ==

== Series Details ==

Series: lpsp platform agnostic support (rev9)
URL : https://patchwork.freedesktop.org/series/74647/
State : success

== Summary ==

CI Bug Log - changes from IGT_5633 -> IGTPW_4534
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/index.html

Known issues
------------

Here are the changes found in IGTPW_4534 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@i915_pm_rpm@module-reload:
- fi-kbl-8809g: [PASS][1] -> [SKIP][2] ([fdo#109271])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/fi-kbl-8809g/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/fi-kbl-8809g/igt@[email protected]

#### Possible fixes ####

* igt@i915_selftest@live@gt_pm:
- fi-bwr-2160: [INCOMPLETE][3] ([i915#489]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/fi-bwr-2160/igt@i915_selftest@live@gt_pm.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/fi-bwr-2160/igt@i915_selftest@live@gt_pm.html

[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#489]: https://gitlab.freedesktop.org/drm/intel/issues/489

Participating hosts (50 -> 43)
------------------------------

Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus

Build changes
-------------

* CI: CI-20190529 -> None
* IGT: IGT_5633 -> IGTPW_4534

CI-20190529: 20190529
CI_DRM_8430: 2daa6f8cad645f49a898158190a20a893b4aabe3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4534: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/index.html
IGT_5633: c8c2e5ed5cd8e4b7a69a903f3f1653612086abcc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Testlist changes ==

+igt@i915_pm_lpsp@kms-lpsp
-igt@i915_pm_lpsp@edp-native
-igt@i915_pm_lpsp@edp-panel-fitter
-igt@i915_pm_lpsp@non-edp

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/index.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#12 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for lpsp platform agnostic support (rev9)

In reply to Anshuman Gupta
== Series Details ==

== Series Details ==

Series: lpsp platform agnostic support (rev9)
URL : https://patchwork.freedesktop.org/series/74647/
State : success

== Summary ==

CI Bug Log - changes from IGT_5633_full -> IGTPW_4534_full
====================================================

Summary
-------

**WARNING**

Minor unknown changes coming with IGTPW_4534_full need to be verified manually.

If you think the reported changes have nothing to do with the changes introduced in IGTPW_4534_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/index.html

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in IGTPW_4534_full:

### IGT changes ###

#### Warnings ####

* igt@i915_pm_lpsp@screens-disabled:
- shard-tglb: [SKIP][1] ([fdo#109301]) -> [SKIP][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-tglb2/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-tglb6/igt@[email protected]
- shard-iclb: [SKIP][3] ([fdo#109301]) -> [SKIP][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-iclb4/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-iclb8/igt@[email protected]

New tests
---------

New tests have been introduced between IGT_5633_full and IGTPW_4534_full:

### New IGT tests (5) ###

* igt@i915_pm_lpsp@kms-lpsp:
- Statuses :
- Exec time: [None] s

* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
- Statuses : 2 skip(s)
- Exec time: [0.0] s

* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-edp:
- Statuses : 2 pass(s)
- Exec time: [0.10, 0.15] s

* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
- Statuses : 2 skip(s)
- Exec time: [0.0] s

* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-vga:
- Statuses : 2 skip(s)
- Exec time: [0.0] s

Known issues
------------

Here are the changes found in IGTPW_4534_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_busy@close-race:
- shard-hsw: [PASS][5] -> [INCOMPLETE][6] ([i915#61]) +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-hsw1/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-hsw7/igt@[email protected]

* igt@i915_pm_lpsp@screens-disabled:
- shard-hsw: [PASS][7] -> [SKIP][8] ([fdo#109271])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-hsw5/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-hsw7/igt@[email protected]

* igt@i915_selftest@live@requests:
- shard-tglb: [PASS][9] -> [INCOMPLETE][10] ([i915#1531])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-tglb3/igt@i915_selftest@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-tglb8/igt@i915_selftest@[email protected]

* igt@kms_big_fb@linear-32bpp-rotate-180:
- shard-apl: [PASS][11] -> [FAIL][12] ([i915#1119] / [i915#95])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl8/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl6/igt@[email protected]
- shard-kbl: [PASS][13] -> [FAIL][14] ([i915#1119] / [i915#93] / [i915#95])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl1/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl6/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [PASS][15] -> [DMESG-WARN][16] ([i915#180]) +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl2/igt@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl1/igt@[email protected]

* igt@kms_flip_tiling@flip-changes-tiling-yf:
- shard-kbl: [PASS][17] -> [FAIL][18] ([i915#699] / [i915#93] / [i915#95])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl6/igt@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl1/igt@[email protected]
- shard-apl: [PASS][19] -> [FAIL][20] ([i915#95])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl7/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl3/igt@[email protected]

* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl: [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +3 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl8/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl4/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-kbl: [PASS][23] -> [FAIL][24] ([fdo#108145] / [i915#265] / [i915#93] / [i915#95])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl4/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl4/igt@[email protected]
- shard-apl: [PASS][25] -> [FAIL][26] ([fdo#108145] / [i915#265] / [i915#95])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl2/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl8/igt@[email protected]

* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][27] -> [SKIP][28] ([fdo#109441]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-iclb5/igt@kms_psr@psr2_primary_mmap_cpu.html

* igt@kms_vblank@pipe-b-query-idle-hang:
- shard-kbl: [PASS][29] -> [INCOMPLETE][30] ([i915#95])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl4/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl4/igt@[email protected]

#### Possible fixes ####

* igt@gem_softpin@noreloc-s3:
- shard-kbl: [DMESG-WARN][31] ([i915#180]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl4/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl6/igt@[email protected]

* igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled:
- shard-kbl: [FAIL][33] ([i915#177] / [i915#52] / [i915#54] / [i915#93] / [i915#95]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl7/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl3/igt@[email protected]
- shard-apl: [FAIL][35] ([i915#52] / [i915#54] / [i915#95]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl6/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl3/igt@[email protected]

* {igt@kms_flip@flip-vs-suspend@b-vga1}:
- shard-snb: [DMESG-WARN][37] -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-snb6/igt@kms_flip@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-snb6/igt@kms_flip@[email protected]

* igt@kms_flip_tiling@flip-changes-tiling:
- shard-kbl: [FAIL][39] ([i915#699] / [i915#93] / [i915#95]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl4/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl3/igt@[email protected]

* igt@kms_hdmi_inject@inject-audio:
- shard-tglb: [SKIP][41] ([i915#433]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-tglb1/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-tglb6/igt@[email protected]
- shard-iclb: [SKIP][43] ([i915#433]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-iclb5/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-iclb4/igt@[email protected]

* igt@kms_plane_cursor@pipe-a-viewport-size-64:
- shard-kbl: [FAIL][45] ([i915#1559] / [i915#93] / [i915#95]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl7/igt@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl2/igt@[email protected]
- shard-apl: [FAIL][47] ([i915#1559] / [i915#95]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl7/igt@[email protected]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl4/igt@[email protected]

* {igt@kms_prime@basic-crc@second-to-first}:
- shard-apl: [FAIL][49] ([i915#95]) -> [PASS][50] +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl6/igt@kms_prime@[email protected]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl2/igt@kms_prime@[email protected]
- shard-kbl: [FAIL][51] ([i915#93] / [i915#95]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-kbl7/igt@kms_prime@[email protected]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-kbl7/igt@kms_prime@[email protected]

* igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [SKIP][53] ([fdo#109441]) -> [PASS][54] +2 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

* igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-apl: [DMESG-WARN][55] ([i915#180]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl8/igt@[email protected]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl8/igt@[email protected]

* {igt@perf@polling-parameterized}:
- shard-hsw: [FAIL][57] ([i915#1542]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-hsw6/igt@[email protected]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-hsw1/igt@[email protected]

#### Warnings ####

* igt@kms_content_protection@atomic-dpms:
- shard-apl: [FAIL][59] ([fdo#110321] / [fdo#110336] / [i915#95]) -> [FAIL][60] ([fdo#110321] / [fdo#110336])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl8/igt@[email protected]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl7/igt@[email protected]

* igt@kms_sysfs_edid_timing:
- shard-apl: [FAIL][61] ([IGT#2]) -> [FAIL][62] ([IGT#2] / [i915#95])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5633/shard-apl7/igt@kms_sysfs_edid_timing.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/shard-apl8/igt@kms_sysfs_edid_timing.html

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109301]: https://bugs.freedesktop.org/show_bug.cgi?id=109301
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321
[fdo#110336]: https://bugs.freedesktop.org/show_bug.cgi?id=110336
[i915#1119]: https://gitlab.freedesktop.org/drm/intel/issues/1119
[i915#1531]: https://gitlab.freedesktop.org/drm/intel/issues/1531
[i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
[i915#1559]: https://gitlab.freedesktop.org/drm/intel/issues/1559
[i915#177]: https://gitlab.freedesktop.org/drm/intel/issues/177
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61
[i915#699]: https://gitlab.freedesktop.org/drm/intel/issues/699
[i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95

Participating hosts (8 -> 8)
------------------------------

No changes in participating hosts

Build changes
-------------

* CI: CI-20190529 -> None
* IGT: IGT_5633 -> IGTPW_4534

CI-20190529: 20190529
CI_DRM_8430: 2daa6f8cad645f49a898158190a20a893b4aabe3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4534: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/index.html
IGT_5633: c8c2e5ed5cd8e4b7a69a903f3f1653612086abcc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4534/index.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev