* [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5
@ 2019-05-09 11:58 Anshuman Gupta
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11 Anshuman Gupta
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Anshuman Gupta @ 2019-05-09 11:58 UTC (permalink / raw)
To: igt-dev
This is v5 version after enabling edp-panel-fitter sub-test
in this series.
This series has added i915_pm_lpsp subtests to CI fast
feedback list in order to run cover these subtest on all
affected platforms.
Revision 1 Link: https://patchwork.freedesktop.org/series/58051/
Revision 2 Link: https://patchwork.freedesktop.org/series/59048/
Anshuman Gupta (4):
igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11.
igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel.
igt/i915/i915_pm_lpsp: panel-fitter subtest modifications.
DO_NOT_MERGE add i915_pm_lpsp subtests to CI fast feedback list.
tests/i915/i915_pm_lpsp.c | 163 ++++++++++++++++++++++++++++------
tests/intel-ci/fast-feedback.testlist | 4 +
2 files changed, 141 insertions(+), 26 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] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11.
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
@ 2019-05-09 11:58 ` Anshuman Gupta
2019-05-09 12:32 ` Animesh Manna
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 2/4] igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel Anshuman Gupta
` (5 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Anshuman Gupta @ 2019-05-09 11:58 UTC (permalink / raw)
To: igt-dev
Enabling i915_pm_lpsp igt tests for all platforms till Gen11.
Earlier these test were enabled only on haswell and broadwell
platforms.
v2: Removed global no_lpsp_pw_idx. [Animesh]
Check only state value for power well. [Animesh]
Adding igt_wait of 1 second as sometimes screens_disabled
test fails because AUDIO power domain was having non-zero
power domain reference count.[Imre]
Dumping i915_pm_runtime_status and i915_power_domain_info
in case test fails.[Imre]
v3: Having igt_wait() to check lpsp_enabled() only to the part
of test affected by delayed audio codec disabling.
Cc: imre.deak@intel.com
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
tests/i915/i915_pm_lpsp.c | 88 +++++++++++++++++++++++++++++++++++++----------
1 file changed, 70 insertions(+), 18 deletions(-)
diff --git a/tests/i915/i915_pm_lpsp.c b/tests/i915/i915_pm_lpsp.c
index b319dbe..1abe587 100644
--- a/tests/i915/i915_pm_lpsp.c
+++ b/tests/i915/i915_pm_lpsp.c
@@ -30,26 +30,68 @@
#include <fcntl.h>
#include <unistd.h>
+#include "igt_sysfs.h"
+
+#define HSW_PW_CTL_IDX_GLOBAL 15
+#define SKL_PW_CTL_IDX_PW_2 15
+#define ICL_PW_CTL_IDX_PW_3 2
+
+#define HSW_PWR_WELL_CTL_REQ(pw_idx) (0x2 << ((pw_idx) * 2))
+#define HSW_PWR_WELL_CTL_STATE(pw_idx) (0x1 << ((pw_idx) * 2))
+
+#define DUMP_DBGFS(file1, file2, fd) \
+ "%s:\n%s\n%s:\n%s\n", file1, \
+ igt_sysfs_get(fd, file1), file2, \
+ igt_sysfs_get(fd, file2) \
static bool supports_lpsp(uint32_t devid)
{
- return IS_HASWELL(devid) || IS_BROADWELL(devid);
+ return IS_HASWELL(devid) || IS_BROADWELL(devid)
+ || AT_LEAST_GEN(devid, 9);
+}
+
+static int get_no_lpsp_pw_idx(uint32_t devid)
+{
+ int no_lpsp_pw_idx;
+
+ if (IS_HASWELL(devid) || IS_BROADWELL(devid))
+ no_lpsp_pw_idx = HSW_PW_CTL_IDX_GLOBAL;
+ else if (IS_GEN(devid, 11))
+ no_lpsp_pw_idx = ICL_PW_CTL_IDX_PW_3;
+ else if (AT_LEAST_GEN(devid, 9))
+ no_lpsp_pw_idx = SKL_PW_CTL_IDX_PW_2;
+ else
+ no_lpsp_pw_idx = -1;
+
+ return no_lpsp_pw_idx;
}
-static bool lpsp_is_enabled(int drm_fd)
+static bool lpsp_is_enabled(uint32_t devid)
{
- uint32_t val;
+ uint32_t val, mask;
+ int pw_idx;
+
+ pw_idx = get_no_lpsp_pw_idx(devid);
+ igt_require(pw_idx > 0);
+ mask = HSW_PWR_WELL_CTL_STATE(pw_idx);
val = INREG(HSW_PWR_WELL_CTL2);
- return !(val & HSW_PWR_WELL_STATE_ENABLED);
+ return !(val & mask);
}
/* 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)
+static void screens_disabled_subtest(int drm_fd, drmModeResPtr drm_res,
+ uint32_t devid, int fd)
{
kmstest_unset_all_crtcs(drm_fd, drm_res);
- igt_assert(lpsp_is_enabled(drm_fd));
+
+ /* Some times delayed audio codec disabling causes to fail the test.
+ * Using igt_wait to check lpsp after drm_mode_setcrtc().
+ */
+ igt_assert_f(igt_wait(lpsp_is_enabled(devid), 1000, 100),
+ DUMP_DBGFS("i915_runtime_pm_status",
+ "i915_power_domain_info", fd));
}
static uint32_t create_fb(int drm_fd, int width, int height)
@@ -62,7 +104,7 @@ static uint32_t create_fb(int drm_fd, int width, int height)
static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
drmModeConnectorPtr *drm_connectors, uint32_t devid,
- bool use_panel_fitter)
+ bool use_panel_fitter, int fd)
{
int i, rc;
uint32_t crtc_id = 0, buffer_id = 0;
@@ -133,16 +175,18 @@ static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
if (use_panel_fitter) {
if (IS_HASWELL(devid))
- igt_assert(!lpsp_is_enabled(drm_fd));
+ igt_assert(!lpsp_is_enabled(devid));
else
- igt_assert(lpsp_is_enabled(drm_fd));
+ igt_assert(lpsp_is_enabled(devid));
} else {
- igt_assert(lpsp_is_enabled(drm_fd));
+ igt_assert_f(lpsp_is_enabled(devid),
+ DUMP_DBGFS("i915_runtime_pm_status",
+ "i915_power_domain_info", fd));
}
}
-static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res,
- drmModeConnectorPtr *drm_connectors)
+static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res, uint32_t devid,
+ drmModeConnectorPtr *drm_connectors, int fd)
{
int i, rc;
uint32_t crtc_id = 0, buffer_id = 0;
@@ -177,8 +221,9 @@ static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res,
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));
+ igt_assert_f(!lpsp_is_enabled(devid),
+ DUMP_DBGFS("i915_runtime_pm_status",
+ "i915_power_domain_info", fd));
}
#define MAX_CONNECTORS 32
@@ -190,6 +235,8 @@ drmModeConnectorPtr drm_connectors[MAX_CONNECTORS];
igt_main
{
+ int debugfs;
+
igt_fixture {
int i;
@@ -212,17 +259,22 @@ igt_main
intel_register_access_init(intel_get_pci_device(), 0, drm_fd);
+ igt_require(get_no_lpsp_pw_idx(devid) > 0);
kmstest_set_vt_graphics_mode();
+ debugfs = igt_debugfs_dir(drm_fd);
}
igt_subtest("screens-disabled")
- screens_disabled_subtest(drm_fd, drm_res);
+ screens_disabled_subtest(drm_fd, drm_res, devid, debugfs);
igt_subtest("edp-native")
- edp_subtest(drm_fd, drm_res, drm_connectors, devid, false);
+ edp_subtest(drm_fd, drm_res, drm_connectors, devid, false,
+ debugfs);
igt_subtest("edp-panel-fitter")
- edp_subtest(drm_fd, drm_res, drm_connectors, devid, true);
+ edp_subtest(drm_fd, drm_res, drm_connectors, devid, true,
+ debugfs);
igt_subtest("non-edp")
- non_edp_subtest(drm_fd, drm_res, drm_connectors);
+ non_edp_subtest(drm_fd, drm_res, devid, drm_connectors,
+ debugfs);
igt_fixture {
int i;
--
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] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v5 2/4] igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel.
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11 Anshuman Gupta
@ 2019-05-09 11:58 ` Anshuman Gupta
2019-05-10 9:27 ` Animesh Manna
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 3/4] igt/i915/i915_pm_lpsp: panel-fitter subtest modifications Anshuman Gupta
` (4 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Anshuman Gupta @ 2019-05-09 11:58 UTC (permalink / raw)
To: igt-dev
Earlier on HSW/BDW it was assumed that only eDP panel will act
as lpsp. But that is not true now.
So checking whether a non edp panel can act as lpsp or not.
v2: CI igt fixures.
v3: CI igt fixture.
Cc: imre.deak@intel.com
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
tests/i915/i915_pm_lpsp.c | 67 ++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 64 insertions(+), 3 deletions(-)
diff --git a/tests/i915/i915_pm_lpsp.c b/tests/i915/i915_pm_lpsp.c
index 1abe587..f699edc 100644
--- a/tests/i915/i915_pm_lpsp.c
+++ b/tests/i915/i915_pm_lpsp.c
@@ -38,6 +38,7 @@
#define HSW_PWR_WELL_CTL_REQ(pw_idx) (0x2 << ((pw_idx) * 2))
#define HSW_PWR_WELL_CTL_STATE(pw_idx) (0x1 << ((pw_idx) * 2))
+#define LPSP_PORT 'A'
#define DUMP_DBGFS(file1, file2, fd) \
"%s:\n%s\n%s:\n%s\n", file1, \
@@ -79,6 +80,55 @@ static bool lpsp_is_enabled(uint32_t devid)
return !(val & mask);
}
+static bool is_non_edp_ddia_port(FILE *file, char *info)
+{
+ int ret;
+ char ddi[256];
+ char port;
+ bool ddi_a_port = false;
+
+ while (fgets(info, 256, file)) {
+ if (strstr(info, "encoder")) {
+ ret = sscanf(info, "%*s %*s %*s %s %c", ddi, &port);
+ igt_assert_eq(ret, 2);
+ if (!strcmp(ddi, "DDI") && port == LPSP_PORT)
+ ddi_a_port = true;
+ }
+ if (strstr(info, "connector") && strstr(info, "eDP"))
+ ddi_a_port = false;
+ }
+ return ddi_a_port;
+}
+
+static bool non_edp_lpsp_check(int device)
+{
+ char tmp[256];
+ FILE *file;
+ int line;
+ int fd;
+ bool is_lpsp = false;
+
+ fd = igt_debugfs_open(device, "i915_display_info", O_RDONLY);
+ file = fdopen(fd, "r");
+ igt_skip_on(!file);
+
+ line = 0;
+ while (fgets(tmp, 256, file)) {
+ if (strstr(tmp, "CRTC") && line > 0) {
+ if (strstr(tmp, "pipe: A") &&
+ strstr(tmp, "active=yes")) {
+ is_lpsp = is_non_edp_ddia_port(file, tmp);
+ break;
+ }
+ }
+ line++;
+ }
+
+ fclose(file);
+ close(fd);
+ return is_lpsp;
+}
+
/* 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,
@@ -221,9 +271,20 @@ static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res, uint32_t devid,
rc = drmModeSetCrtc(drm_fd, crtc_id, buffer_id, 0, 0,
&connector->connector_id, 1, mode);
igt_assert_eq(rc, 0);
- igt_assert_f(!lpsp_is_enabled(devid),
- DUMP_DBGFS("i915_runtime_pm_status",
- "i915_power_domain_info", fd));
+
+ if (non_edp_lpsp_check(drm_fd) ||
+ connector->connector_type == DRM_MODE_CONNECTOR_DSI)
+ /* Some times delayed audio codec disabling causes to fail the.
+ * the test. Using igt_wait to check lpsp after
+ * drm_mode_setcrtc().
+ */
+ igt_assert_f(igt_wait(lpsp_is_enabled(devid), 1000, 100),
+ DUMP_DBGFS("i915_runtime_pm_status",
+ "i915_power_domain_info", fd));
+ else
+ igt_assert_f(!lpsp_is_enabled(devid),
+ DUMP_DBGFS("i915_runtime_pm_status",
+ "i915_power_domain_info", fd));
}
#define MAX_CONNECTORS 32
--
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] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v5 3/4] igt/i915/i915_pm_lpsp: panel-fitter subtest modifications.
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11 Anshuman Gupta
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 2/4] igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel Anshuman Gupta
@ 2019-05-09 11:58 ` Anshuman Gupta
2019-05-09 13:53 ` Animesh Manna
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 4/4] DO_NOT_MERGE add i915_pm_lpsp subtests to CI fast feedback list Anshuman Gupta
` (3 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Anshuman Gupta @ 2019-05-09 11:58 UTC (permalink / raw)
To: igt-dev
It makes sense to skip the test if edp-panel native resoultion
is limted to 1024x768 rather than failing the test.
Dumping i915_runtime_pm_status and i915_power_domain_info if
test fails.
Small improvment in panel-fitter condition which check
lpsp_enabled().
Cc: imre.deak@intel.com
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
tests/i915/i915_pm_lpsp.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/tests/i915/i915_pm_lpsp.c b/tests/i915/i915_pm_lpsp.c
index f699edc..0156957 100644
--- a/tests/i915/i915_pm_lpsp.c
+++ b/tests/i915/i915_pm_lpsp.c
@@ -201,10 +201,10 @@ static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
* 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);
+ igt_require(c->count_modes &&
+ c->modes[0].hdisplay > 1024);
+ igt_require(c->count_modes &&
+ c->modes[0].vdisplay > 768);
mode = &std_1024_mode;
break;
}
@@ -223,16 +223,14 @@ static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
&connector->connector_id, 1, mode);
igt_assert_eq(rc, 0);
- if (use_panel_fitter) {
- if (IS_HASWELL(devid))
- igt_assert(!lpsp_is_enabled(devid));
- else
- igt_assert(lpsp_is_enabled(devid));
- } else {
+ if (use_panel_fitter && IS_HASWELL(devid))
+ igt_assert_f(!lpsp_is_enabled(devid),
+ DUMP_DBGFS("i915_runtime_pm_status",
+ "i915_power_domain_info", fd));
+ else
igt_assert_f(lpsp_is_enabled(devid),
DUMP_DBGFS("i915_runtime_pm_status",
"i915_power_domain_info", fd));
- }
}
static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res, uint32_t devid,
--
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] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v5 4/4] DO_NOT_MERGE add i915_pm_lpsp subtests to CI fast feedback list.
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
` (2 preceding siblings ...)
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 3/4] igt/i915/i915_pm_lpsp: panel-fitter subtest modifications Anshuman Gupta
@ 2019-05-09 11:58 ` Anshuman Gupta
2019-05-09 13:36 ` [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Animesh Manna
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Anshuman Gupta @ 2019-05-09 11:58 UTC (permalink / raw)
To: igt-dev
This patch adds below i915_pm_lpsp subtests to CI fast feedback
list in order to test these subtest on ICL
(which is affected platform).
Subtests:
screens-disabled
edp-native
edp-panel-fitter
non-edp
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
tests/intel-ci/fast-feedback.testlist | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 40475b1..670f0a2 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -216,6 +216,10 @@ igt@kms_psr@sprite_plane_onoff
igt@kms_psr@primary_mmap_gtt
igt@kms_setmode@basic-clone-single-crtc
igt@i915_pm_backlight@basic-brightness
+igt@i915_pm_lpsp@edp-native
+igt@i915_pm_lpsp@edp-panel-fitter
+igt@i915_pm_lpsp@non-edp
+igt@i915_pm_lpsp@screens-disabled
igt@i915_pm_rpm@basic-pci-d3-state
igt@i915_pm_rpm@basic-rte
igt@i915_pm_rps@basic-api
--
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] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11.
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11 Anshuman Gupta
@ 2019-05-09 12:32 ` Animesh Manna
0 siblings, 0 replies; 11+ messages in thread
From: Animesh Manna @ 2019-05-09 12:32 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev
Hi,
On 5/9/2019 5:28 PM, Anshuman Gupta wrote:
> Enabling i915_pm_lpsp igt tests for all platforms till Gen11.
> Earlier these test were enabled only on haswell and broadwell
> platforms.
>
> v2: Removed global no_lpsp_pw_idx. [Animesh]
> Check only state value for power well. [Animesh]
> Adding igt_wait of 1 second as sometimes screens_disabled
> test fails because AUDIO power domain was having non-zero
> power domain reference count.[Imre]
> Dumping i915_pm_runtime_status and i915_power_domain_info
> in case test fails.[Imre]
> v3: Having igt_wait() to check lpsp_enabled() only to the part
> of test affected by delayed audio codec disabling.
>
> Cc: imre.deak@intel.com
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
> tests/i915/i915_pm_lpsp.c | 88 +++++++++++++++++++++++++++++++++++++----------
> 1 file changed, 70 insertions(+), 18 deletions(-)
>
> diff --git a/tests/i915/i915_pm_lpsp.c b/tests/i915/i915_pm_lpsp.c
> index b319dbe..1abe587 100644
> --- a/tests/i915/i915_pm_lpsp.c
> +++ b/tests/i915/i915_pm_lpsp.c
> @@ -30,26 +30,68 @@
> #include <fcntl.h>
> #include <unistd.h>
>
> +#include "igt_sysfs.h"
> +
> +#define HSW_PW_CTL_IDX_GLOBAL 15
> +#define SKL_PW_CTL_IDX_PW_2 15
> +#define ICL_PW_CTL_IDX_PW_3 2
> +
> +#define HSW_PWR_WELL_CTL_REQ(pw_idx) (0x2 << ((pw_idx) * 2))
HSW_PWR_WELL_CTL_REQ can be removed as not used anywhere.
> +#define HSW_PWR_WELL_CTL_STATE(pw_idx) (0x1 << ((pw_idx) * 2))
I can understand that here tried to follow similar driver design to
calculate mask for power well register,
but validation point of view not necessarily need to have same design
like driver and maybe better not to follow to catch driver issue if
possible.
As per me, <platform>_PW2_ENABLE_MASK is sufficient to check the state
of power well 2.
> +
> +#define DUMP_DBGFS(file1, file2, fd) \
> + "%s:\n%s\n%s:\n%s\n", file1, \
> + igt_sysfs_get(fd, file1), file2, \
> + igt_sysfs_get(fd, file2) \
>
> static bool supports_lpsp(uint32_t devid)
> {
> - return IS_HASWELL(devid) || IS_BROADWELL(devid);
> + return IS_HASWELL(devid) || IS_BROADWELL(devid)
> + || AT_LEAST_GEN(devid, 9);
> +}
> +
> +static int get_no_lpsp_pw_idx(uint32_t devid)
> +{
We can return <platform>_PW2_ENABLE_MASK from this function. Function
name should be updated accordingly.
Regards,
Animesh
> + int no_lpsp_pw_idx;
> +
> + if (IS_HASWELL(devid) || IS_BROADWELL(devid))
> + no_lpsp_pw_idx = HSW_PW_CTL_IDX_GLOBAL;
> + else if (IS_GEN(devid, 11))
> + no_lpsp_pw_idx = ICL_PW_CTL_IDX_PW_3;
> + else if (AT_LEAST_GEN(devid, 9))
> + no_lpsp_pw_idx = SKL_PW_CTL_IDX_PW_2;
> + else
> + no_lpsp_pw_idx = -1;
> +
> + return no_lpsp_pw_idx;
> }
>
> -static bool lpsp_is_enabled(int drm_fd)
> +static bool lpsp_is_enabled(uint32_t devid)
> {
> - uint32_t val;
> + uint32_t val, mask;
> + int pw_idx;
> +
> + pw_idx = get_no_lpsp_pw_idx(devid);
> + igt_require(pw_idx > 0);
> + mask = HSW_PWR_WELL_CTL_STATE(pw_idx);
>
> val = INREG(HSW_PWR_WELL_CTL2);
> - return !(val & HSW_PWR_WELL_STATE_ENABLED);
> + return !(val & mask);
> }
>
> /* 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)
> +static void screens_disabled_subtest(int drm_fd, drmModeResPtr drm_res,
> + uint32_t devid, int fd)
> {
> kmstest_unset_all_crtcs(drm_fd, drm_res);
> - igt_assert(lpsp_is_enabled(drm_fd));
> +
> + /* Some times delayed audio codec disabling causes to fail the test.
> + * Using igt_wait to check lpsp after drm_mode_setcrtc().
> + */
> + igt_assert_f(igt_wait(lpsp_is_enabled(devid), 1000, 100),
> + DUMP_DBGFS("i915_runtime_pm_status",
> + "i915_power_domain_info", fd));
> }
>
> static uint32_t create_fb(int drm_fd, int width, int height)
> @@ -62,7 +104,7 @@ static uint32_t create_fb(int drm_fd, int width, int height)
>
> static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
> drmModeConnectorPtr *drm_connectors, uint32_t devid,
> - bool use_panel_fitter)
> + bool use_panel_fitter, int fd)
> {
> int i, rc;
> uint32_t crtc_id = 0, buffer_id = 0;
> @@ -133,16 +175,18 @@ static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
>
> if (use_panel_fitter) {
> if (IS_HASWELL(devid))
> - igt_assert(!lpsp_is_enabled(drm_fd));
> + igt_assert(!lpsp_is_enabled(devid));
> else
> - igt_assert(lpsp_is_enabled(drm_fd));
> + igt_assert(lpsp_is_enabled(devid));
> } else {
> - igt_assert(lpsp_is_enabled(drm_fd));
> + igt_assert_f(lpsp_is_enabled(devid),
> + DUMP_DBGFS("i915_runtime_pm_status",
> + "i915_power_domain_info", fd));
> }
> }
>
> -static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res,
> - drmModeConnectorPtr *drm_connectors)
> +static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res, uint32_t devid,
> + drmModeConnectorPtr *drm_connectors, int fd)
> {
> int i, rc;
> uint32_t crtc_id = 0, buffer_id = 0;
> @@ -177,8 +221,9 @@ static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res,
> 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));
> + igt_assert_f(!lpsp_is_enabled(devid),
> + DUMP_DBGFS("i915_runtime_pm_status",
> + "i915_power_domain_info", fd));
> }
>
> #define MAX_CONNECTORS 32
> @@ -190,6 +235,8 @@ drmModeConnectorPtr drm_connectors[MAX_CONNECTORS];
>
> igt_main
> {
> + int debugfs;
> +
> igt_fixture {
> int i;
>
> @@ -212,17 +259,22 @@ igt_main
>
> intel_register_access_init(intel_get_pci_device(), 0, drm_fd);
>
> + igt_require(get_no_lpsp_pw_idx(devid) > 0);
> kmstest_set_vt_graphics_mode();
> + debugfs = igt_debugfs_dir(drm_fd);
> }
>
> igt_subtest("screens-disabled")
> - screens_disabled_subtest(drm_fd, drm_res);
> + screens_disabled_subtest(drm_fd, drm_res, devid, debugfs);
> igt_subtest("edp-native")
> - edp_subtest(drm_fd, drm_res, drm_connectors, devid, false);
> + edp_subtest(drm_fd, drm_res, drm_connectors, devid, false,
> + debugfs);
> igt_subtest("edp-panel-fitter")
> - edp_subtest(drm_fd, drm_res, drm_connectors, devid, true);
> + edp_subtest(drm_fd, drm_res, drm_connectors, devid, true,
> + debugfs);
> igt_subtest("non-edp")
> - non_edp_subtest(drm_fd, drm_res, drm_connectors);
> + non_edp_subtest(drm_fd, drm_res, devid, drm_connectors,
> + debugfs);
>
> igt_fixture {
> int i;
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
` (3 preceding siblings ...)
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 4/4] DO_NOT_MERGE add i915_pm_lpsp subtests to CI fast feedback list Anshuman Gupta
@ 2019-05-09 13:36 ` Animesh Manna
2019-05-09 13:57 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-05-09 19:09 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 11+ messages in thread
From: Animesh Manna @ 2019-05-09 13:36 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev
Hi,
On 5/9/2019 5:28 PM, Anshuman Gupta wrote:
> This is v5 version after enabling edp-panel-fitter sub-test
> in this series.
>
> This series has added i915_pm_lpsp subtests to CI fast
> feedback list in order to run cover these subtest on all
> affected platforms.
>
> Revision 1 Link: https://patchwork.freedesktop.org/series/58051/
> Revision 2 Link: https://patchwork.freedesktop.org/series/59048/
Did not find any condition check for MIPI panel which also can be in
lpsp (low power single pipe) mode. Any idea?
Regards,
Animesh
>
> Anshuman Gupta (4):
> igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11.
> igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel.
> igt/i915/i915_pm_lpsp: panel-fitter subtest modifications.
> DO_NOT_MERGE add i915_pm_lpsp subtests to CI fast feedback list.
>
> tests/i915/i915_pm_lpsp.c | 163 ++++++++++++++++++++++++++++------
> tests/intel-ci/fast-feedback.testlist | 4 +
> 2 files changed, 141 insertions(+), 26 deletions(-)
>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v5 3/4] igt/i915/i915_pm_lpsp: panel-fitter subtest modifications.
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 3/4] igt/i915/i915_pm_lpsp: panel-fitter subtest modifications Anshuman Gupta
@ 2019-05-09 13:53 ` Animesh Manna
0 siblings, 0 replies; 11+ messages in thread
From: Animesh Manna @ 2019-05-09 13:53 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev
Hi,
On 5/9/2019 5:28 PM, Anshuman Gupta wrote:
> It makes sense to skip the test if edp-panel native resoultion
> is limted to 1024x768 rather than failing the test.
> Dumping i915_runtime_pm_status and i915_power_domain_info if
> test fails.
> Small improvment in panel-fitter condition which check
> lpsp_enabled().
>
> Cc: imre.deak@intel.com
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
> tests/i915/i915_pm_lpsp.c | 20 +++++++++-----------
> 1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/tests/i915/i915_pm_lpsp.c b/tests/i915/i915_pm_lpsp.c
> index f699edc..0156957 100644
> --- a/tests/i915/i915_pm_lpsp.c
> +++ b/tests/i915/i915_pm_lpsp.c
> @@ -201,10 +201,10 @@ static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
> * 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);
> + igt_require(c->count_modes &&
> + c->modes[0].hdisplay > 1024);
> + igt_require(c->count_modes &&
> + c->modes[0].vdisplay > 768);
> mode = &std_1024_mode;
> break;
> }
> @@ -223,16 +223,14 @@ static void edp_subtest(int drm_fd, drmModeResPtr drm_res,
> &connector->connector_id, 1, mode);
> igt_assert_eq(rc, 0);
>
> - if (use_panel_fitter) {
> - if (IS_HASWELL(devid))
> - igt_assert(!lpsp_is_enabled(devid));
> - else
> - igt_assert(lpsp_is_enabled(devid));
> - } else {
> + if (use_panel_fitter && IS_HASWELL(devid))
> + igt_assert_f(!lpsp_is_enabled(devid),
> + DUMP_DBGFS("i915_runtime_pm_status",
> + "i915_power_domain_info", fd));
> + else
> igt_assert_f(lpsp_is_enabled(devid),
> DUMP_DBGFS("i915_runtime_pm_status",
> "i915_power_domain_info", fd));
> - }
> }
>
> static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res, uint32_t devid,
Changes looks ok to me.
Regards,
Animesh
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for enable pm_lpsp for platforms till Gen11 v5
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
` (4 preceding siblings ...)
2019-05-09 13:36 ` [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Animesh Manna
@ 2019-05-09 13:57 ` Patchwork
2019-05-09 19:09 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-05-09 13:57 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
== Series Details ==
Series: enable pm_lpsp for platforms till Gen11 v5
URL : https://patchwork.freedesktop.org/series/60465/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6070 -> IGTPW_2958
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/60465/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_2958:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_lpsp@non-edp:
- {fi-cml-u}: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-cml-u/igt@i915_pm_lpsp@non-edp.html
- {fi-icl-y}: NOTRUN -> [SKIP][2]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-icl-y/igt@i915_pm_lpsp@non-edp.html
Known issues
------------
Here are the changes found in IGTPW_2958 that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@gem_cpu_reloc@basic:
- {fi-cml-u2}: [INCOMPLETE][3] -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/fi-cml-u2/igt@gem_cpu_reloc@basic.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-cml-u2/igt@gem_cpu_reloc@basic.html
* igt@i915_module_load@reload:
- fi-ilk-650: [DMESG-WARN][5] ([fdo#106387]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/fi-ilk-650/igt@i915_module_load@reload.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-ilk-650/igt@i915_module_load@reload.html
* igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq: [FAIL][7] ([fdo#108511]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live_hangcheck:
- fi-skl-iommu: [INCOMPLETE][9] ([fdo#108602] / [fdo#108744]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
#### Warnings ####
* igt@i915_selftest@live_hangcheck:
- fi-apl-guc: [DMESG-FAIL][11] ([fdo#110620]) -> [INCOMPLETE][12] ([fdo#103927] / [fdo#110624])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/fi-apl-guc/igt@i915_selftest@live_hangcheck.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-apl-guc/igt@i915_selftest@live_hangcheck.html
* igt@runner@aborted:
- fi-apl-guc: [FAIL][13] ([fdo#110622]) -> [FAIL][14] ([fdo#110624])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/fi-apl-guc/igt@runner@aborted.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/fi-apl-guc/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
[fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
[fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
[fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
[fdo#110620]: https://bugs.freedesktop.org/show_bug.cgi?id=110620
[fdo#110622]: https://bugs.freedesktop.org/show_bug.cgi?id=110622
[fdo#110624]: https://bugs.freedesktop.org/show_bug.cgi?id=110624
Participating hosts (51 -> 45)
------------------------------
Missing (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper
Build changes
-------------
* IGT: IGT_4976 -> IGTPW_2958
CI_DRM_6070: 5bf8116fc0dc2cc0fe344a7c7f45dfd44a93d5a5 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2958: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/
IGT_4976: b1d91d0228db999145405e529952ca49bab7f706 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for enable pm_lpsp for platforms till Gen11 v5
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
` (5 preceding siblings ...)
2019-05-09 13:57 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2019-05-09 19:09 ` Patchwork
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-05-09 19:09 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
== Series Details ==
Series: enable pm_lpsp for platforms till Gen11 v5
URL : https://patchwork.freedesktop.org/series/60465/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6070_full -> IGTPW_2958_full
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with IGTPW_2958_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_2958_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/60465/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_2958_full:
### IGT changes ###
#### Warnings ####
* igt@i915_pm_lpsp@non-edp:
- shard-iclb: [SKIP][1] ([fdo#109301]) -> [SKIP][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb4/igt@i915_pm_lpsp@non-edp.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb5/igt@i915_pm_lpsp@non-edp.html
Known issues
------------
Here are the changes found in IGTPW_2958_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_color@pipe-c-ctm-green-to-red:
- shard-kbl: [PASS][3] -> [FAIL][4] ([fdo#107201])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-kbl7/igt@kms_color@pipe-c-ctm-green-to-red.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-kbl3/igt@kms_color@pipe-c-ctm-green-to-red.html
- shard-apl: [PASS][5] -> [FAIL][6] ([fdo#107201])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-apl6/igt@kms_color@pipe-c-ctm-green-to-red.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-apl3/igt@kms_color@pipe-c-ctm-green-to-red.html
* igt@kms_cursor_crc@cursor-256x256-suspend:
- shard-kbl: [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +6 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-kbl6/igt@kms_cursor_crc@cursor-256x256-suspend.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-kbl1/igt@kms_cursor_crc@cursor-256x256-suspend.html
* igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-glk: [PASS][9] -> [FAIL][10] ([fdo#105363])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-glk3/igt@kms_flip@2x-flip-vs-expired-vblank.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank.html
* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103167]) +2 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb6/igt@kms_psr@psr2_primary_mmap_gtt.html
* igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-apl: [PASS][15] -> [DMESG-WARN][16] ([fdo#108566]) +5 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-apl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-apl1/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
* igt@tools_test@tools_test:
- shard-apl: [PASS][17] -> [SKIP][18] ([fdo#109271])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-apl7/igt@tools_test@tools_test.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-apl4/igt@tools_test@tools_test.html
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109352])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb6/igt@tools_test@tools_test.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb5/igt@tools_test@tools_test.html
#### Possible fixes ####
* igt@gem_ctx_isolation@vcs0-s3:
- shard-kbl: [DMESG-WARN][21] ([fdo#108566]) -> [PASS][22] +1 similar issue
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-kbl1/igt@gem_ctx_isolation@vcs0-s3.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-kbl5/igt@gem_ctx_isolation@vcs0-s3.html
* igt@i915_pm_lpsp@edp-native:
- shard-iclb: [SKIP][23] ([fdo#109301]) -> [PASS][24] +2 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb5/igt@i915_pm_lpsp@edp-native.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb6/igt@i915_pm_lpsp@edp-native.html
* igt@i915_pm_lpsp@non-edp:
- shard-glk: [SKIP][25] ([fdo#109271]) -> [PASS][26] +1 similar issue
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-glk6/igt@i915_pm_lpsp@non-edp.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-glk7/igt@i915_pm_lpsp@non-edp.html
- shard-kbl: [SKIP][27] ([fdo#109271]) -> [PASS][28] +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-kbl6/igt@i915_pm_lpsp@non-edp.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-kbl1/igt@i915_pm_lpsp@non-edp.html
* igt@i915_pm_lpsp@screens-disabled:
- shard-apl: [SKIP][29] ([fdo#109271]) -> [PASS][30] +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-apl2/igt@i915_pm_lpsp@screens-disabled.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-apl3/igt@i915_pm_lpsp@screens-disabled.html
* igt@kms_cursor_crc@cursor-256x85-random:
- shard-apl: [FAIL][31] ([fdo#103232]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-apl4/igt@kms_cursor_crc@cursor-256x85-random.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-apl1/igt@kms_cursor_crc@cursor-256x85-random.html
- shard-kbl: [FAIL][33] ([fdo#103232]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-kbl6/igt@kms_cursor_crc@cursor-256x85-random.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-kbl6/igt@kms_cursor_crc@cursor-256x85-random.html
* igt@kms_flip@plain-flip-fb-recreate:
- shard-hsw: [INCOMPLETE][35] ([fdo#103540]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-hsw4/igt@kms_flip@plain-flip-fb-recreate.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-hsw1/igt@kms_flip@plain-flip-fb-recreate.html
- shard-glk: [FAIL][37] ([fdo#100368]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-glk5/igt@kms_flip@plain-flip-fb-recreate.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-glk7/igt@kms_flip@plain-flip-fb-recreate.html
* igt@kms_flip_tiling@flip-to-y-tiled:
- shard-iclb: [FAIL][39] ([fdo#107931] / [fdo#108134]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb6/igt@kms_flip_tiling@flip-to-y-tiled.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb1/igt@kms_flip_tiling@flip-to-y-tiled.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff:
- shard-hsw: [SKIP][41] ([fdo#109271]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-hsw7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-hsw2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-apl: [DMESG-WARN][43] ([fdo#108566]) -> [PASS][44] +5 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-apl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-apl8/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [FAIL][45] ([fdo#103167]) -> [PASS][46] +7 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-iclb: [FAIL][47] ([fdo#103166]) -> [PASS][48] +1 similar issue
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-x.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb3/igt@kms_plane_lowres@pipe-a-tiling-x.html
* igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [SKIP][49] ([fdo#109441]) -> [PASS][50] +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-iclb3/igt@kms_psr@psr2_sprite_blt.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html
* igt@kms_setmode@basic:
- shard-kbl: [FAIL][51] ([fdo#99912]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-kbl5/igt@kms_setmode@basic.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-kbl4/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-snb: [DMESG-WARN][53] ([fdo#102365]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6070/shard-snb4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/shard-snb6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
[fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
[fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201
[fdo#107931]: https://bugs.freedesktop.org/show_bug.cgi?id=107931
[fdo#108134]: https://bugs.freedesktop.org/show_bug.cgi?id=108134
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109301]: https://bugs.freedesktop.org/show_bug.cgi?id=109301
[fdo#109352]: https://bugs.freedesktop.org/show_bug.cgi?id=109352
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (10 -> 6)
------------------------------
Missing (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005
Build changes
-------------
* IGT: IGT_4976 -> IGTPW_2958
* Piglit: piglit_4509 -> None
CI_DRM_6070: 5bf8116fc0dc2cc0fe344a7c7f45dfd44a93d5a5 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2958: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2958/
IGT_4976: b1d91d0228db999145405e529952ca49bab7f706 @ 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_2958/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v5 2/4] igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel.
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 2/4] igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel Anshuman Gupta
@ 2019-05-10 9:27 ` Animesh Manna
0 siblings, 0 replies; 11+ messages in thread
From: Animesh Manna @ 2019-05-10 9:27 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev
Hi,
On 5/9/2019 5:28 PM, Anshuman Gupta wrote:
> Earlier on HSW/BDW it was assumed that only eDP panel will act
> as lpsp. But that is not true now.
> So checking whether a non edp panel can act as lpsp or not.
>
> v2: CI igt fixures.
> v3: CI igt fixture.
>
> Cc: imre.deak@intel.com
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
> tests/i915/i915_pm_lpsp.c | 67 ++++++++++++++++++++++++++++++++++++++++++++---
> 1 file changed, 64 insertions(+), 3 deletions(-)
>
> diff --git a/tests/i915/i915_pm_lpsp.c b/tests/i915/i915_pm_lpsp.c
> index 1abe587..f699edc 100644
> --- a/tests/i915/i915_pm_lpsp.c
> +++ b/tests/i915/i915_pm_lpsp.c
> @@ -38,6 +38,7 @@
>
> #define HSW_PWR_WELL_CTL_REQ(pw_idx) (0x2 << ((pw_idx) * 2))
> #define HSW_PWR_WELL_CTL_STATE(pw_idx) (0x1 << ((pw_idx) * 2))
> +#define LPSP_PORT 'A'
Rename LPSP_PORT to <platform>_LPSP_PORT as all platform may not
support, also don't know the future.
As per me, SKL_LPSP_PORT will be correct till ICL as they follow similar
design.
Regards,
Animesh
>
> #define DUMP_DBGFS(file1, file2, fd) \
> "%s:\n%s\n%s:\n%s\n", file1, \
> @@ -79,6 +80,55 @@ static bool lpsp_is_enabled(uint32_t devid)
> return !(val & mask);
> }
>
> +static bool is_non_edp_ddia_port(FILE *file, char *info)
> +{
> + int ret;
> + char ddi[256];
> + char port;
> + bool ddi_a_port = false;
> +
> + while (fgets(info, 256, file)) {
> + if (strstr(info, "encoder")) {
> + ret = sscanf(info, "%*s %*s %*s %s %c", ddi, &port);
> + igt_assert_eq(ret, 2);
> + if (!strcmp(ddi, "DDI") && port == LPSP_PORT)
> + ddi_a_port = true;
> + }
> + if (strstr(info, "connector") && strstr(info, "eDP"))
> + ddi_a_port = false;
> + }
> + return ddi_a_port;
> +}
> +
> +static bool non_edp_lpsp_check(int device)
> +{
> + char tmp[256];
> + FILE *file;
> + int line;
> + int fd;
> + bool is_lpsp = false;
> +
> + fd = igt_debugfs_open(device, "i915_display_info", O_RDONLY);
> + file = fdopen(fd, "r");
> + igt_skip_on(!file);
> +
> + line = 0;
> + while (fgets(tmp, 256, file)) {
> + if (strstr(tmp, "CRTC") && line > 0) {
> + if (strstr(tmp, "pipe: A") &&
> + strstr(tmp, "active=yes")) {
> + is_lpsp = is_non_edp_ddia_port(file, tmp);
> + break;
> + }
> + }
> + line++;
> + }
> +
> + fclose(file);
> + close(fd);
> + return is_lpsp;
> +}
> +
> /* 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,
> @@ -221,9 +271,20 @@ static void non_edp_subtest(int drm_fd, drmModeResPtr drm_res, uint32_t devid,
> rc = drmModeSetCrtc(drm_fd, crtc_id, buffer_id, 0, 0,
> &connector->connector_id, 1, mode);
> igt_assert_eq(rc, 0);
> - igt_assert_f(!lpsp_is_enabled(devid),
> - DUMP_DBGFS("i915_runtime_pm_status",
> - "i915_power_domain_info", fd));
> +
> + if (non_edp_lpsp_check(drm_fd) ||
> + connector->connector_type == DRM_MODE_CONNECTOR_DSI)
> + /* Some times delayed audio codec disabling causes to fail the.
> + * the test. Using igt_wait to check lpsp after
> + * drm_mode_setcrtc().
> + */
> + igt_assert_f(igt_wait(lpsp_is_enabled(devid), 1000, 100),
> + DUMP_DBGFS("i915_runtime_pm_status",
> + "i915_power_domain_info", fd));
> + else
> + igt_assert_f(!lpsp_is_enabled(devid),
> + DUMP_DBGFS("i915_runtime_pm_status",
> + "i915_power_domain_info", fd));
> }
>
> #define MAX_CONNECTORS 32
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-05-10 9:27 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-09 11:58 [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Anshuman Gupta
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 1/4] igt/i915/i915_pm_lpsp enable pm_lpsp for platforms till Gen11 Anshuman Gupta
2019-05-09 12:32 ` Animesh Manna
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 2/4] igt/i915/i915_pm_lpsp check lpsp relevance on non edp panel Anshuman Gupta
2019-05-10 9:27 ` Animesh Manna
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 3/4] igt/i915/i915_pm_lpsp: panel-fitter subtest modifications Anshuman Gupta
2019-05-09 13:53 ` Animesh Manna
2019-05-09 11:58 ` [igt-dev] [PATCH i-g-t v5 4/4] DO_NOT_MERGE add i915_pm_lpsp subtests to CI fast feedback list Anshuman Gupta
2019-05-09 13:36 ` [igt-dev] [PATCH i-g-t v5 0/4] enable pm_lpsp for platforms till Gen11 v5 Animesh Manna
2019-05-09 13:57 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-05-09 19:09 ` [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