public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v3 0/2] Enabling PC8+ residency for all GEN9+ platforms v3
@ 2019-03-27  9:55 Anshuman Gupta
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+ Anshuman Gupta
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Anshuman Gupta @ 2019-03-27  9:55 UTC (permalink / raw)
  To: igt-dev

This patch series enable PC8+ residency test, earlier these tests
were only enabled for Haswell and Broadwell.

I have addressed the below review comment provided by Imre
on old series (https://patchwork.freedesktop.org/series/57035/)

1. Made this test future proof to enable for all Gen9+ platform.
2. Added a pc8_needs_screen_off flag to distinguish between HSW/BDW and Gen9+
   Platform.
3. Since Gen9 onwards PC8+ residency doesn't require display to be turned off,
   this patch series tests PC8 residency with all screens on.

Addressed review comment provided by Ram on revision 2 (patch commit log describes the changes).

Tested on Gen9 KBL Platform, unable to test on ICL, because ICL systems at local
BA setup are not entering to PC2 itself.

Planning a separate series for a subtest to validate pc8 with multiple pipes
usages and all planes enabled with max resolution, to create maximum memory
bandwidth scenario.


Anshuman Gupta (2):
  tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+
  tests/i915/i915_pm_rpm: modeset-pc8-residency-stress

 tests/i915/i915_pm_rpm.c | 81 ++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 72 insertions(+), 9 deletions(-)

-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+
  2019-03-27  9:55 [igt-dev] [PATCH i-g-t v3 0/2] Enabling PC8+ residency for all GEN9+ platforms v3 Anshuman Gupta
@ 2019-03-27  9:55 ` Anshuman Gupta
  2019-03-27 12:28   ` Ramalingam C
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress Anshuman Gupta
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Anshuman Gupta @ 2019-03-27  9:55 UTC (permalink / raw)
  To: igt-dev

Enabled has_pc8 global for ICL and Gen9+.
Modified PC8+ residency sub-test with all screen enabled.

v2:Fixed the issue of skipped test on HSW.
   Improved the code comment for MSR_PKG_CST_CONFIG_CONTROL mask and PC8
   bits, it holds good for SKL/ICL and Goldmont microarchitecture.
   Code readabilty improvement.
v3:Removed the connected_screens global. [Ram]
   Removed pc8_needs_screen_off from mode_set_data structure,
   made it global, aligning to has_pc8 and has_runtime_pm globals. [Ram]
   Reuse connector lcoal variable in init_modeset_params_for_all_screen(). [Ram]
   Addressed Coding guide lines comments. [Ram]

Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_rpm.c | 73 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 66 insertions(+), 7 deletions(-)

diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index be296f5..7e0c370 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -52,7 +52,7 @@
 #include "igt_device.h"
 
 #define MSR_PKG_CST_CONFIG_CONTROL	0xE2
-/* HSW/BDW: */
+/* HSW/BDW SKL/ICL and Goldmont */
 #define  PKG_CST_LIMIT_MASK		0xF
 #define  PKG_CST_LIMIT_C8		0x6
 
@@ -90,7 +90,7 @@ enum plane_type {
 
 int drm_fd, msr_fd, pc8_status_fd;
 int debugfs;
-bool has_runtime_pm, has_pc8;
+bool has_runtime_pm, has_pc8, pc8_needs_screen_off;
 struct mode_set_data ms_data;
 
 /* Stuff used when creating FBs and mode setting. */
@@ -121,6 +121,7 @@ struct modeset_params {
 struct modeset_params lpsp_mode_params;
 struct modeset_params non_lpsp_mode_params;
 struct modeset_params *default_mode_params;
+struct modeset_params *screens_mode_params[MAX_CONNECTORS];
 
 static int8_t *pm_data = NULL;
 
@@ -297,6 +298,37 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
 	return true;
 }
 
+static void init_modeset_params_for_all_screen(struct mode_set_data *data)
+{
+	drmModeConnectorPtr connector = NULL;
+	drmModeModeInfoPtr mode = NULL;
+	int screen = 0;
+
+	if (!data->res)
+		return false;
+
+	for (int i = 0; i < data->res->count_connectors; i++) {
+		connector = data->connectors[i];
+
+		if (connector->connection == DRM_MODE_CONNECTED
+		    && connector->count_modes) {
+			screens_mode_params[screen] =
+				malloc(sizeof(struct modeset_params));
+			mode = &connector->modes[0];
+			igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
+					      DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
+					      &screens_mode_params[screen]->fb);
+			screens_mode_params[screen]->crtc_id =
+				kmstest_find_crtc_for_connector(drm_fd, data->res, connector, 0);
+			screens_mode_params[screen]->connector_id = connector->connector_id;
+			screens_mode_params[screen]->mode = mode;
+			screen++;
+		}
+	}
+
+	return;
+}
+
 static void init_modeset_cached_params(struct mode_set_data *data)
 {
 	bool lpsp, non_lpsp;
@@ -305,6 +337,7 @@ static void init_modeset_cached_params(struct mode_set_data *data)
 					    SCREEN_TYPE_LPSP);
 	non_lpsp = init_modeset_params_for_type(data, &non_lpsp_mode_params,
 						SCREEN_TYPE_NON_LPSP);
+	init_modeset_params_for_all_screen(data);
 
 	if (lpsp)
 		default_mode_params = &lpsp_mode_params;
@@ -353,6 +386,22 @@ static bool enable_one_screen_with_type(struct mode_set_data *data,
 	return set_mode_for_params(params);
 }
 
+static void enable_all_screens(struct mode_set_data *data)
+{
+	struct modeset_params *params = NULL;
+
+	/* SKIP if there are no connected screens. */
+	igt_require(screens_mode_params[0]);
+
+	for (int i = 0; i < MAX_CONNECTORS ; i++) {
+		params = screens_mode_params[i];
+		if (params)
+			set_mode_for_params(params);
+		else
+			break;
+	}
+}
+
 static void enable_one_screen(struct mode_set_data *data)
 {
 	/* SKIP if there are no connected screens. */
@@ -685,8 +734,12 @@ static void setup_pc8(void)
 {
 	has_pc8 = false;
 
-	/* Only Haswell supports the PC8 feature. */
-	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid))
+	if (IS_HASWELL(ms_data.devid) || IS_BROADWELL(ms_data.devid))
+		pc8_needs_screen_off = true;
+	else if (AT_LEAST_GEN(ms_data.devid, 9))
+		pc8_needs_screen_off = false;
+	/* Only Haswell supports the PC8 feature on lesser than GEN9. */
+	else
 		return;
 
 	/* Make sure our Kernel supports MSR and the module is loaded. */
@@ -808,9 +861,15 @@ static void pc8_residency_subtest(void)
 		     "configuration.\n");
 
 	/* Make sure PC8+ residencies stop! */
-	enable_one_screen(&ms_data);
-	igt_assert_f(!pc8_plus_residency_changed(10),
-		     "PC8+ residency didn't stop with screen enabled.\n");
+	if (pc8_needs_screen_off) {
+		enable_one_screen(&ms_data);
+		igt_assert_f(!pc8_plus_residency_changed(10),
+			     "PC8+ residency didn't stop with screen enabled.\n");
+	} else {
+		enable_all_screens(&ms_data);
+		igt_assert_f(pc8_plus_residency_changed(10),
+			     "Machine is not reaching PC8+ states with all screen enabled.\n");
+	}
 }
 
 static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress
  2019-03-27  9:55 [igt-dev] [PATCH i-g-t v3 0/2] Enabling PC8+ residency for all GEN9+ platforms v3 Anshuman Gupta
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+ Anshuman Gupta
@ 2019-03-27  9:55 ` Anshuman Gupta
  2019-03-27 12:32   ` Ramalingam C
  2019-03-27 11:20 ` [igt-dev] ✓ Fi.CI.BAT: success for Enabling PC8+ residency for all GEN9+ platforms (rev3) Patchwork
  2019-03-27 20:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 1 reply; 9+ messages in thread
From: Anshuman Gupta @ 2019-03-27  9:55 UTC (permalink / raw)
  To: igt-dev

Introduced pc8_needs_screen_off flag in order to differentiate
between HASWELL/BROADWELL and AT_LEAST_GEN9. GEN9 onwards
PC8+ residency does't require display to be turned on.

v3:Removed pc8_needs_screen_off from mode_set_data structure,
   made it global, aligning to has_pc8 and has_runtime_pm globals. [Ram]
   Made modeset_subtest() to tests PC8+ residency after enabling a screen,
   earlier it expects PC8+ residency to stop on HSW/BDW.

Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_rpm.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index 7e0c370..55151e8 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -900,8 +900,12 @@ static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
 		igt_require(enable_one_screen_with_type(&ms_data, type));
 		if (wait_flags & WAIT_STATUS)
 			igt_assert(wait_for_active());
-		if (wait_flags & WAIT_PC8_RES)
-			igt_assert(!pc8_plus_residency_changed(5));
+		if (wait_flags & WAIT_PC8_RES && pc8_needs_screen_off)
+			if (pc8_needs_screen_off)
+				igt_assert(!pc8_plus_residency_changed(5));
+			else
+				igt_assert(pc8_plus_residency_changed(5));
+
 		if (wait_flags & WAIT_EXTRA)
 			sleep(5);
 	}
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for Enabling PC8+ residency for all GEN9+ platforms (rev3)
  2019-03-27  9:55 [igt-dev] [PATCH i-g-t v3 0/2] Enabling PC8+ residency for all GEN9+ platforms v3 Anshuman Gupta
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+ Anshuman Gupta
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress Anshuman Gupta
@ 2019-03-27 11:20 ` Patchwork
  2019-03-27 20:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-03-27 11:20 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: igt-dev

== Series Details ==

Series: Enabling PC8+ residency for all GEN9+ platforms (rev3)
URL   : https://patchwork.freedesktop.org/series/57640/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5823 -> IGTPW_2717
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57640/revisions/3/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@fork-gfx0:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_exec_basic@readonly-bsd1:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_parse@basic-allowed:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@i915_selftest@live_contexts:
    - fi-icl-u2:          NOTRUN -> DMESG-FAIL [fdo#108569]
    - fi-bdw-gvtdvm:      PASS -> DMESG-FAIL [fdo#110235 ]

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         PASS -> INCOMPLETE [fdo#103927] / [fdo#109720]

  * igt@kms_chamelium@dp-edid-read:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109316] +2

  * igt@kms_chamelium@vga-hpd-fast:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109309] +1

  * igt@kms_force_connector_basic@prune-stale-modes:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-byt-clapper:     PASS -> FAIL [fdo#107362]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       NOTRUN -> INCOMPLETE [fdo#107718]

  * igt@runner@aborted:
    - fi-apl-guc:         NOTRUN -> FAIL [fdo#108622] / [fdo#109720]

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - fi-icl-u2:          INCOMPLETE [fdo#109100] -> PASS

  * igt@i915_selftest@live_contexts:
    - fi-skl-gvtdvm:      DMESG-FAIL [fdo#110235 ] -> PASS

  * igt@i915_selftest@live_evict:
    - fi-bsw-kefka:       DMESG-WARN [fdo#107709] -> PASS

  * igt@kms_busy@basic-flip-a:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109316]: https://bugs.freedesktop.org/show_bug.cgi?id=109316
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720
  [fdo#110235 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110235 


Participating hosts (43 -> 35)
------------------------------

  Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-ivb-3770 fi-bdw-samus 


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

    * IGT: IGT_4907 -> IGTPW_2717

  CI_DRM_5823: f346d92211072f89a64f917d3b61cb8177a6fe4b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2717: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2717/
  IGT_4907: 7c8f2616fa0fd3ddb16e050c5b7ea9ce707abbe4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2717/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+ Anshuman Gupta
@ 2019-03-27 12:28   ` Ramalingam C
  2019-03-27 13:45     ` Gupta, Anshuman
  0 siblings, 1 reply; 9+ messages in thread
From: Ramalingam C @ 2019-03-27 12:28 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: igt-dev

On 2019-03-27 at 15:25:22 +0530, Anshuman Gupta wrote:
> Enabled has_pc8 global for ICL and Gen9+.
> Modified PC8+ residency sub-test with all screen enabled.
> 
> v2:Fixed the issue of skipped test on HSW.
>    Improved the code comment for MSR_PKG_CST_CONFIG_CONTROL mask and PC8
>    bits, it holds good for SKL/ICL and Goldmont microarchitecture.
>    Code readabilty improvement.
> v3:Removed the connected_screens global. [Ram]
>    Removed pc8_needs_screen_off from mode_set_data structure,
>    made it global, aligning to has_pc8 and has_runtime_pm globals. [Ram]
>    Reuse connector lcoal variable in init_modeset_params_for_all_screen(). [Ram]
>    Addressed Coding guide lines comments. [Ram]
> 
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
>  tests/i915/i915_pm_rpm.c | 73 +++++++++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 66 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> index be296f5..7e0c370 100644
> --- a/tests/i915/i915_pm_rpm.c
> +++ b/tests/i915/i915_pm_rpm.c
> @@ -52,7 +52,7 @@
>  #include "igt_device.h"
>  
>  #define MSR_PKG_CST_CONFIG_CONTROL	0xE2
> -/* HSW/BDW: */
> +/* HSW/BDW SKL/ICL and Goldmont */
This is not HSW or BDW. I guess you want to list the platforms on which
these bit mask will work. Please update the comment accordingly.
>  #define  PKG_CST_LIMIT_MASK		0xF
>  #define  PKG_CST_LIMIT_C8		0x6
>  
> @@ -90,7 +90,7 @@ enum plane_type {
>  
>  int drm_fd, msr_fd, pc8_status_fd;
>  int debugfs;
> -bool has_runtime_pm, has_pc8;
> +bool has_runtime_pm, has_pc8, pc8_needs_screen_off;
>  struct mode_set_data ms_data;
>  
>  /* Stuff used when creating FBs and mode setting. */
> @@ -121,6 +121,7 @@ struct modeset_params {
>  struct modeset_params lpsp_mode_params;
>  struct modeset_params non_lpsp_mode_params;
>  struct modeset_params *default_mode_params;
> +struct modeset_params *screens_mode_params[MAX_CONNECTORS];
>  
>  static int8_t *pm_data = NULL;
>  
> @@ -297,6 +298,37 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
>  	return true;
>  }
>  
> +static void init_modeset_params_for_all_screen(struct mode_set_data *data)
BTW why do we need to pass the ms_data as a parameter when it is
declared in global space? Am I missing something here?
> +{
> +	drmModeConnectorPtr connector = NULL;
> +	drmModeModeInfoPtr mode = NULL;
> +	int screen = 0;
> +
> +	if (!data->res)
> +		return false;
> +
> +	for (int i = 0; i < data->res->count_connectors; i++) {
> +		connector = data->connectors[i];
> +
> +		if (connector->connection == DRM_MODE_CONNECTED
> +		    && connector->count_modes) {
> +			screens_mode_params[screen] =
> +				malloc(sizeof(struct modeset_params));
> +			mode = &connector->modes[0];
> +			igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
> +					      DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
> +					      &screens_mode_params[screen]->fb);
Line length exceeds 80chars. Please wrap it. Applicable for elsewhere
too.
> +			screens_mode_params[screen]->crtc_id =
> +				kmstest_find_crtc_for_connector(drm_fd, data->res, connector, 0);
> +			screens_mode_params[screen]->connector_id = connector->connector_id;
> +			screens_mode_params[screen]->mode = mode;
> +			screen++;
> +		}
> +	}
> +
> +	return;
> +}
> +
>  static void init_modeset_cached_params(struct mode_set_data *data)
>  {
>  	bool lpsp, non_lpsp;
> @@ -305,6 +337,7 @@ static void init_modeset_cached_params(struct mode_set_data *data)
>  					    SCREEN_TYPE_LPSP);
>  	non_lpsp = init_modeset_params_for_type(data, &non_lpsp_mode_params,
>  						SCREEN_TYPE_NON_LPSP);
> +	init_modeset_params_for_all_screen(data);
>  
>  	if (lpsp)
>  		default_mode_params = &lpsp_mode_params;
> @@ -353,6 +386,22 @@ static bool enable_one_screen_with_type(struct mode_set_data *data,
>  	return set_mode_for_params(params);
>  }
>  
> +static void enable_all_screens(struct mode_set_data *data)
> +{
> +	struct modeset_params *params = NULL;
> +
> +	/* SKIP if there are no connected screens. */
> +	igt_require(screens_mode_params[0]);
> +
> +	for (int i = 0; i < MAX_CONNECTORS ; i++) {
> +		params = screens_mode_params[i];
> +		if (params)
> +			set_mode_for_params(params);
> +		else
> +			break;
> +	}
> +}
> +
>  static void enable_one_screen(struct mode_set_data *data)
>  {
>  	/* SKIP if there are no connected screens. */
> @@ -685,8 +734,12 @@ static void setup_pc8(void)
>  {
>  	has_pc8 = false;
>  
> -	/* Only Haswell supports the PC8 feature. */
> -	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid))
> +	if (IS_HASWELL(ms_data.devid) || IS_BROADWELL(ms_data.devid))
> +		pc8_needs_screen_off = true;
> +	else if (AT_LEAST_GEN(ms_data.devid, 9))
> +		pc8_needs_screen_off = false;
> +	/* Only Haswell supports the PC8 feature on lesser than GEN9. */
> +	else
>  		return;
>  
>  	/* Make sure our Kernel supports MSR and the module is loaded. */
> @@ -808,9 +861,15 @@ static void pc8_residency_subtest(void)
>  		     "configuration.\n");
>  
>  	/* Make sure PC8+ residencies stop! */
> -	enable_one_screen(&ms_data);
> -	igt_assert_f(!pc8_plus_residency_changed(10),
> -		     "PC8+ residency didn't stop with screen enabled.\n");
> +	if (pc8_needs_screen_off) {
> +		enable_one_screen(&ms_data);
> +		igt_assert_f(!pc8_plus_residency_changed(10),
Could we use a macro for this timeout "10" ?
> +			     "PC8+ residency didn't stop with screen enabled.\n");
> +	} else {
> +		enable_all_screens(&ms_data);
> +		igt_assert_f(pc8_plus_residency_changed(10),
macro should be good here.
> +			     "Machine is not reaching PC8+ states with all screen enabled.\n");
Please consider to make the log crisp to meet the 80 char limit.

-Ram
> +	}
>  }
>  
>  static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
> -- 
> 2.7.4
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress
  2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress Anshuman Gupta
@ 2019-03-27 12:32   ` Ramalingam C
  0 siblings, 0 replies; 9+ messages in thread
From: Ramalingam C @ 2019-03-27 12:32 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: igt-dev

On 2019-03-27 at 15:25:23 +0530, Anshuman Gupta wrote:
> Introduced pc8_needs_screen_off flag in order to differentiate
> between HASWELL/BROADWELL and AT_LEAST_GEN9. GEN9 onwards
> PC8+ residency does't require display to be turned on.
> 
> v3:Removed pc8_needs_screen_off from mode_set_data structure,
>    made it global, aligning to has_pc8 and has_runtime_pm globals. [Ram]
>    Made modeset_subtest() to tests PC8+ residency after enabling a screen,
>    earlier it expects PC8+ residency to stop on HSW/BDW.
> 
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
>  tests/i915/i915_pm_rpm.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> index 7e0c370..55151e8 100644
> --- a/tests/i915/i915_pm_rpm.c
> +++ b/tests/i915/i915_pm_rpm.c
> @@ -900,8 +900,12 @@ static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
>  		igt_require(enable_one_screen_with_type(&ms_data, type));
>  		if (wait_flags & WAIT_STATUS)
>  			igt_assert(wait_for_active());
> -		if (wait_flags & WAIT_PC8_RES)
> -			igt_assert(!pc8_plus_residency_changed(5));
> +		if (wait_flags & WAIT_PC8_RES && pc8_needs_screen_off)
with assertion for pc8_needs_screen_off here, we will never hit below else!!.

-Ram
> +			if (pc8_needs_screen_off)
> +				igt_assert(!pc8_plus_residency_changed(5));
> +			else
> +				igt_assert(pc8_plus_residency_changed(5));
> +
>  		if (wait_flags & WAIT_EXTRA)
>  			sleep(5);
>  	}
> -- 
> 2.7.4
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+
  2019-03-27 12:28   ` Ramalingam C
@ 2019-03-27 13:45     ` Gupta, Anshuman
  2019-03-27 15:36       ` Ramalingam C
  0 siblings, 1 reply; 9+ messages in thread
From: Gupta, Anshuman @ 2019-03-27 13:45 UTC (permalink / raw)
  To: Ramalingam C; +Cc: igt-dev



On 3/27/2019 5:58 PM, Ramalingam C wrote:
> On 2019-03-27 at 15:25:22 +0530, Anshuman Gupta wrote:
>> Enabled has_pc8 global for ICL and Gen9+.
>> Modified PC8+ residency sub-test with all screen enabled.
>>
>> v2:Fixed the issue of skipped test on HSW.
>>     Improved the code comment for MSR_PKG_CST_CONFIG_CONTROL mask and PC8
>>     bits, it holds good for SKL/ICL and Goldmont microarchitecture.
>>     Code readabilty improvement.
>> v3:Removed the connected_screens global. [Ram]
>>     Removed pc8_needs_screen_off from mode_set_data structure,
>>     made it global, aligning to has_pc8 and has_runtime_pm globals. [Ram]
>>     Reuse connector lcoal variable in init_modeset_params_for_all_screen(). [Ram]
>>     Addressed Coding guide lines comments. [Ram]
>>
>> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
>> ---
>>   tests/i915/i915_pm_rpm.c | 73 +++++++++++++++++++++++++++++++++++++++++++-----
>>   1 file changed, 66 insertions(+), 7 deletions(-)
>>
>> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
>> index be296f5..7e0c370 100644
>> --- a/tests/i915/i915_pm_rpm.c
>> +++ b/tests/i915/i915_pm_rpm.c
>> @@ -52,7 +52,7 @@
>>   #include "igt_device.h"
>>   
>>   #define MSR_PKG_CST_CONFIG_CONTROL	0xE2
>> -/* HSW/BDW: */
>> +/* HSW/BDW SKL/ICL and Goldmont */
> This is not HSW or BDW. I guess you want to list the platforms on which
> these bit mask will work. Please update the comment accordingly.
>>   #define  PKG_CST_LIMIT_MASK		0xF
>>   #define  PKG_CST_LIMIT_C8		0x6
>>   
>> @@ -90,7 +90,7 @@ enum plane_type {
>>   
>>   int drm_fd, msr_fd, pc8_status_fd;
>>   int debugfs;
>> -bool has_runtime_pm, has_pc8;
>> +bool has_runtime_pm, has_pc8, pc8_needs_screen_off;
>>   struct mode_set_data ms_data;
>>   
>>   /* Stuff used when creating FBs and mode setting. */
>> @@ -121,6 +121,7 @@ struct modeset_params {
>>   struct modeset_params lpsp_mode_params;
>>   struct modeset_params non_lpsp_mode_params;
>>   struct modeset_params *default_mode_params;
>> +struct modeset_params *screens_mode_params[MAX_CONNECTORS];
>>   
>>   static int8_t *pm_data = NULL;
>>   
>> @@ -297,6 +298,37 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
>>   	return true;
>>   }
>>   
>> +static void init_modeset_params_for_all_screen(struct mode_set_data *data)
> BTW why do we need to pass the ms_data as a parameter when it is
> declared in global space? Am I missing something here?
I am not sure about it, exisitng code uses this global at so many places.
>> +{
>> +	drmModeConnectorPtr connector = NULL;
>> +	drmModeModeInfoPtr mode = NULL;
>> +	int screen = 0;
>> +
>> +	if (!data->res)
>> +		return false;
>> +
>> +	for (int i = 0; i < data->res->count_connectors; i++) {
>> +		connector = data->connectors[i];
>> +
>> +		if (connector->connection == DRM_MODE_CONNECTED
>> +		    && connector->count_modes) {
>> +			screens_mode_params[screen] =
>> +				malloc(sizeof(struct modeset_params));
>> +			mode = &connector->modes[0];
>> +			igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
>> +					      DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
>> +					      &screens_mode_params[screen]->fb);
> Line length exceeds 80chars. Please wrap it. Applicable for elsewhere
> too.
here it will not be possible, it will not be readable, need to create a 
separate function and move all these chunk of big lines, hope that will 
be ok.
>> +			screens_mode_params[screen]->crtc_id =
>> +				kmstest_find_crtc_for_connector(drm_fd, data->res, connector, 0);
>> +			screens_mode_params[screen]->connector_id = connector->connector_id;
>> +			screens_mode_params[screen]->mode = mode;
>> +			screen++;
>> +		}
>> +	}
>> +
>> +	return;
>> +}
>> +
>>   static void init_modeset_cached_params(struct mode_set_data *data)
>>   {
>>   	bool lpsp, non_lpsp;
>> @@ -305,6 +337,7 @@ static void init_modeset_cached_params(struct mode_set_data *data)
>>   					    SCREEN_TYPE_LPSP);
>>   	non_lpsp = init_modeset_params_for_type(data, &non_lpsp_mode_params,
>>   						SCREEN_TYPE_NON_LPSP);
>> +	init_modeset_params_for_all_screen(data);
>>   
>>   	if (lpsp)
>>   		default_mode_params = &lpsp_mode_params;
>> @@ -353,6 +386,22 @@ static bool enable_one_screen_with_type(struct mode_set_data *data,
>>   	return set_mode_for_params(params);
>>   }
>>   
>> +static void enable_all_screens(struct mode_set_data *data)
>> +{
>> +	struct modeset_params *params = NULL;
>> +
>> +	/* SKIP if there are no connected screens. */
>> +	igt_require(screens_mode_params[0]);
>> +
>> +	for (int i = 0; i < MAX_CONNECTORS ; i++) {
>> +		params = screens_mode_params[i];
>> +		if (params)
>> +			set_mode_for_params(params);
>> +		else
>> +			break;
>> +	}
>> +}
>> +
>>   static void enable_one_screen(struct mode_set_data *data)
>>   {
>>   	/* SKIP if there are no connected screens. */
>> @@ -685,8 +734,12 @@ static void setup_pc8(void)
>>   {
>>   	has_pc8 = false;
>>   
>> -	/* Only Haswell supports the PC8 feature. */
>> -	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid))
>> +	if (IS_HASWELL(ms_data.devid) || IS_BROADWELL(ms_data.devid))
>> +		pc8_needs_screen_off = true;
>> +	else if (AT_LEAST_GEN(ms_data.devid, 9))
>> +		pc8_needs_screen_off = false;
>> +	/* Only Haswell supports the PC8 feature on lesser than GEN9. */
>> +	else
>>   		return;
>>   
>>   	/* Make sure our Kernel supports MSR and the module is loaded. */
>> @@ -808,9 +861,15 @@ static void pc8_residency_subtest(void)
>>   		     "configuration.\n");
>>   
>>   	/* Make sure PC8+ residencies stop! */
>> -	enable_one_screen(&ms_data);
>> -	igt_assert_f(!pc8_plus_residency_changed(10),
>> -		     "PC8+ residency didn't stop with screen enabled.\n");
>> +	if (pc8_needs_screen_off) {
>> +		enable_one_screen(&ms_data);
>> +		igt_assert_f(!pc8_plus_residency_changed(10),
> Could we use a macro for this timeout "10" ?
yes we can but there are other existing instances too are using 
different timeut values, so there will be pleanty of timeout
macros.
>> +			     "PC8+ residency didn't stop with screen enabled.\n");
>> +	} else {
>> +		enable_all_screens(&ms_data);
>> +		igt_assert_f(pc8_plus_residency_changed(10),
> macro should be good here.
>> +			     "Machine is not reaching PC8+ states with all screen enabled.\n");
> Please consider to make the log crisp to meet the 80 char limit.
> 
> -Ram
>> +	}
>>   }
>>   
>>   static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
>> -- 
>> 2.7.4
>>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+
  2019-03-27 13:45     ` Gupta, Anshuman
@ 2019-03-27 15:36       ` Ramalingam C
  0 siblings, 0 replies; 9+ messages in thread
From: Ramalingam C @ 2019-03-27 15:36 UTC (permalink / raw)
  To: Gupta, Anshuman; +Cc: igt-dev

On 2019-03-27 at 19:15:01 +0530, Gupta, Anshuman wrote:
> 
> 
> On 3/27/2019 5:58 PM, Ramalingam C wrote:
> > On 2019-03-27 at 15:25:22 +0530, Anshuman Gupta wrote:
> > > Enabled has_pc8 global for ICL and Gen9+.
> > > Modified PC8+ residency sub-test with all screen enabled.
> > > 
> > > v2:Fixed the issue of skipped test on HSW.
> > >     Improved the code comment for MSR_PKG_CST_CONFIG_CONTROL mask and PC8
> > >     bits, it holds good for SKL/ICL and Goldmont microarchitecture.
> > >     Code readabilty improvement.
> > > v3:Removed the connected_screens global. [Ram]
> > >     Removed pc8_needs_screen_off from mode_set_data structure,
> > >     made it global, aligning to has_pc8 and has_runtime_pm globals. [Ram]
> > >     Reuse connector lcoal variable in init_modeset_params_for_all_screen(). [Ram]
> > >     Addressed Coding guide lines comments. [Ram]
> > > 
> > > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > > ---
> > >   tests/i915/i915_pm_rpm.c | 73 +++++++++++++++++++++++++++++++++++++++++++-----
> > >   1 file changed, 66 insertions(+), 7 deletions(-)
> > > 
> > > diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> > > index be296f5..7e0c370 100644
> > > --- a/tests/i915/i915_pm_rpm.c
> > > +++ b/tests/i915/i915_pm_rpm.c
> > > @@ -52,7 +52,7 @@
> > >   #include "igt_device.h"
> > >   #define MSR_PKG_CST_CONFIG_CONTROL	0xE2
> > > -/* HSW/BDW: */
> > > +/* HSW/BDW SKL/ICL and Goldmont */
> > This is not HSW or BDW. I guess you want to list the platforms on which
> > these bit mask will work. Please update the comment accordingly.
> > >   #define  PKG_CST_LIMIT_MASK		0xF
> > >   #define  PKG_CST_LIMIT_C8		0x6
> > > @@ -90,7 +90,7 @@ enum plane_type {
> > >   int drm_fd, msr_fd, pc8_status_fd;
> > >   int debugfs;
> > > -bool has_runtime_pm, has_pc8;
> > > +bool has_runtime_pm, has_pc8, pc8_needs_screen_off;
> > >   struct mode_set_data ms_data;
> > >   /* Stuff used when creating FBs and mode setting. */
> > > @@ -121,6 +121,7 @@ struct modeset_params {
> > >   struct modeset_params lpsp_mode_params;
> > >   struct modeset_params non_lpsp_mode_params;
> > >   struct modeset_params *default_mode_params;
> > > +struct modeset_params *screens_mode_params[MAX_CONNECTORS];
> > >   static int8_t *pm_data = NULL;
> > > @@ -297,6 +298,37 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
> > >   	return true;
> > >   }
> > > +static void init_modeset_params_for_all_screen(struct mode_set_data *data)
> > BTW why do we need to pass the ms_data as a parameter when it is
> > declared in global space? Am I missing something here?
> I am not sure about it, exisitng code uses this global at so many places.
> > > +{
> > > +	drmModeConnectorPtr connector = NULL;
> > > +	drmModeModeInfoPtr mode = NULL;
> > > +	int screen = 0;
> > > +
> > > +	if (!data->res)
> > > +		return false;
> > > +
> > > +	for (int i = 0; i < data->res->count_connectors; i++) {
> > > +		connector = data->connectors[i];
> > > +
> > > +		if (connector->connection == DRM_MODE_CONNECTED
> > > +		    && connector->count_modes) {
> > > +			screens_mode_params[screen] =
> > > +				malloc(sizeof(struct modeset_params));
> > > +			mode = &connector->modes[0];
> > > +			igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
> > > +					      DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
> > > +					      &screens_mode_params[screen]->fb);
> > Line length exceeds 80chars. Please wrap it. Applicable for elsewhere
> > too.
> here it will not be possible, it will not be readable, need to create a
> separate function and move all these chunk of big lines, hope that will be
> ok.
> > > +			screens_mode_params[screen]->crtc_id =
> > > +				kmstest_find_crtc_for_connector(drm_fd, data->res, connector, 0);
> > > +			screens_mode_params[screen]->connector_id = connector->connector_id;
> > > +			screens_mode_params[screen]->mode = mode;
> > > +			screen++;
> > > +		}
> > > +	}
> > > +
> > > +	return;
> > > +}
> > > +
> > >   static void init_modeset_cached_params(struct mode_set_data *data)
> > >   {
> > >   	bool lpsp, non_lpsp;
> > > @@ -305,6 +337,7 @@ static void init_modeset_cached_params(struct mode_set_data *data)
> > >   					    SCREEN_TYPE_LPSP);
> > >   	non_lpsp = init_modeset_params_for_type(data, &non_lpsp_mode_params,
> > >   						SCREEN_TYPE_NON_LPSP);
> > > +	init_modeset_params_for_all_screen(data);
> > >   	if (lpsp)
> > >   		default_mode_params = &lpsp_mode_params;
> > > @@ -353,6 +386,22 @@ static bool enable_one_screen_with_type(struct mode_set_data *data,
> > >   	return set_mode_for_params(params);
> > >   }
> > > +static void enable_all_screens(struct mode_set_data *data)
> > > +{
> > > +	struct modeset_params *params = NULL;
> > > +
> > > +	/* SKIP if there are no connected screens. */
> > > +	igt_require(screens_mode_params[0]);
> > > +
> > > +	for (int i = 0; i < MAX_CONNECTORS ; i++) {
> > > +		params = screens_mode_params[i];
> > > +		if (params)
> > > +			set_mode_for_params(params);
> > > +		else
> > > +			break;
> > > +	}
> > > +}
> > > +
> > >   static void enable_one_screen(struct mode_set_data *data)
> > >   {
> > >   	/* SKIP if there are no connected screens. */
> > > @@ -685,8 +734,12 @@ static void setup_pc8(void)
> > >   {
> > >   	has_pc8 = false;
> > > -	/* Only Haswell supports the PC8 feature. */
> > > -	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid))
> > > +	if (IS_HASWELL(ms_data.devid) || IS_BROADWELL(ms_data.devid))
> > > +		pc8_needs_screen_off = true;
> > > +	else if (AT_LEAST_GEN(ms_data.devid, 9))
> > > +		pc8_needs_screen_off = false;
> > > +	/* Only Haswell supports the PC8 feature on lesser than GEN9. */
> > > +	else
> > >   		return;
> > >   	/* Make sure our Kernel supports MSR and the module is loaded. */
> > > @@ -808,9 +861,15 @@ static void pc8_residency_subtest(void)
> > >   		     "configuration.\n");
> > >   	/* Make sure PC8+ residencies stop! */
> > > -	enable_one_screen(&ms_data);
> > > -	igt_assert_f(!pc8_plus_residency_changed(10),
> > > -		     "PC8+ residency didn't stop with screen enabled.\n");
> > > +	if (pc8_needs_screen_off) {
> > > +		enable_one_screen(&ms_data);
> > > +		igt_assert_f(!pc8_plus_residency_changed(10),
> > Could we use a macro for this timeout "10" ?
> yes we can but there are other existing instances too are using different
> timeut values, so there will be pleanty of timeout
> macros.

We need to worry about what we add here. If you are thinking existing
code can be improvised, feel free to do that in separate patch.

-Ram

> > > +			     "PC8+ residency didn't stop with screen enabled.\n");
> > > +	} else {
> > > +		enable_all_screens(&ms_data);
> > > +		igt_assert_f(pc8_plus_residency_changed(10),
> > macro should be good here.
> > > +			     "Machine is not reaching PC8+ states with all screen enabled.\n");
> > Please consider to make the log crisp to meet the 80 char limit.
> > 
> > -Ram
> > > +	}
> > >   }
> > >   static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
> > > -- 
> > > 2.7.4
> > > 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for Enabling PC8+ residency for all GEN9+ platforms (rev3)
  2019-03-27  9:55 [igt-dev] [PATCH i-g-t v3 0/2] Enabling PC8+ residency for all GEN9+ platforms v3 Anshuman Gupta
                   ` (2 preceding siblings ...)
  2019-03-27 11:20 ` [igt-dev] ✓ Fi.CI.BAT: success for Enabling PC8+ residency for all GEN9+ platforms (rev3) Patchwork
@ 2019-03-27 20:57 ` Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-03-27 20:57 UTC (permalink / raw)
  To: Gupta, Anshuman; +Cc: igt-dev

== Series Details ==

Series: Enabling PC8+ residency for all GEN9+ platforms (rev3)
URL   : https://patchwork.freedesktop.org/series/57640/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5823_full -> IGTPW_2717_full
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_2717_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2717_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://patchwork.freedesktop.org/api/1.0/series/57640/revisions/3/mbox/

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

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

### IGT changes ###

#### Warnings ####

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-kbl:          SKIP [fdo#109271] -> FAIL +2

  * igt@i915_pm_rpm@pc8-residency:
    - shard-apl:          SKIP [fdo#109271] -> FAIL +1

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_capture@capture-bsd2:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] +88

  * igt@gem_exec_schedule@in-order-bsd2:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +14

  * igt@gem_tiled_swapping@non-threaded:
    - shard-hsw:          PASS -> FAIL [fdo#108686]

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +18

  * igt@i915_pm_rps@waitboost:
    - shard-apl:          PASS -> FAIL [fdo#102250]

  * igt@kms_atomic_transition@4x-modeset-transitions-nonblocking:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2

  * igt@kms_busy@extended-modeset-hang-oldfb-render-f:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_busy@extended-modeset-hang-oldfb-with-reset-render-d:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chv_cursor_fail@pipe-c-64x64-left-edge:
    - shard-glk:          PASS -> INCOMPLETE [fdo#103359] / [k.org#198133]

  * igt@kms_content_protection@atomic:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108597] / [fdo#108739]

  * igt@kms_cursor_crc@cursor-128x42-onscreen:
    - shard-glk:          NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x256-dpms:
    - shard-glk:          PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          PASS -> FAIL [fdo#104873]

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-glk:          PASS -> FAIL [fdo#105363] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +22

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +22

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +6

  * igt@kms_pipe_crc_basic@read-crc-pipe-d:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-apl:          PASS -> FAIL [fdo#108145]

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
    - shard-glk:          PASS -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-kbl:          PASS -> FAIL [fdo#109016]

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#105763]

  * igt@kms_setmode@basic:
    - shard-hsw:          PASS -> FAIL [fdo#99912]
    - shard-kbl:          NOTRUN -> FAIL [fdo#99912]

  * igt@testdisplay:
    - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]
    - shard-apl:          PASS -> INCOMPLETE [fdo#103927]

  
#### Possible fixes ####

  * igt@gem_create@create-clear:
    - shard-snb:          INCOMPLETE [fdo#105411] -> PASS

  * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
    - shard-apl:          FAIL [fdo#109660] -> PASS

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
    - shard-hsw:          DMESG-WARN [fdo#110222] -> PASS +1

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
    - shard-kbl:          DMESG-WARN [fdo#110222] -> PASS +1
    - shard-snb:          DMESG-WARN [fdo#110222] -> PASS

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-glk:          FAIL [fdo#102670] -> PASS

  * igt@kms_flip@dpms-vs-vblank-race-interruptible:
    - shard-glk:          FAIL [fdo#103060] -> PASS

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
    - shard-glk:          SKIP [fdo#109271] -> PASS

  * igt@kms_plane@plane-position-hole-dpms-pipe-b-planes:
    - shard-snb:          SKIP [fdo#109271] -> PASS +1

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-glk:          FAIL [fdo#108145] -> PASS

  * igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format:
    - shard-glk:          SKIP [fdo#109271] / [fdo#109278] -> PASS

  * igt@kms_vblank@pipe-a-query-idle-hang:
    - shard-hsw:          INCOMPLETE [fdo#103540] -> PASS

  * igt@tools_test@tools_test:
    - shard-apl:          SKIP [fdo#109271] -> PASS

  
#### Warnings ####

  * igt@kms_busy@extended-modeset-hang-newfb-render-a:
    - shard-snb:          SKIP [fdo#109271] / [fdo#109278] -> DMESG-WARN [fdo#110222]

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

  [fdo#102250]: https://bugs.freedesktop.org/show_bug.cgi?id=102250
  [fdo#102670]: https://bugs.freedesktop.org/show_bug.cgi?id=102670
  [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#108739]: https://bugs.freedesktop.org/show_bug.cgi?id=108739
  [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109660]: https://bugs.freedesktop.org/show_bug.cgi?id=109660
  [fdo#110222]: https://bugs.freedesktop.org/show_bug.cgi?id=110222
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 5)
------------------------------

  Missing    (5): shard-skl pig-hsw-4770r pig-glk-j5005 shard-iclb pig-skl-6260u 


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

    * IGT: IGT_4907 -> IGTPW_2717
    * Piglit: piglit_4509 -> None

  CI_DRM_5823: f346d92211072f89a64f917d3b61cb8177a6fe4b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2717: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2717/
  IGT_4907: 7c8f2616fa0fd3ddb16e050c5b7ea9ce707abbe4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2717/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-03-27 20:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-27  9:55 [igt-dev] [PATCH i-g-t v3 0/2] Enabling PC8+ residency for all GEN9+ platforms v3 Anshuman Gupta
2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for all Gen9+ Anshuman Gupta
2019-03-27 12:28   ` Ramalingam C
2019-03-27 13:45     ` Gupta, Anshuman
2019-03-27 15:36       ` Ramalingam C
2019-03-27  9:55 ` [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress Anshuman Gupta
2019-03-27 12:32   ` Ramalingam C
2019-03-27 11:20 ` [igt-dev] ✓ Fi.CI.BAT: success for Enabling PC8+ residency for all GEN9+ platforms (rev3) Patchwork
2019-03-27 20:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox