All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
@ 2018-08-29 21:57 Dhinakaran Pandiyan
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open Dhinakaran Pandiyan
                   ` (11 more replies)
  0 siblings, 12 replies; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-08-29 21:57 UTC (permalink / raw)
  To: igt-dev; +Cc: rodrigo.vivi

From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

It's harmful to write to enable_psr at runtime, and the patch that allows
us to change i915_edp_psr_debug with the panel running will require us
to abandon the module parameter. Hence the userspace change needs to be
put in IGT first before we can change it at kernel time.

Toggling it to debugfs will mean we can skip a modeset when changing our
feature set.

Changes since v1:
- Rebase with the previous patches dropped.
Changes since v2:
- Rebase on top of new api in i915_edp_psr_debug.
Changes since v3:
- Enable IRQ debugging for extra logging.
- Force PSR1 mode. (dhnkrn)
- Move PSR enable/disable functions to lib/igt_psr. (dhnkrn)
Changes since v4:
- Redisable irqs right away when debugfs api doesn't work. (dhnkrn)
- Use hex everywhere. (dhnkrn)

Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 lib/igt_psr.c                    | 86 +++++++++++++++++++++++++++++++++++++++-
 lib/igt_psr.h                    |  2 +
 tests/kms_frontbuffer_tracking.c |  6 +--
 3 files changed, 89 insertions(+), 5 deletions(-)

diff --git a/lib/igt_psr.c b/lib/igt_psr.c
index c979b0b5..614caa6f 100644
--- a/lib/igt_psr.c
+++ b/lib/igt_psr.c
@@ -21,7 +21,9 @@
  * IN THE SOFTWARE.
  */
 
-#include  "igt_psr.h"
+#include "igt_psr.h"
+#include "igt_sysfs.h"
+#include <errno.h>
 
 bool psr_active(int fd, bool check_active)
 {
@@ -38,3 +40,85 @@ bool psr_wait_entry(int fd)
 {
 	return igt_wait(psr_active(fd, true), 500, 1);
 }
+
+static ssize_t psr_write(int fd, const char *buf)
+{
+	return igt_sysfs_write(fd, "i915_edp_psr_debug", buf, strlen(buf));
+}
+
+static int has_psr_debugfs(int fd)
+{
+	int ret;
+
+	/*
+	 * Check if new PSR debugfs api is usable by writing an invalid value.
+	 * Legacy mode will return OK here, debugfs api will return -EINVAL.
+	 * -ENODEV is returned.
+	 */
+	ret = psr_write(fd, "0xf");
+	if (ret == -EINVAL)
+		return 0;
+	else if (ret < 0)
+		return ret;
+
+	/* legacy debugfs api, we enabled irqs by writing, disable them. */
+	psr_write(fd, "0");
+	return -EINVAL;
+}
+
+static bool psr_modparam_set(int val)
+{
+	static int oldval = -1;
+
+	igt_set_module_param_int("enable_psr", val);
+
+	if (val == oldval)
+		return false;
+
+	oldval = val;
+	return true;
+}
+
+static int psr_restore_debugfs_fd = -1;
+
+static void restore_psr_debugfs(int sig)
+{
+	psr_write(psr_restore_debugfs_fd, "0");
+}
+
+static bool psr_set(int fd, bool enable)
+{
+	int ret;
+
+	ret = has_psr_debugfs(fd);
+	if (ret == -ENODEV) {
+		igt_skip_on_f(enable, "PSR not available\n");
+		return false;
+	}
+
+	if (ret == -EINVAL) {
+		ret = psr_modparam_set(enable);
+	} else {
+		ret = psr_write(fd, enable ? "0x3" : "0x1");
+		igt_assert(ret > 0);
+	}
+
+	/* Restore original value on exit */
+	if (psr_restore_debugfs_fd == -1) {
+		psr_restore_debugfs_fd = dup(fd);
+		igt_assert(psr_restore_debugfs_fd >= 0);
+		igt_install_exit_handler(restore_psr_debugfs);
+	}
+
+	return ret;
+}
+
+bool psr_enable(int fd)
+{
+	return psr_set(fd, true);
+}
+
+bool psr_disable(int fd)
+{
+	return psr_set(fd, false);
+}
diff --git a/lib/igt_psr.h b/lib/igt_psr.h
index 980f85e0..0ef22c3d 100644
--- a/lib/igt_psr.h
+++ b/lib/igt_psr.h
@@ -30,5 +30,7 @@
 
 bool psr_wait_entry(int fd);
 bool psr_active(int fd, bool check_active);
+bool psr_enable(int fd);
+bool psr_disable(int fd);
 
 #endif
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 1dfd7c1c..7ea2f697 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -941,8 +941,6 @@ static bool drrs_wait_until_rr_switch_to_low(void)
 
 #define fbc_enable() igt_set_module_param_int("enable_fbc", 1)
 #define fbc_disable() igt_set_module_param_int("enable_fbc", 0)
-#define psr_enable() igt_set_module_param_int("enable_psr", 1)
-#define psr_disable() igt_set_module_param_int("enable_psr", 0)
 #define drrs_enable()	drrs_set(1)
 #define drrs_disable()	drrs_set(0)
 
@@ -1137,7 +1135,7 @@ static void disable_features(const struct test_mode *t)
 		return;
 
 	fbc_disable();
-	psr_disable();
+	psr_disable(drm.debugfs);
 	drrs_disable();
 }
 
@@ -1719,7 +1717,7 @@ static void enable_features_for_test(const struct test_mode *t)
 	if (t->feature & FEATURE_FBC)
 		fbc_enable();
 	if (t->feature & FEATURE_PSR)
-		psr_enable();
+		psr_enable(drm.debugfs);
 	if (t->feature & FEATURE_DRRS)
 		drrs_enable();
 }
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
@ 2018-08-29 21:57 ` Dhinakaran Pandiyan
  2018-09-04 21:58   ` Souza, Jose
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir Dhinakaran Pandiyan
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-08-29 21:57 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

tests/kms_frontbuffer_tracking and tests/kms_psr read debugfs nodes
several times after opening the directory once. There is already an
implementation of this in the kms_frontbuffer_tracking, moving that
functionality to the library will allow us to share the code with kms_psr
and kms_fbcon_fbt

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 lib/igt_debugfs.c                | 39 ++++++++++++++++++++++++++++++---------
 lib/igt_debugfs.h                |  3 ++-
 tests/kms_frontbuffer_tracking.c |  7 ++-----
 3 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index 14753a9e..baedc225 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -262,26 +262,47 @@ int igt_debugfs_open(int device, const char *filename, int mode)
 	return ret;
 }
 
+/**
+ * igt_debugfs_simple_read:
+ * @filename: file name
+ * @buf: buffer where the contents will be stored, allocated by the caller
+ * @size: size of the buffer
+ *
+ * This function is similar to __igt_debugfs_read, the difference is that it
+ * expects the debugfs directory to be open and it's descriptor passed as the
+ * first argument.
+ *
+ * Returns:
+ * -errorno on failure or bytes read on success
+ */
+int igt_debugfs_simple_read(int dir, const char *filename, char *buf, int size)
+{
+	int len;
+
+	len = igt_sysfs_read(dir, filename, buf, size - 1);
+	if (len < 0)
+		buf[0] = '\0';
+	else
+		buf[len] = '\0';
+
+	return len;
+}
+
 /**
  * __igt_debugfs_read:
  * @filename: file name
  * @buf: buffer where the contents will be stored, allocated by the caller
- * @buf_size: size of the buffer
+ * @size: size of the buffer
  *
  * This function opens the debugfs file, reads it, stores the content in the
  * provided buffer, then closes the file. Users should make sure that the buffer
  * provided is big enough to fit the whole file, plus one byte.
  */
-void __igt_debugfs_read(int fd, const char *filename, char *buf, int buf_size)
+void __igt_debugfs_read(int fd, const char *filename, char *buf, int size)
 {
-	int dir;
-	int len;
+	int dir = igt_debugfs_dir(fd);
 
-	dir = igt_debugfs_dir(fd);
-	len = igt_sysfs_read(dir, filename, buf, buf_size - 1);
-	if (len < 0)
-		len = 0;
-	buf[len] = '\0';
+	igt_debugfs_simple_read(dir, filename, buf, size);
 	close(dir);
 }
 
diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h
index db634a82..ff8612dc 100644
--- a/lib/igt_debugfs.h
+++ b/lib/igt_debugfs.h
@@ -37,7 +37,8 @@ char *igt_debugfs_path(int device, char *path, int pathlen);
 int igt_debugfs_dir(int device);
 
 int igt_debugfs_open(int fd, const char *filename, int mode);
-void __igt_debugfs_read(int fd, const char *filename, char *buf, int buf_size);
+void __igt_debugfs_read(int fd, const char *filename, char *buf, int size);
+int igt_debugfs_simple_read(int dir, const char *filename, char *buf, int size);
 bool igt_debugfs_search(int fd, const char *filename, const char *substring);
 
 /**
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 7ea2f697..822f3e74 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -720,12 +720,9 @@ static void set_mode_for_params(struct modeset_params *params)
 
 static void __debugfs_read(const char *param, char *buf, int len)
 {
-	len = igt_sysfs_read(drm.debugfs, param, buf, len - 1);
-	if (len < 0) {
+	len = igt_debugfs_simple_read(drm.debugfs, param, buf, len);
+	if (len < 0)
 		igt_assert_eq(len, -ENODEV);
-		len = 0;
-	}
-	buf[len] = '\0';
 }
 
 static int __debugfs_write(const char *param, char *buf, int len)
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open Dhinakaran Pandiyan
@ 2018-08-29 21:57 ` Dhinakaran Pandiyan
  2018-09-04 22:07   ` Souza, Jose
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 4/6] tests/fbcon_fbt: Avoid opening debugfs dir repeatedly Dhinakaran Pandiyan
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-08-29 21:57 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

The tests calls igt_debugfs_dir() to open the debugfs dir and further
along calls igt_debugfs_read() each i915_edp_psr_status needs to be
read. The igt_debugfs_read() calls open the directory again, fix this by
making use of the newly added __igt_debugfs_read()

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 lib/igt_psr.c                    |  2 +-
 tests/kms_frontbuffer_tracking.c |  3 ++-
 tests/kms_psr.c                  | 10 ++++++----
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/lib/igt_psr.c b/lib/igt_psr.c
index 614caa6f..b9bfd607 100644
--- a/lib/igt_psr.c
+++ b/lib/igt_psr.c
@@ -30,7 +30,7 @@ bool psr_active(int fd, bool check_active)
 	bool active;
 	char buf[512];
 
-	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
+	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf, sizeof(buf));
 	active = strstr(buf, "HW Enabled & Active bit: yes\n") &&
 		(strstr(buf, "SRDENT") || strstr(buf, "SLEEP"));
 	return check_active ? active : !active;
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 822f3e74..1ffe7467 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -1632,7 +1632,8 @@ static void do_status_assertions(int flags)
 	if (flags & ASSERT_PSR_ENABLED)
 		igt_assert_f(psr_wait_entry(drm.fd), "PSR still disabled\n");
 	else if (flags & ASSERT_PSR_DISABLED)
-		igt_assert_f(psr_active(drm.fd, false), "PSR still enabled\n");
+		igt_assert_f(psr_active(drm.debugfs, false),
+			     "PSR still enabled\n");
 }
 
 static void __do_assertions(const struct test_mode *t, int flags,
diff --git a/tests/kms_psr.c b/tests/kms_psr.c
index 218b3960..3e64cf04 100644
--- a/tests/kms_psr.c
+++ b/tests/kms_psr.c
@@ -192,7 +192,8 @@ static bool sink_support(data_t *data)
 {
 	char buf[512];
 
-	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
+	igt_debugfs_simple_read(data->debugfs_fd, "i915_edp_psr_status",
+			 buf, sizeof(buf));
 
 	return data->with_psr_disabled ||
 		strstr(buf, "Sink_Support: yes\n");
@@ -203,7 +204,7 @@ static bool psr_wait_entry_if_enabled(data_t *data)
 	if (data->with_psr_disabled)
 		return true;
 
-	return psr_wait_entry(data->drm_fd);
+	return psr_wait_entry(data->debugfs_fd);
 }
 
 static inline void manual(const char *expected)
@@ -215,7 +216,8 @@ static bool drrs_disabled(data_t *data)
 {
 	char buf[512];
 
-	igt_debugfs_read(data->drm_fd, "i915_drrs_status", buf);
+	igt_debugfs_simple_read(data->debugfs_fd, "i915_drrs_status",
+			 buf, sizeof(buf));
 
 	return !strstr(buf, "DRRS Supported: Yes\n");
 }
@@ -292,7 +294,7 @@ static void run_test(data_t *data)
 		expected = "screen GREEN";
 		break;
 	}
-	igt_assert(psr_active(data->drm_fd, false));
+	igt_assert(psr_active(data->debugfs_fd, false));
 	manual(expected);
 }
 
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 4/6] tests/fbcon_fbt: Avoid opening debugfs dir repeatedly
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open Dhinakaran Pandiyan
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir Dhinakaran Pandiyan
@ 2018-08-29 21:57 ` Dhinakaran Pandiyan
  2018-09-04 22:12   ` Souza, Jose
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr Dhinakaran Pandiyan
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-08-29 21:57 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

Make use of igt_debugfs_simple_read() to open debugfs dir just once.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_fbcon_fbt.c | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index 280ddbd7..e9376cde 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -39,6 +39,7 @@ static bool do_wait_user = false;
 
 struct drm_info {
 	int fd;
+	int debugfs_fd;
 	drmModeResPtr res;
 	drmModeConnectorPtr connectors[MAX_CONNECTORS];
 };
@@ -58,6 +59,7 @@ static void setup_drm(struct drm_info *drm)
 	int i;
 
 	drm->fd = drm_open_driver_master(DRIVER_INTEL);
+	drm->debugfs_fd = igt_debugfs_dir(drm->fd);
 
 	drm->res = drmModeGetResources(drm->fd);
 	igt_assert(drm->res->count_connectors <= MAX_CONNECTORS);
@@ -85,9 +87,11 @@ static void teardown_drm(struct drm_info *drm)
 static bool fbc_supported_on_chipset(int fd)
 {
 	char buf[128];
+	int ret;
 
-	igt_debugfs_read(fd, "i915_fbc_status", buf);
-	if (*buf == '\0') /* !HAS_FBC -> -ENODEV*/
+	ret = igt_debugfs_simple_read(fd, "i915_fbc_status",
+				      buf, sizeof(buf));
+	if (ret < 0)
 		return false;
 
 	return !strstr(buf, "FBC unsupported on this chipset\n");
@@ -102,7 +106,7 @@ static void fbc_print_status(int fd)
 {
 	static char buf[128];
 
-	igt_debugfs_read(fd, "i915_fbc_status", buf);
+	igt_debugfs_simple_read(fd, "i915_fbc_status", buf, sizeof(buf));
 	igt_debug("FBC status: %s\n", buf);
 }
 
@@ -110,7 +114,7 @@ static bool fbc_is_enabled(int fd)
 {
 	char buf[128];
 
-	igt_debugfs_read(fd, "i915_fbc_status", buf);
+	igt_debugfs_simple_read(fd, "i915_fbc_status", buf, sizeof(buf));
 	return strstr(buf, "FBC enabled\n");
 }
 
@@ -163,9 +167,11 @@ static void set_mode_for_one_screen(struct drm_info *drm, struct igt_fb *fb,
 static bool psr_supported_on_chipset(int fd)
 {
 	char buf[256];
+	int ret;
 
-	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
-	if (*buf == '\0') /* !HAS_PSR -> -ENODEV*/
+	ret = igt_debugfs_simple_read(fd, "i915_edp_psr_status",
+				      buf, sizeof(buf));
+	if (ret < 0)
 		return false;
 
 	return strstr(buf, "Sink_Support: yes\n");
@@ -180,7 +186,7 @@ static void psr_print_status(int fd)
 {
 	static char buf[256];
 
-	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
+	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf, sizeof(buf));
 	igt_debug("PSR status: %s\n", buf);
 }
 
@@ -188,7 +194,7 @@ static bool psr_is_enabled(int fd)
 {
 	char buf[256];
 
-	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
+	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf, sizeof(buf));
 	return strstr(buf, "\nHW Enabled & Active bit: yes\n");
 }
 
@@ -229,24 +235,24 @@ static void subtest(struct feature *feature, bool suspend)
 
 	setup_drm(&drm);
 
-	igt_require(feature->supported_on_chipset(drm.fd));
+	igt_require(feature->supported_on_chipset(drm.debugfs_fd));
 
 	disable_features();
 	igt_set_module_param_int(feature->param_name, 1);
 
 	kmstest_unset_all_crtcs(drm.fd, drm.res);
 	wait_user("Modes unset.");
-	igt_assert(!feature->wait_until_enabled(drm.fd));
+	igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
 
 	set_mode_for_one_screen(&drm, &fb, feature->connector_possible_fn);
 	wait_user("Screen set.");
-	igt_assert(feature->wait_until_enabled(drm.fd));
+	igt_assert(feature->wait_until_enabled(drm.debugfs_fd));
 
 	if (suspend) {
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
 		sleep(5);
-		igt_assert(feature->wait_until_enabled(drm.fd));
+		igt_assert(feature->wait_until_enabled(drm.debugfs_fd));
 	}
 
 	igt_remove_fb(drm.fd, &fb);
@@ -256,13 +262,13 @@ static void subtest(struct feature *feature, bool suspend)
 	sleep(3);
 
 	wait_user("Back to fbcon.");
-	igt_assert(!feature->wait_until_enabled(drm.fd));
+	igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
 
 	if (suspend) {
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
 		sleep(5);
-		igt_assert(!feature->wait_until_enabled(drm.fd));
+		igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
 	}
 }
 
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (2 preceding siblings ...)
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 4/6] tests/fbcon_fbt: Avoid opening debugfs dir repeatedly Dhinakaran Pandiyan
@ 2018-08-29 21:57 ` Dhinakaran Pandiyan
  2018-09-04 22:18   ` Souza, Jose
  2018-09-04 22:20   ` Souza, Jose
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs Dhinakaran Pandiyan
                   ` (7 subsequent siblings)
  11 siblings, 2 replies; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-08-29 21:57 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

The tests we have work only with PSR1, but setting the module parameter
enable_psr enables PSR2 if the panel supports it. Make use of the newly
added debugfs toggle to enable only PSR1 when testing.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_psr.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tests/kms_psr.c b/tests/kms_psr.c
index 3e64cf04..fcc04770 100644
--- a/tests/kms_psr.c
+++ b/tests/kms_psr.c
@@ -414,8 +414,9 @@ int main(int argc, char *argv[])
 		kmstest_set_vt_graphics_mode();
 		data.devid = intel_get_drm_devid(data.drm_fd);
 
-		igt_set_module_param_int("enable_psr", data.with_psr_disabled ?
-					 0 : 1);
+		if (!data.with_psr_disabled)
+			psr_enable(data.debugfs_fd);
+
 		igt_require_f(sink_support(&data),
 			      "Sink does not support PSR\n");
 
@@ -490,6 +491,9 @@ int main(int argc, char *argv[])
 	}
 
 	igt_fixture {
+		if (!data.with_psr_disabled)
+			psr_disable(data.debugfs_fd);
+
 		close(data.debugfs_fd);
 		drm_intel_bufmgr_destroy(data.bufmgr);
 		display_fini(&data);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (3 preceding siblings ...)
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr Dhinakaran Pandiyan
@ 2018-08-29 21:57 ` Dhinakaran Pandiyan
  2018-09-05 21:10   ` Souza, Jose
  2018-08-30  8:10 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Patchwork
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-08-29 21:57 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

Test only PSR1 on PSR2 panels by making use of the debugfs toggle.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_fbcon_fbt.c | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index e9376cde..e28bd770 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -25,6 +25,7 @@
  */
 
 #include "igt.h"
+#include "igt_psr.h"
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -205,29 +206,39 @@ static bool psr_wait_until_enabled(int fd)
 	return r;
 }
 
+static void disable_features(int fd)
+{
+	igt_set_module_param_int("enable_fbc", 0);
+	psr_disable(fd);
+}
+
+static inline void fbc_modparam_enable(int fd)
+{
+	igt_set_module_param_int("enable_fbc", 1);
+}
+
+static inline void psr_debugfs_enable(int fd)
+{
+	psr_enable(fd);
+}
+
 struct feature {
 	bool (*supported_on_chipset)(int fd);
 	bool (*wait_until_enabled)(int fd);
 	bool (*connector_possible_fn)(drmModeConnectorPtr connector);
-	const char *param_name;
+	void (*enable)(int fd);
 } fbc = {
 	.supported_on_chipset = fbc_supported_on_chipset,
 	.wait_until_enabled = fbc_wait_until_enabled,
 	.connector_possible_fn = connector_can_fbc,
-	.param_name = "enable_fbc",
+	.enable = fbc_modparam_enable,
 }, psr = {
 	.supported_on_chipset = psr_supported_on_chipset,
 	.wait_until_enabled = psr_wait_until_enabled,
 	.connector_possible_fn = connector_can_psr,
-	.param_name = "enable_psr",
+	.enable = psr_debugfs_enable,
 };
 
-static void disable_features(void)
-{
-	igt_set_module_param_int(fbc.param_name, 0);
-	igt_set_module_param_int(psr.param_name, 0);
-}
-
 static void subtest(struct feature *feature, bool suspend)
 {
 	struct drm_info drm;
@@ -237,8 +248,8 @@ static void subtest(struct feature *feature, bool suspend)
 
 	igt_require(feature->supported_on_chipset(drm.debugfs_fd));
 
-	disable_features();
-	igt_set_module_param_int(feature->param_name, 1);
+	disable_features(drm.debugfs_fd);
+	feature->enable(drm.debugfs_fd);
 
 	kmstest_unset_all_crtcs(drm.fd, drm.res);
 	wait_user("Modes unset.");
-- 
2.14.1

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (4 preceding siblings ...)
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs Dhinakaran Pandiyan
@ 2018-08-30  8:10 ` Patchwork
  2018-08-30  8:12 ` Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2018-08-30  8:10 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
URL   : https://patchwork.freedesktop.org/series/48904/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4610_full -> IGTPW_1755_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1755_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1755_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/48904/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

    igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
      shard-snb:          SKIP -> PASS

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_eio@in-flight-internal-immediate:
      shard-snb:          PASS -> INCOMPLETE (fdo#105411)

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

    igt@kms_plane@pixel-format-pipe-a-planes:
      shard-snb:          PASS -> FAIL (fdo#107161)

    igt@kms_rotation_crc@sprite-rotation-180:
      shard-snb:          PASS -> FAIL (fdo#103925)

    igt@kms_setmode@basic:
      shard-glk:          NOTRUN -> FAIL (fdo#99912)
      shard-kbl:          PASS -> FAIL (fdo#99912)

    igt@perf_pmu@rc6-runtime-pm-long:
      shard-kbl:          PASS -> FAIL (fdo#105010)

    
    ==== Possible fixes ====

    igt@gem_ctx_isolation@vcs0-s3:
      shard-kbl:          INCOMPLETE (fdo#103665, fdo#107556) -> PASS

    igt@gem_ctx_isolation@vcs1-none:
      shard-snb:          INCOMPLETE (fdo#105411) -> SKIP

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          INCOMPLETE (fdo#103665, fdo#106023) -> PASS

    
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
  fdo#105010 https://bugs.freedesktop.org/show_bug.cgi?id=105010
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#107161 https://bugs.freedesktop.org/show_bug.cgi?id=107161
  fdo#107556 https://bugs.freedesktop.org/show_bug.cgi?id=107556
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * IGT: IGT_4610 -> IGTPW_1755
    * Linux: CI_DRM_4706 -> CI_DRM_4715

  CI_DRM_4706: 6d5687919f3a3426243041b99111b576dd0576d0 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4715: 1b73a69651beab39192502181c83e77a1022014a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1755: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1755/
  IGT_4610: c40743d3fce5055682d31610519758dd7379c0f8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (5 preceding siblings ...)
  2018-08-30  8:10 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Patchwork
@ 2018-08-30  8:12 ` Patchwork
  2018-08-30  8:15 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2018-08-30  8:12 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
URL   : https://patchwork.freedesktop.org/series/48904/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4610_full -> IGTPW_1756_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1756_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1756_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/48904/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

    igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
      shard-snb:          SKIP -> PASS

    igt@perf@disabled-read-error:
      shard-hsw:          PASS -> SKIP

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_suspend@shrink:
      shard-snb:          PASS -> FAIL (fdo#106886)

    igt@gem_ctx_isolation@bcs0-s3:
      shard-glk:          PASS -> INCOMPLETE (k.org#198133, fdo#103359)

    igt@gem_exec_await@wide-contexts:
      shard-glk:          PASS -> FAIL (fdo#105900)

    igt@gem_pwrite_pread@display-pwrite-blt-gtt_mmap-correctness:
      shard-snb:          PASS -> INCOMPLETE (fdo#105411)

    
    ==== Possible fixes ====

    igt@gem_ctx_isolation@vcs0-s3:
      shard-kbl:          INCOMPLETE (fdo#107556, fdo#103665) -> PASS

    igt@gem_ctx_isolation@vcs1-none:
      shard-snb:          INCOMPLETE (fdo#105411) -> SKIP

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          INCOMPLETE (fdo#103665, fdo#106023) -> PASS

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-snb:          FAIL (fdo#103166) -> PASS

    igt@kms_setmode@basic:
      shard-apl:          FAIL (fdo#99912) -> PASS

    
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105900 https://bugs.freedesktop.org/show_bug.cgi?id=105900
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107556 https://bugs.freedesktop.org/show_bug.cgi?id=107556
  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 (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * IGT: IGT_4610 -> IGTPW_1756
    * Linux: CI_DRM_4706 -> CI_DRM_4715

  CI_DRM_4706: 6d5687919f3a3426243041b99111b576dd0576d0 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4715: 1b73a69651beab39192502181c83e77a1022014a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1756: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1756/
  IGT_4610: c40743d3fce5055682d31610519758dd7379c0f8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (6 preceding siblings ...)
  2018-08-30  8:12 ` Patchwork
@ 2018-08-30  8:15 ` Patchwork
  2018-08-30  8:27 ` Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2018-08-30  8:15 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
URL   : https://patchwork.freedesktop.org/series/48904/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4715 -> IGTPW_1756 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48904/revisions/1/mbox/

== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_hangcheck:
      fi-skl-guc:         PASS -> DMESG-FAIL (fdo#107174, fdo#107710)
      {fi-cfl-8109u}:     PASS -> DMESG-FAIL (fdo#106560)

    igt@gem_basic@bad-close:
      fi-skl-6770hq:      PASS -> DMESG-WARN (fdo#105541)

    igt@prime_vgem@basic-fence-flip:
      fi-ilk-650:         PASS -> FAIL (fdo#104008)

    
    ==== Possible fixes ====

    {igt@kms_psr@cursor_plane_move}:
      fi-cnl-psr:         FAIL (fdo#107717) -> PASS

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

  fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
  fdo#105541 https://bugs.freedesktop.org/show_bug.cgi?id=105541
  fdo#106560 https://bugs.freedesktop.org/show_bug.cgi?id=106560
  fdo#107174 https://bugs.freedesktop.org/show_bug.cgi?id=107174
  fdo#107710 https://bugs.freedesktop.org/show_bug.cgi?id=107710
  fdo#107717 https://bugs.freedesktop.org/show_bug.cgi?id=107717


== Participating hosts (53 -> 49) ==

  Additional (1): fi-bxt-dsi 
  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * IGT: IGT_4610 -> IGTPW_1756

  CI_DRM_4715: 1b73a69651beab39192502181c83e77a1022014a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1756: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1756/
  IGT_4610: c40743d3fce5055682d31610519758dd7379c0f8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (7 preceding siblings ...)
  2018-08-30  8:15 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork
@ 2018-08-30  8:27 ` Patchwork
  2018-08-30  9:04 ` Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2018-08-30  8:27 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
URL   : https://patchwork.freedesktop.org/series/48904/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4715 -> IGTPW_1755 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48904/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Possible regressions ====

    {igt@kms_psr@primary_page_flip}:
      fi-kbl-r:           PASS -> FAIL

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_hangcheck:
      fi-kbl-7500u:       PASS -> DMESG-FAIL (fdo#106947, fdo#106560)

    igt@gem_exec_suspend@basic-s3:
      {fi-cfl-8109u}:     PASS -> INCOMPLETE (fdo#107187)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-bxt-dsi:         NOTRUN -> INCOMPLETE (fdo#103927)

    
    ==== Possible fixes ====

    igt@debugfs_test@read_all_entries:
      fi-snb-2520m:       INCOMPLETE (fdo#103713) -> PASS

    {igt@kms_psr@cursor_plane_move}:
      fi-cnl-psr:         FAIL (fdo#107717) -> PASS

    {igt@kms_psr@primary_page_flip}:
      fi-cnl-psr:         FAIL (fdo#107336) -> PASS

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

  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#106560 https://bugs.freedesktop.org/show_bug.cgi?id=106560
  fdo#106947 https://bugs.freedesktop.org/show_bug.cgi?id=106947
  fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
  fdo#107336 https://bugs.freedesktop.org/show_bug.cgi?id=107336
  fdo#107717 https://bugs.freedesktop.org/show_bug.cgi?id=107717


== Participating hosts (53 -> 49) ==

  Additional (1): fi-bxt-dsi 
  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * IGT: IGT_4610 -> IGTPW_1755

  CI_DRM_4715: 1b73a69651beab39192502181c83e77a1022014a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1755: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1755/
  IGT_4610: c40743d3fce5055682d31610519758dd7379c0f8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (8 preceding siblings ...)
  2018-08-30  8:27 ` Patchwork
@ 2018-08-30  9:04 ` Patchwork
  2018-08-30  9:08 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2018-09-04 21:59 ` [igt-dev] [PATCH i-g-t 1/6] " Souza, Jose
  11 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2018-08-30  9:04 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
URL   : https://patchwork.freedesktop.org/series/48904/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4715 -> IGTPW_1756 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48904/revisions/1/mbox/

== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_hangcheck:
      fi-skl-guc:         PASS -> DMESG-FAIL (fdo#107710, fdo#107174)
      {fi-cfl-8109u}:     PASS -> DMESG-FAIL (fdo#106560)

    igt@gem_basic@bad-close:
      fi-skl-6770hq:      PASS -> DMESG-WARN (fdo#105541)

    igt@prime_vgem@basic-fence-flip:
      fi-ilk-650:         PASS -> FAIL (fdo#104008)

    
    ==== Possible fixes ====

    {igt@kms_psr@cursor_plane_move}:
      fi-cnl-psr:         FAIL (fdo#107717) -> PASS

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

  fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
  fdo#105541 https://bugs.freedesktop.org/show_bug.cgi?id=105541
  fdo#106560 https://bugs.freedesktop.org/show_bug.cgi?id=106560
  fdo#107174 https://bugs.freedesktop.org/show_bug.cgi?id=107174
  fdo#107710 https://bugs.freedesktop.org/show_bug.cgi?id=107710
  fdo#107717 https://bugs.freedesktop.org/show_bug.cgi?id=107717


== Participating hosts (53 -> 49) ==

  Additional (1): fi-bxt-dsi 
  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * IGT: IGT_4610 -> IGTPW_1756

  CI_DRM_4715: 1b73a69651beab39192502181c83e77a1022014a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1756: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1756/
  IGT_4610: c40743d3fce5055682d31610519758dd7379c0f8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (9 preceding siblings ...)
  2018-08-30  9:04 ` Patchwork
@ 2018-08-30  9:08 ` Patchwork
  2018-09-04 21:59 ` [igt-dev] [PATCH i-g-t 1/6] " Souza, Jose
  11 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2018-08-30  9:08 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
URL   : https://patchwork.freedesktop.org/series/48904/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4610_full -> IGTPW_1756_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1756_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1756_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/48904/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

    igt@drv_selftest@mock_timelines:
      shard-glk:          PASS -> ( 2 PASS ) +1492

    igt@gem_busy@extended-parallel-bsd1:
      shard-hsw:          SKIP -> ( 2 SKIP ) +807

    igt@gem_ctx_param@root-set-no-zeromap-disabled:
      shard-kbl:          PASS -> ( 2 PASS ) +1602

    igt@gem_exec_schedule@preempt-other-chain-blt:
      shard-snb:          SKIP -> ( 2 SKIP ) +1286

    igt@gem_pread@stolen-uncached:
      shard-kbl:          SKIP -> ( 2 SKIP ) +577

    igt@gem_pwrite@display:
      shard-snb:          PASS -> ( 2 PASS ) +1313

    igt@kms_chv_cursor_fail@pipe-b-256x256-top-edge:
      shard-hsw:          PASS -> ( 2 PASS ) +1498

    igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
      shard-snb:          SKIP -> ( 2 PASS )

    igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt:
      shard-glk:          SKIP -> ( 2 SKIP ) +560

    igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
      shard-apl:          PASS -> ( 2 PASS ) +1781

    igt@perf@disabled-read-error:
      shard-hsw:          PASS -> ( 1 PASS, 1 SKIP )

    igt@prime_vgem@sync-bsd1:
      shard-apl:          SKIP -> ( 2 SKIP ) +818

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_suspend@shrink:
      shard-snb:          PASS -> ( 1 FAIL, 1 PASS ) (fdo#106886)

    igt@gem_ctx_isolation@bcs0-s3:
      shard-glk:          PASS -> ( 1 INCOMPLETE, 1 PASS ) (fdo#103359, k.org#198133)

    igt@gem_exec_await@wide-contexts:
      shard-glk:          PASS -> ( 1 FAIL, 1 PASS ) (fdo#105900)

    igt@gem_pwrite_pread@display-pwrite-blt-gtt_mmap-correctness:
      shard-snb:          PASS -> ( 2 INCOMPLETE ) (fdo#105411)

    igt@kms_flip@2x-flip-vs-expired-vblank:
      shard-glk:          PASS -> ( 1 FAIL, 1 PASS ) (fdo#105363)

    igt@kms_setmode@basic:
      shard-kbl:          PASS -> ( 1 FAIL, 1 PASS ) (fdo#99912)

    igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
      shard-apl:          PASS -> ( 1 INCOMPLETE, 1 PASS ) (fdo#103927)

    
    ==== Possible fixes ====

    igt@gem_ctx_isolation@vcs0-s3:
      shard-kbl:          INCOMPLETE (fdo#107556, fdo#103665) -> ( 2 PASS )

    igt@gem_ctx_isolation@vcs1-none:
      shard-snb:          INCOMPLETE (fdo#105411) -> ( 2 SKIP )

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          INCOMPLETE (fdo#103665, fdo#106023) -> ( 2 PASS )

    igt@kms_setmode@basic:
      shard-apl:          FAIL (fdo#99912) -> ( 2 PASS )

    
    ==== Warnings ====

    igt@gem_exec_schedule@pi-ringfull-blt:
      shard-apl:          FAIL (fdo#103158) -> ( 2 FAIL ) (fdo#103158) +2

    igt@gem_exec_schedule@pi-ringfull-bsd:
      shard-glk:          FAIL (fdo#103158) -> ( 2 FAIL ) (fdo#103158) +3

    igt@gem_exec_schedule@pi-ringfull-bsd1:
      shard-kbl:          FAIL (fdo#103158) -> ( 2 FAIL ) (fdo#103158) +3

    igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
      shard-glk:          INCOMPLETE (fdo#103359, k.org#198133) -> ( 2 INCOMPLETE ) (fdo#103359, k.org#198133) +1

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-glk:          FAIL (fdo#106641) -> ( 2 FAIL ) (fdo#106641)
      shard-hsw:          FAIL (fdo#106641) -> ( 2 FAIL ) (fdo#106641)

    igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
      shard-apl:          FAIL (fdo#105458, fdo#106510) -> ( 2 FAIL ) (fdo#105458, fdo#106510) +1

    igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
      shard-glk:          FAIL (fdo#105454) -> ( 2 FAIL ) (fdo#105454, fdo#106509)

    igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
      shard-glk:          FAIL (fdo#105454, fdo#106509) -> ( 2 FAIL ) (fdo#105454, fdo#106509)

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-snb:          FAIL (fdo#103166) -> ( 1 FAIL, 1 PASS ) (fdo#103166)

    igt@kms_setmode@basic:
      shard-hsw:          FAIL (fdo#99912) -> ( 2 FAIL ) (fdo#99912)
      shard-snb:          FAIL (fdo#99912) -> ( 2 FAIL ) (fdo#99912)

    igt@kms_sysfs_edid_timing:
      shard-hsw:          WARN (fdo#100047) -> ( 2 WARN ) (fdo#100047)
      shard-glk:          WARN (fdo#100047) -> ( 2 WARN ) (fdo#100047)
      shard-apl:          FAIL (fdo#100047) -> ( 2 FAIL ) (fdo#100047)
      shard-kbl:          FAIL (fdo#100047) -> ( 2 FAIL ) (fdo#100047)

    igt@testdisplay:
      shard-glk:          INCOMPLETE (fdo#103359, k.org#198133, fdo#107093) -> ( 2 INCOMPLETE ) (fdo#103359, k.org#198133, fdo#107093)

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

  fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
  fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105454 https://bugs.freedesktop.org/show_bug.cgi?id=105454
  fdo#105458 https://bugs.freedesktop.org/show_bug.cgi?id=105458
  fdo#105900 https://bugs.freedesktop.org/show_bug.cgi?id=105900
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106509 https://bugs.freedesktop.org/show_bug.cgi?id=106509
  fdo#106510 https://bugs.freedesktop.org/show_bug.cgi?id=106510
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107093 https://bugs.freedesktop.org/show_bug.cgi?id=107093
  fdo#107556 https://bugs.freedesktop.org/show_bug.cgi?id=107556
  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 (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * IGT: IGT_4610 -> IGTPW_1756
    * Linux: CI_DRM_4706 -> CI_DRM_4715

  CI_DRM_4706: 6d5687919f3a3426243041b99111b576dd0576d0 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4715: 1b73a69651beab39192502181c83e77a1022014a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1756: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1756/
  IGT_4610: c40743d3fce5055682d31610519758dd7379c0f8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open Dhinakaran Pandiyan
@ 2018-09-04 21:58   ` Souza, Jose
  0 siblings, 0 replies; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 21:58 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> tests/kms_frontbuffer_tracking and tests/kms_psr read debugfs nodes
> several times after opening the directory once. There is already an
> implementation of this in the kms_frontbuffer_tracking, moving that
> functionality to the library will allow us to share the code with
> kms_psr
> and kms_fbcon_fbt
> 

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  lib/igt_debugfs.c                | 39
> ++++++++++++++++++++++++++++++---------
>  lib/igt_debugfs.h                |  3 ++-
>  tests/kms_frontbuffer_tracking.c |  7 ++-----
>  3 files changed, 34 insertions(+), 15 deletions(-)
> 
> diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
> index 14753a9e..baedc225 100644
> --- a/lib/igt_debugfs.c
> +++ b/lib/igt_debugfs.c
> @@ -262,26 +262,47 @@ int igt_debugfs_open(int device, const char
> *filename, int mode)
>  	return ret;
>  }
>  
> +/**
> + * igt_debugfs_simple_read:
> + * @filename: file name
> + * @buf: buffer where the contents will be stored, allocated by the
> caller
> + * @size: size of the buffer
> + *
> + * This function is similar to __igt_debugfs_read, the difference is
> that it
> + * expects the debugfs directory to be open and it's descriptor
> passed as the
> + * first argument.
> + *
> + * Returns:
> + * -errorno on failure or bytes read on success
> + */
> +int igt_debugfs_simple_read(int dir, const char *filename, char
> *buf, int size)
> +{
> +	int len;
> +
> +	len = igt_sysfs_read(dir, filename, buf, size - 1);
> +	if (len < 0)
> +		buf[0] = '\0';
> +	else
> +		buf[len] = '\0';
> +
> +	return len;
> +}
> +
>  /**
>   * __igt_debugfs_read:
>   * @filename: file name
>   * @buf: buffer where the contents will be stored, allocated by the
> caller
> - * @buf_size: size of the buffer
> + * @size: size of the buffer
>   *
>   * This function opens the debugfs file, reads it, stores the
> content in the
>   * provided buffer, then closes the file. Users should make sure
> that the buffer
>   * provided is big enough to fit the whole file, plus one byte.
>   */
> -void __igt_debugfs_read(int fd, const char *filename, char *buf, int
> buf_size)
> +void __igt_debugfs_read(int fd, const char *filename, char *buf, int
> size)
>  {
> -	int dir;
> -	int len;
> +	int dir = igt_debugfs_dir(fd);
>  
> -	dir = igt_debugfs_dir(fd);
> -	len = igt_sysfs_read(dir, filename, buf, buf_size - 1);
> -	if (len < 0)
> -		len = 0;
> -	buf[len] = '\0';
> +	igt_debugfs_simple_read(dir, filename, buf, size);
>  	close(dir);
>  }
>  
> diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h
> index db634a82..ff8612dc 100644
> --- a/lib/igt_debugfs.h
> +++ b/lib/igt_debugfs.h
> @@ -37,7 +37,8 @@ char *igt_debugfs_path(int device, char *path, int
> pathlen);
>  int igt_debugfs_dir(int device);
>  
>  int igt_debugfs_open(int fd, const char *filename, int mode);
> -void __igt_debugfs_read(int fd, const char *filename, char *buf, int
> buf_size);
> +void __igt_debugfs_read(int fd, const char *filename, char *buf, int
> size);
> +int igt_debugfs_simple_read(int dir, const char *filename, char
> *buf, int size);
>  bool igt_debugfs_search(int fd, const char *filename, const char
> *substring);
>  
>  /**
> diff --git a/tests/kms_frontbuffer_tracking.c
> b/tests/kms_frontbuffer_tracking.c
> index 7ea2f697..822f3e74 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -720,12 +720,9 @@ static void set_mode_for_params(struct
> modeset_params *params)
>  
>  static void __debugfs_read(const char *param, char *buf, int len)
>  {
> -	len = igt_sysfs_read(drm.debugfs, param, buf, len - 1);
> -	if (len < 0) {
> +	len = igt_debugfs_simple_read(drm.debugfs, param, buf, len);
> +	if (len < 0)
>  		igt_assert_eq(len, -ENODEV);
> -		len = 0;
> -	}
> -	buf[len] = '\0';
>  }
>  
>  static int __debugfs_write(const char *param, char *buf, int len)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
                   ` (10 preceding siblings ...)
  2018-08-30  9:08 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2018-09-04 21:59 ` Souza, Jose
  2018-09-05 17:09   ` Pandiyan, Dhinakaran
  11 siblings, 1 reply; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 21:59 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> 
> It's harmful to write to enable_psr at runtime, and the patch that
> allows
> us to change i915_edp_psr_debug with the panel running will require
> us
> to abandon the module parameter. Hence the userspace change needs to
> be
> put in IGT first before we can change it at kernel time.
> 
> Toggling it to debugfs will mean we can skip a modeset when changing
> our
> feature set.
> 
> Changes since v1:
> - Rebase with the previous patches dropped.
> Changes since v2:
> - Rebase on top of new api in i915_edp_psr_debug.
> Changes since v3:
> - Enable IRQ debugging for extra logging.
> - Force PSR1 mode. (dhnkrn)
> - Move PSR enable/disable functions to lib/igt_psr. (dhnkrn)
> Changes since v4:
> - Redisable irqs right away when debugfs api doesn't work. (dhnkrn)
> - Use hex everywhere. (dhnkrn)
> 
> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  lib/igt_psr.c                    | 86
> +++++++++++++++++++++++++++++++++++++++-
>  lib/igt_psr.h                    |  2 +
>  tests/kms_frontbuffer_tracking.c |  6 +--
>  3 files changed, 89 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> index c979b0b5..614caa6f 100644
> --- a/lib/igt_psr.c
> +++ b/lib/igt_psr.c
> @@ -21,7 +21,9 @@
>   * IN THE SOFTWARE.
>   */
>  
> -#include  "igt_psr.h"
> +#include "igt_psr.h"
> +#include "igt_sysfs.h"
> +#include <errno.h>
>  
>  bool psr_active(int fd, bool check_active)
>  {
> @@ -38,3 +40,85 @@ bool psr_wait_entry(int fd)
>  {
>  	return igt_wait(psr_active(fd, true), 500, 1);
>  }
> +
> +static ssize_t psr_write(int fd, const char *buf)
> +{
> +	return igt_sysfs_write(fd, "i915_edp_psr_debug", buf,
> strlen(buf));
> +}
> +
> +static int has_psr_debugfs(int fd)
> +{
> +	int ret;
> +
> +	/*
> +	 * Check if new PSR debugfs api is usable by writing an invalid
> value.
> +	 * Legacy mode will return OK here, debugfs api will return
> -EINVAL.
> +	 * -ENODEV is returned.
> +	 */
> +	ret = psr_write(fd, "0xf");
> +	if (ret == -EINVAL)
> +		return 0;
> +	else if (ret < 0)
> +		return ret;
> +
> +	/* legacy debugfs api, we enabled irqs by writing, disable
> them. */
> +	psr_write(fd, "0");
> +	return -EINVAL;
> +}
> +
> +static bool psr_modparam_set(int val)
> +{
> +	static int oldval = -1;

This looks wrong, why not read the module parameter? it will guaratee
that the returned value is correct here if something else left the
parameter with another value.


> +
> +	igt_set_module_param_int("enable_psr", val);
> +
> +	if (val == oldval)
> +		return false;
> +
> +	oldval = val;
> +	return true;
> +}
> +
> +static int psr_restore_debugfs_fd = -1;

Maybe move this to the top of the file.

Other than that LGTM.

> +
> +static void restore_psr_debugfs(int sig)
> +{
> +	psr_write(psr_restore_debugfs_fd, "0");
> +}
> +
> +static bool psr_set(int fd, bool enable)
> +{
> +	int ret;
> +
> +	ret = has_psr_debugfs(fd);
> +	if (ret == -ENODEV) {
> +		igt_skip_on_f(enable, "PSR not available\n");
> +		return false;
> +	}
> +
> +	if (ret == -EINVAL) {
> +		ret = psr_modparam_set(enable);
> +	} else {
> +		ret = psr_write(fd, enable ? "0x3" : "0x1");
> +		igt_assert(ret > 0);
> +	}
> +
> +	/* Restore original value on exit */
> +	if (psr_restore_debugfs_fd == -1) {
> +		psr_restore_debugfs_fd = dup(fd);
> +		igt_assert(psr_restore_debugfs_fd >= 0);
> +		igt_install_exit_handler(restore_psr_debugfs);
> +	}
> +
> +	return ret;
> +}
> +
> +bool psr_enable(int fd)
> +{
> +	return psr_set(fd, true);
> +}
> +
> +bool psr_disable(int fd)
> +{
> +	return psr_set(fd, false);
> +}
> diff --git a/lib/igt_psr.h b/lib/igt_psr.h
> index 980f85e0..0ef22c3d 100644
> --- a/lib/igt_psr.h
> +++ b/lib/igt_psr.h
> @@ -30,5 +30,7 @@
>  
>  bool psr_wait_entry(int fd);
>  bool psr_active(int fd, bool check_active);
> +bool psr_enable(int fd);
> +bool psr_disable(int fd);
>  
>  #endif
> diff --git a/tests/kms_frontbuffer_tracking.c
> b/tests/kms_frontbuffer_tracking.c
> index 1dfd7c1c..7ea2f697 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -941,8 +941,6 @@ static bool
> drrs_wait_until_rr_switch_to_low(void)
>  
>  #define fbc_enable() igt_set_module_param_int("enable_fbc", 1)
>  #define fbc_disable() igt_set_module_param_int("enable_fbc", 0)
> -#define psr_enable() igt_set_module_param_int("enable_psr", 1)
> -#define psr_disable() igt_set_module_param_int("enable_psr", 0)
>  #define drrs_enable()	drrs_set(1)
>  #define drrs_disable()	drrs_set(0)
>  
> @@ -1137,7 +1135,7 @@ static void disable_features(const struct
> test_mode *t)
>  		return;
>  
>  	fbc_disable();
> -	psr_disable();
> +	psr_disable(drm.debugfs);
>  	drrs_disable();
>  }
>  
> @@ -1719,7 +1717,7 @@ static void enable_features_for_test(const
> struct test_mode *t)
>  	if (t->feature & FEATURE_FBC)
>  		fbc_enable();
>  	if (t->feature & FEATURE_PSR)
> -		psr_enable();
> +		psr_enable(drm.debugfs);
>  	if (t->feature & FEATURE_DRRS)
>  		drrs_enable();
>  }
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir Dhinakaran Pandiyan
@ 2018-09-04 22:07   ` Souza, Jose
  2018-09-04 22:08     ` Souza, Jose
  0 siblings, 1 reply; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 22:07 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> The tests calls igt_debugfs_dir() to open the debugfs dir and further
> along calls igt_debugfs_read() each i915_edp_psr_status needs to be
> read. The igt_debugfs_read() calls open the directory again, fix this
> by
> making use of the newly added __igt_debugfs_read()
> 

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  lib/igt_psr.c                    |  2 +-
>  tests/kms_frontbuffer_tracking.c |  3 ++-
>  tests/kms_psr.c                  | 10 ++++++----
>  3 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> index 614caa6f..b9bfd607 100644
> --- a/lib/igt_psr.c
> +++ b/lib/igt_psr.c
> @@ -30,7 +30,7 @@ bool psr_active(int fd, bool check_active)
>  	bool active;
>  	char buf[512];
>  
> -	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
> +	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf,
> sizeof(buf));
>  	active = strstr(buf, "HW Enabled & Active bit: yes\n") &&
>  		(strstr(buf, "SRDENT") || strstr(buf, "SLEEP"));
>  	return check_active ? active : !active;
> diff --git a/tests/kms_frontbuffer_tracking.c
> b/tests/kms_frontbuffer_tracking.c
> index 822f3e74..1ffe7467 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -1632,7 +1632,8 @@ static void do_status_assertions(int flags)
>  	if (flags & ASSERT_PSR_ENABLED)
>  		igt_assert_f(psr_wait_entry(drm.fd), "PSR still
> disabled\n");
>  	else if (flags & ASSERT_PSR_DISABLED)
> -		igt_assert_f(psr_active(drm.fd, false), "PSR still
> enabled\n");
> +		igt_assert_f(psr_active(drm.debugfs, false),
> +			     "PSR still enabled\n");
>  }
>  
>  static void __do_assertions(const struct test_mode *t, int flags,
> diff --git a/tests/kms_psr.c b/tests/kms_psr.c
> index 218b3960..3e64cf04 100644
> --- a/tests/kms_psr.c
> +++ b/tests/kms_psr.c
> @@ -192,7 +192,8 @@ static bool sink_support(data_t *data)
>  {
>  	char buf[512];
>  
> -	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
> +	igt_debugfs_simple_read(data->debugfs_fd,
> "i915_edp_psr_status",
> +			 buf, sizeof(buf));
>  
>  	return data->with_psr_disabled ||
>  		strstr(buf, "Sink_Support: yes\n");
> @@ -203,7 +204,7 @@ static bool psr_wait_entry_if_enabled(data_t
> *data)
>  	if (data->with_psr_disabled)
>  		return true;
>  
> -	return psr_wait_entry(data->drm_fd);
> +	return psr_wait_entry(data->debugfs_fd);
>  }
>  
>  static inline void manual(const char *expected)
> @@ -215,7 +216,8 @@ static bool drrs_disabled(data_t *data)
>  {
>  	char buf[512];
>  
> -	igt_debugfs_read(data->drm_fd, "i915_drrs_status", buf);
> +	igt_debugfs_simple_read(data->debugfs_fd, "i915_drrs_status",
> +			 buf, sizeof(buf));
>  
>  	return !strstr(buf, "DRRS Supported: Yes\n");
>  }
> @@ -292,7 +294,7 @@ static void run_test(data_t *data)
>  		expected = "screen GREEN";
>  		break;
>  	}
> -	igt_assert(psr_active(data->drm_fd, false));
> +	igt_assert(psr_active(data->debugfs_fd, false));
>  	manual(expected);
>  }
>  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir
  2018-09-04 22:07   ` Souza, Jose
@ 2018-09-04 22:08     ` Souza, Jose
  0 siblings, 0 replies; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 22:08 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Tue, 2018-09-04 at 15:07 -0700, José Roberto de Souza wrote:
> On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> > The tests calls igt_debugfs_dir() to open the debugfs dir and
> > further
> > along calls igt_debugfs_read() each i915_edp_psr_status needs to be
> > read. The igt_debugfs_read() calls open the directory again, fix
> > this
> > by
> > making use of the newly added __igt_debugfs_read()
> > 

Just forgot this:

s/newly added __igt_debugfs_read()/newly added
igt_debugfs_simple_read()

> 
> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
> 
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> > ---
> >  lib/igt_psr.c                    |  2 +-
> >  tests/kms_frontbuffer_tracking.c |  3 ++-
> >  tests/kms_psr.c                  | 10 ++++++----
> >  3 files changed, 9 insertions(+), 6 deletions(-)
> > 
> > diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> > index 614caa6f..b9bfd607 100644
> > --- a/lib/igt_psr.c
> > +++ b/lib/igt_psr.c
> > @@ -30,7 +30,7 @@ bool psr_active(int fd, bool check_active)
> >  	bool active;
> >  	char buf[512];
> >  
> > -	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
> > +	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf,
> > sizeof(buf));
> >  	active = strstr(buf, "HW Enabled & Active bit: yes\n") &&
> >  		(strstr(buf, "SRDENT") || strstr(buf, "SLEEP"));
> >  	return check_active ? active : !active;
> > diff --git a/tests/kms_frontbuffer_tracking.c
> > b/tests/kms_frontbuffer_tracking.c
> > index 822f3e74..1ffe7467 100644
> > --- a/tests/kms_frontbuffer_tracking.c
> > +++ b/tests/kms_frontbuffer_tracking.c
> > @@ -1632,7 +1632,8 @@ static void do_status_assertions(int flags)
> >  	if (flags & ASSERT_PSR_ENABLED)
> >  		igt_assert_f(psr_wait_entry(drm.fd), "PSR still
> > disabled\n");
> >  	else if (flags & ASSERT_PSR_DISABLED)
> > -		igt_assert_f(psr_active(drm.fd, false), "PSR still
> > enabled\n");
> > +		igt_assert_f(psr_active(drm.debugfs, false),
> > +			     "PSR still enabled\n");
> >  }
> >  
> >  static void __do_assertions(const struct test_mode *t, int flags,
> > diff --git a/tests/kms_psr.c b/tests/kms_psr.c
> > index 218b3960..3e64cf04 100644
> > --- a/tests/kms_psr.c
> > +++ b/tests/kms_psr.c
> > @@ -192,7 +192,8 @@ static bool sink_support(data_t *data)
> >  {
> >  	char buf[512];
> >  
> > -	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
> > +	igt_debugfs_simple_read(data->debugfs_fd,
> > "i915_edp_psr_status",
> > +			 buf, sizeof(buf));
> >  
> >  	return data->with_psr_disabled ||
> >  		strstr(buf, "Sink_Support: yes\n");
> > @@ -203,7 +204,7 @@ static bool psr_wait_entry_if_enabled(data_t
> > *data)
> >  	if (data->with_psr_disabled)
> >  		return true;
> >  
> > -	return psr_wait_entry(data->drm_fd);
> > +	return psr_wait_entry(data->debugfs_fd);
> >  }
> >  
> >  static inline void manual(const char *expected)
> > @@ -215,7 +216,8 @@ static bool drrs_disabled(data_t *data)
> >  {
> >  	char buf[512];
> >  
> > -	igt_debugfs_read(data->drm_fd, "i915_drrs_status", buf);
> > +	igt_debugfs_simple_read(data->debugfs_fd, "i915_drrs_status",
> > +			 buf, sizeof(buf));
> >  
> >  	return !strstr(buf, "DRRS Supported: Yes\n");
> >  }
> > @@ -292,7 +294,7 @@ static void run_test(data_t *data)
> >  		expected = "screen GREEN";
> >  		break;
> >  	}
> > -	igt_assert(psr_active(data->drm_fd, false));
> > +	igt_assert(psr_active(data->debugfs_fd, false));
> >  	manual(expected);
> >  }
> >  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 4/6] tests/fbcon_fbt: Avoid opening debugfs dir repeatedly
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 4/6] tests/fbcon_fbt: Avoid opening debugfs dir repeatedly Dhinakaran Pandiyan
@ 2018-09-04 22:12   ` Souza, Jose
  0 siblings, 0 replies; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 22:12 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> Make use of igt_debugfs_simple_read() to open debugfs dir just once.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

But please consider do this renames in this patch and in the previous,
to make the code more easy to understand: fbc_supported_on_chipset(int
fd) to fbc_supported_on_chipset(int debugfs_fd)

> 
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_fbcon_fbt.c | 34 ++++++++++++++++++++--------------
>  1 file changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
> index 280ddbd7..e9376cde 100644
> --- a/tests/kms_fbcon_fbt.c
> +++ b/tests/kms_fbcon_fbt.c
> @@ -39,6 +39,7 @@ static bool do_wait_user = false;
>  
>  struct drm_info {
>  	int fd;
> +	int debugfs_fd;
>  	drmModeResPtr res;
>  	drmModeConnectorPtr connectors[MAX_CONNECTORS];
>  };
> @@ -58,6 +59,7 @@ static void setup_drm(struct drm_info *drm)
>  	int i;
>  
>  	drm->fd = drm_open_driver_master(DRIVER_INTEL);
> +	drm->debugfs_fd = igt_debugfs_dir(drm->fd);
>  
>  	drm->res = drmModeGetResources(drm->fd);
>  	igt_assert(drm->res->count_connectors <= MAX_CONNECTORS);
> @@ -85,9 +87,11 @@ static void teardown_drm(struct drm_info *drm)
>  static bool fbc_supported_on_chipset(int fd)
>  {
>  	char buf[128];
> +	int ret;
>  
> -	igt_debugfs_read(fd, "i915_fbc_status", buf);
> -	if (*buf == '\0') /* !HAS_FBC -> -ENODEV*/
> +	ret = igt_debugfs_simple_read(fd, "i915_fbc_status",
> +				      buf, sizeof(buf));
> +	if (ret < 0)
>  		return false;
>  
>  	return !strstr(buf, "FBC unsupported on this chipset\n");
> @@ -102,7 +106,7 @@ static void fbc_print_status(int fd)
>  {
>  	static char buf[128];
>  
> -	igt_debugfs_read(fd, "i915_fbc_status", buf);
> +	igt_debugfs_simple_read(fd, "i915_fbc_status", buf,
> sizeof(buf));
>  	igt_debug("FBC status: %s\n", buf);
>  }
>  
> @@ -110,7 +114,7 @@ static bool fbc_is_enabled(int fd)
>  {
>  	char buf[128];
>  
> -	igt_debugfs_read(fd, "i915_fbc_status", buf);
> +	igt_debugfs_simple_read(fd, "i915_fbc_status", buf,
> sizeof(buf));
>  	return strstr(buf, "FBC enabled\n");
>  }
>  
> @@ -163,9 +167,11 @@ static void set_mode_for_one_screen(struct
> drm_info *drm, struct igt_fb *fb,
>  static bool psr_supported_on_chipset(int fd)
>  {
>  	char buf[256];
> +	int ret;
>  
> -	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
> -	if (*buf == '\0') /* !HAS_PSR -> -ENODEV*/
> +	ret = igt_debugfs_simple_read(fd, "i915_edp_psr_status",
> +				      buf, sizeof(buf));
> +	if (ret < 0)
>  		return false;
>  
>  	return strstr(buf, "Sink_Support: yes\n");
> @@ -180,7 +186,7 @@ static void psr_print_status(int fd)
>  {
>  	static char buf[256];
>  
> -	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
> +	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf,
> sizeof(buf));
>  	igt_debug("PSR status: %s\n", buf);
>  }
>  
> @@ -188,7 +194,7 @@ static bool psr_is_enabled(int fd)
>  {
>  	char buf[256];
>  
> -	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
> +	igt_debugfs_simple_read(fd, "i915_edp_psr_status", buf,
> sizeof(buf));
>  	return strstr(buf, "\nHW Enabled & Active bit: yes\n");
>  }
>  
> @@ -229,24 +235,24 @@ static void subtest(struct feature *feature,
> bool suspend)
>  
>  	setup_drm(&drm);
>  
> -	igt_require(feature->supported_on_chipset(drm.fd));
> +	igt_require(feature->supported_on_chipset(drm.debugfs_fd));
>  
>  	disable_features();
>  	igt_set_module_param_int(feature->param_name, 1);
>  
>  	kmstest_unset_all_crtcs(drm.fd, drm.res);
>  	wait_user("Modes unset.");
> -	igt_assert(!feature->wait_until_enabled(drm.fd));
> +	igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
>  
>  	set_mode_for_one_screen(&drm, &fb, feature-
> >connector_possible_fn);
>  	wait_user("Screen set.");
> -	igt_assert(feature->wait_until_enabled(drm.fd));
> +	igt_assert(feature->wait_until_enabled(drm.debugfs_fd));
>  
>  	if (suspend) {
>  		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
>  					      SUSPEND_TEST_NONE);
>  		sleep(5);
> -		igt_assert(feature->wait_until_enabled(drm.fd));
> +		igt_assert(feature-
> >wait_until_enabled(drm.debugfs_fd));
>  	}
>  
>  	igt_remove_fb(drm.fd, &fb);
> @@ -256,13 +262,13 @@ static void subtest(struct feature *feature,
> bool suspend)
>  	sleep(3);
>  
>  	wait_user("Back to fbcon.");
> -	igt_assert(!feature->wait_until_enabled(drm.fd));
> +	igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
>  
>  	if (suspend) {
>  		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
>  					      SUSPEND_TEST_NONE);
>  		sleep(5);
> -		igt_assert(!feature->wait_until_enabled(drm.fd));
> +		igt_assert(!feature-
> >wait_until_enabled(drm.debugfs_fd));
>  	}
>  }
>  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr Dhinakaran Pandiyan
@ 2018-09-04 22:18   ` Souza, Jose
  2018-09-05  1:31     ` Dhinakaran Pandiyan
  2018-09-04 22:20   ` Souza, Jose
  1 sibling, 1 reply; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 22:18 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> The tests we have work only with PSR1, but setting the module
> parameter
> enable_psr enables PSR2 if the panel supports it. Make use of the
> newly
> added debugfs toggle to enable only PSR1 when testing.

If the idea is latter have psr2_enable/disable then:

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_psr.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_psr.c b/tests/kms_psr.c
> index 3e64cf04..fcc04770 100644
> --- a/tests/kms_psr.c
> +++ b/tests/kms_psr.c
> @@ -414,8 +414,9 @@ int main(int argc, char *argv[])
>  		kmstest_set_vt_graphics_mode();
>  		data.devid = intel_get_drm_devid(data.drm_fd);
>  
> -		igt_set_module_param_int("enable_psr",
> data.with_psr_disabled ?
> -					 0 : 1);
> +		if (!data.with_psr_disabled)
> +			psr_enable(data.debugfs_fd);
> +
>  		igt_require_f(sink_support(&data),
>  			      "Sink does not support PSR\n");
>  
> @@ -490,6 +491,9 @@ int main(int argc, char *argv[])
>  	}
>  
>  	igt_fixture {
> +		if (!data.with_psr_disabled)
> +			psr_disable(data.debugfs_fd);
> +
>  		close(data.debugfs_fd);
>  		drm_intel_bufmgr_destroy(data.bufmgr);
>  		display_fini(&data);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr Dhinakaran Pandiyan
  2018-09-04 22:18   ` Souza, Jose
@ 2018-09-04 22:20   ` Souza, Jose
  1 sibling, 0 replies; 23+ messages in thread
From: Souza, Jose @ 2018-09-04 22:20 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> The tests we have work only with PSR1, but setting the module
> parameter
> enable_psr enables PSR2 if the panel supports it. Make use of the
> newly
> added debugfs toggle to enable only PSR1 when testing.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> 
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_psr.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_psr.c b/tests/kms_psr.c
> index 3e64cf04..fcc04770 100644
> --- a/tests/kms_psr.c
> +++ b/tests/kms_psr.c
> @@ -414,8 +414,9 @@ int main(int argc, char *argv[])
>  		kmstest_set_vt_graphics_mode();
>  		data.devid = intel_get_drm_devid(data.drm_fd);
>  
> -		igt_set_module_param_int("enable_psr",
> data.with_psr_disabled ?
> -					 0 : 1);
> +		if (!data.with_psr_disabled)
> +			psr_enable(data.debugfs_fd);
> +
>  		igt_require_f(sink_support(&data),
>  			      "Sink does not support PSR\n");
>  
> @@ -490,6 +491,9 @@ int main(int argc, char *argv[])
>  	}
>  
>  	igt_fixture {
> +		if (!data.with_psr_disabled)
> +			psr_disable(data.debugfs_fd);
> +
>  		close(data.debugfs_fd);
>  		drm_intel_bufmgr_destroy(data.bufmgr);
>  		display_fini(&data);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr
  2018-09-04 22:18   ` Souza, Jose
@ 2018-09-05  1:31     ` Dhinakaran Pandiyan
  0 siblings, 0 replies; 23+ messages in thread
From: Dhinakaran Pandiyan @ 2018-09-05  1:31 UTC (permalink / raw)
  To: Souza, Jose, igt-dev; +Cc: Vivi, Rodrigo

On Tue, 2018-09-04 at 22:18 +0000, Souza, Jose wrote:
> On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> > The tests we have work only with PSR1, but setting the module
> > parameter
> > enable_psr enables PSR2 if the panel supports it. Make use of the
> > newly
> > added debugfs toggle to enable only PSR1 when testing.
> 
> If the idea is latter have psr2_enable/disable then:

Yeah, that is the plan. Both psr_wait_for_entry() and psr_active()
aren't compatible with PSR2 as of now. We have to rewrite those
functions. Thanks for the reviews.

> 
> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
> 
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> > ---
> >  tests/kms_psr.c | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tests/kms_psr.c b/tests/kms_psr.c
> > index 3e64cf04..fcc04770 100644
> > --- a/tests/kms_psr.c
> > +++ b/tests/kms_psr.c
> > @@ -414,8 +414,9 @@ int main(int argc, char *argv[])
> >  		kmstest_set_vt_graphics_mode();
> >  		data.devid = intel_get_drm_devid(data.drm_fd);
> >  
> > -		igt_set_module_param_int("enable_psr",
> > data.with_psr_disabled ?
> > -					 0 : 1);
> > +		if (!data.with_psr_disabled)
> > +			psr_enable(data.debugfs_fd);
> > +
> >  		igt_require_f(sink_support(&data),
> >  			      "Sink does not support PSR\n");
> >  
> > @@ -490,6 +491,9 @@ int main(int argc, char *argv[])
> >  	}
> >  
> >  	igt_fixture {
> > +		if (!data.with_psr_disabled)
> > +			psr_disable(data.debugfs_fd);
> > +
> >  		close(data.debugfs_fd);
> >  		drm_intel_bufmgr_destroy(data.bufmgr);
> >  		display_fini(&data);
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-09-04 21:59 ` [igt-dev] [PATCH i-g-t 1/6] " Souza, Jose
@ 2018-09-05 17:09   ` Pandiyan, Dhinakaran
  2018-09-05 21:05     ` Souza, Jose
  0 siblings, 1 reply; 23+ messages in thread
From: Pandiyan, Dhinakaran @ 2018-09-05 17:09 UTC (permalink / raw)
  To: igt-dev, Souza, Jose; +Cc: Vivi, Rodrigo

On Tue, 2018-09-04 at 14:59 -0700, Souza, Jose wrote:
> On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> > From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > 
> > It's harmful to write to enable_psr at runtime, and the patch that
> > allows
> > us to change i915_edp_psr_debug with the panel running will require
> > us
> > to abandon the module parameter. Hence the userspace change needs
> > to
> > be
> > put in IGT first before we can change it at kernel time.
> > 
> > Toggling it to debugfs will mean we can skip a modeset when
> > changing
> > our
> > feature set.
> > 
> > Changes since v1:
> > - Rebase with the previous patches dropped.
> > Changes since v2:
> > - Rebase on top of new api in i915_edp_psr_debug.
> > Changes since v3:
> > - Enable IRQ debugging for extra logging.
> > - Force PSR1 mode. (dhnkrn)
> > - Move PSR enable/disable functions to lib/igt_psr. (dhnkrn)
> > Changes since v4:
> > - Redisable irqs right away when debugfs api doesn't work. (dhnkrn)
> > - Use hex everywhere. (dhnkrn)
> > 
> > Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com
> > >
> > ---
> >  lib/igt_psr.c                    | 86
> > +++++++++++++++++++++++++++++++++++++++-
> >  lib/igt_psr.h                    |  2 +
> >  tests/kms_frontbuffer_tracking.c |  6 +--
> >  3 files changed, 89 insertions(+), 5 deletions(-)
> > 
> > diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> > index c979b0b5..614caa6f 100644
> > --- a/lib/igt_psr.c
> > +++ b/lib/igt_psr.c
> > @@ -21,7 +21,9 @@
> >   * IN THE SOFTWARE.
> >   */
> >  
> > -#include  "igt_psr.h"
> > +#include "igt_psr.h"
> > +#include "igt_sysfs.h"
> > +#include <errno.h>
> >  
> >  bool psr_active(int fd, bool check_active)
> >  {
> > @@ -38,3 +40,85 @@ bool psr_wait_entry(int fd)
> >  {
> >  	return igt_wait(psr_active(fd, true), 500, 1);
> >  }
> > +
> > +static ssize_t psr_write(int fd, const char *buf)
> > +{
> > +	return igt_sysfs_write(fd, "i915_edp_psr_debug", buf,
> > strlen(buf));
> > +}
> > +
> > +static int has_psr_debugfs(int fd)
> > +{
> > +	int ret;
> > +
> > +	/*
> > +	 * Check if new PSR debugfs api is usable by writing an
> > invalid
> > value.
> > +	 * Legacy mode will return OK here, debugfs api will
> > return
> > -EINVAL.
> > +	 * -ENODEV is returned.
> > +	 */
> > +	ret = psr_write(fd, "0xf");
> > +	if (ret == -EINVAL)
> > +		return 0;
> > +	else if (ret < 0)
> > +		return ret;
> > +
> > +	/* legacy debugfs api, we enabled irqs by writing, disable
> > them. */
> > +	psr_write(fd, "0");
> > +	return -EINVAL;
> > +}
> > +
> > +static bool psr_modparam_set(int val)
> > +{
> > +	static int oldval = -1;
> 
> This looks wrong, why not read the module parameter? it will guaratee
> that the returned value is correct here if something else left the
> parameter with another value.
> 
This patch was merged as part of a different series, send a fix and Cc
Maarten?
> 
> > +
> > +	igt_set_module_param_int("enable_psr", val);
> > +
> > +	if (val == oldval)
> > +		return false;
> > +
> > +	oldval = val;
> > +	return true;
> > +}
> > +
> > +static int psr_restore_debugfs_fd = -1;
> 
> Maybe move this to the top of the file.
> 
> Other than that LGTM.
> 
> > +
> > +static void restore_psr_debugfs(int sig)
> > +{
> > +	psr_write(psr_restore_debugfs_fd, "0");
> > +}
> > +
> > +static bool psr_set(int fd, bool enable)
> > +{
> > +	int ret;
> > +
> > +	ret = has_psr_debugfs(fd);
> > +	if (ret == -ENODEV) {
> > +		igt_skip_on_f(enable, "PSR not available\n");
> > +		return false;
> > +	}
> > +
> > +	if (ret == -EINVAL) {
> > +		ret = psr_modparam_set(enable);
> > +	} else {
> > +		ret = psr_write(fd, enable ? "0x3" : "0x1");
> > +		igt_assert(ret > 0);
> > +	}
> > +
> > +	/* Restore original value on exit */
> > +	if (psr_restore_debugfs_fd == -1) {
> > +		psr_restore_debugfs_fd = dup(fd);
> > +		igt_assert(psr_restore_debugfs_fd >= 0);
> > +		igt_install_exit_handler(restore_psr_debugfs);
> > +	}
> > +
> > +	return ret;
> > +}
> > +
> > +bool psr_enable(int fd)
> > +{
> > +	return psr_set(fd, true);
> > +}
> > +
> > +bool psr_disable(int fd)
> > +{
> > +	return psr_set(fd, false);
> > +}
> > diff --git a/lib/igt_psr.h b/lib/igt_psr.h
> > index 980f85e0..0ef22c3d 100644
> > --- a/lib/igt_psr.h
> > +++ b/lib/igt_psr.h
> > @@ -30,5 +30,7 @@
> >  
> >  bool psr_wait_entry(int fd);
> >  bool psr_active(int fd, bool check_active);
> > +bool psr_enable(int fd);
> > +bool psr_disable(int fd);
> >  
> >  #endif
> > diff --git a/tests/kms_frontbuffer_tracking.c
> > b/tests/kms_frontbuffer_tracking.c
> > index 1dfd7c1c..7ea2f697 100644
> > --- a/tests/kms_frontbuffer_tracking.c
> > +++ b/tests/kms_frontbuffer_tracking.c
> > @@ -941,8 +941,6 @@ static bool
> > drrs_wait_until_rr_switch_to_low(void)
> >  
> >  #define fbc_enable() igt_set_module_param_int("enable_fbc", 1)
> >  #define fbc_disable() igt_set_module_param_int("enable_fbc", 0)
> > -#define psr_enable() igt_set_module_param_int("enable_psr", 1)
> > -#define psr_disable() igt_set_module_param_int("enable_psr", 0)
> >  #define drrs_enable()	drrs_set(1)
> >  #define drrs_disable()	drrs_set(0)
> >  
> > @@ -1137,7 +1135,7 @@ static void disable_features(const struct
> > test_mode *t)
> >  		return;
> >  
> >  	fbc_disable();
> > -	psr_disable();
> > +	psr_disable(drm.debugfs);
> >  	drrs_disable();
> >  }
> >  
> > @@ -1719,7 +1717,7 @@ static void enable_features_for_test(const
> > struct test_mode *t)
> >  	if (t->feature & FEATURE_FBC)
> >  		fbc_enable();
> >  	if (t->feature & FEATURE_PSR)
> > -		psr_enable();
> > +		psr_enable(drm.debugfs);
> >  	if (t->feature & FEATURE_DRRS)
> >  		drrs_enable();
> >  }
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5.
  2018-09-05 17:09   ` Pandiyan, Dhinakaran
@ 2018-09-05 21:05     ` Souza, Jose
  0 siblings, 0 replies; 23+ messages in thread
From: Souza, Jose @ 2018-09-05 21:05 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-09-05 at 10:09 -0700, Pandiyan, Dhinakaran wrote:
> On Tue, 2018-09-04 at 14:59 -0700, Souza, Jose wrote:
> > On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> > > From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > > 
> > > It's harmful to write to enable_psr at runtime, and the patch
> > > that
> > > allows
> > > us to change i915_edp_psr_debug with the panel running will
> > > require
> > > us
> > > to abandon the module parameter. Hence the userspace change needs
> > > to
> > > be
> > > put in IGT first before we can change it at kernel time.
> > > 
> > > Toggling it to debugfs will mean we can skip a modeset when
> > > changing
> > > our
> > > feature set.
> > > 
> > > Changes since v1:
> > > - Rebase with the previous patches dropped.
> > > Changes since v2:
> > > - Rebase on top of new api in i915_edp_psr_debug.
> > > Changes since v3:
> > > - Enable IRQ debugging for extra logging.
> > > - Force PSR1 mode. (dhnkrn)
> > > - Move PSR enable/disable functions to lib/igt_psr. (dhnkrn)
> > > Changes since v4:
> > > - Redisable irqs right away when debugfs api doesn't work.
> > > (dhnkrn)
> > > - Use hex everywhere. (dhnkrn)
> > > 
> > > Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> > > Signed-off-by: Maarten Lankhorst <
> > > maarten.lankhorst@linux.intel.com
> > > > 
> > > 
> > > ---
> > >  lib/igt_psr.c                    | 86
> > > +++++++++++++++++++++++++++++++++++++++-
> > >  lib/igt_psr.h                    |  2 +
> > >  tests/kms_frontbuffer_tracking.c |  6 +--
> > >  3 files changed, 89 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> > > index c979b0b5..614caa6f 100644
> > > --- a/lib/igt_psr.c
> > > +++ b/lib/igt_psr.c
> > > @@ -21,7 +21,9 @@
> > >   * IN THE SOFTWARE.
> > >   */
> > >  
> > > -#include  "igt_psr.h"
> > > +#include "igt_psr.h"
> > > +#include "igt_sysfs.h"
> > > +#include <errno.h>
> > >  
> > >  bool psr_active(int fd, bool check_active)
> > >  {
> > > @@ -38,3 +40,85 @@ bool psr_wait_entry(int fd)
> > >  {
> > >  	return igt_wait(psr_active(fd, true), 500, 1);
> > >  }
> > > +
> > > +static ssize_t psr_write(int fd, const char *buf)
> > > +{
> > > +	return igt_sysfs_write(fd, "i915_edp_psr_debug", buf,
> > > strlen(buf));
> > > +}
> > > +
> > > +static int has_psr_debugfs(int fd)
> > > +{
> > > +	int ret;
> > > +
> > > +	/*
> > > +	 * Check if new PSR debugfs api is usable by writing an
> > > invalid
> > > value.
> > > +	 * Legacy mode will return OK here, debugfs api will
> > > return
> > > -EINVAL.
> > > +	 * -ENODEV is returned.
> > > +	 */
> > > +	ret = psr_write(fd, "0xf");
> > > +	if (ret == -EINVAL)
> > > +		return 0;
> > > +	else if (ret < 0)
> > > +		return ret;
> > > +
> > > +	/* legacy debugfs api, we enabled irqs by writing, disable
> > > them. */
> > > +	psr_write(fd, "0");
> > > +	return -EINVAL;
> > > +}
> > > +
> > > +static bool psr_modparam_set(int val)
> > > +{
> > > +	static int oldval = -1;
> > 
> > This looks wrong, why not read the module parameter? it will
> > guaratee
> > that the returned value is correct here if something else left the
> > parameter with another value.
> > 
> 
> This patch was merged as part of a different series, send a fix and
> Cc
> Maarten?

Okay, I did the patch and sent it to ML.

Thanks for the feedbak.

> > 
> > > +
> > > +	igt_set_module_param_int("enable_psr", val);
> > > +
> > > +	if (val == oldval)
> > > +		return false;
> > > +
> > > +	oldval = val;
> > > +	return true;
> > > +}
> > > +
> > > +static int psr_restore_debugfs_fd = -1;
> > 
> > Maybe move this to the top of the file.
> > 
> > Other than that LGTM.
> > 
> > > +
> > > +static void restore_psr_debugfs(int sig)
> > > +{
> > > +	psr_write(psr_restore_debugfs_fd, "0");
> > > +}
> > > +
> > > +static bool psr_set(int fd, bool enable)
> > > +{
> > > +	int ret;
> > > +
> > > +	ret = has_psr_debugfs(fd);
> > > +	if (ret == -ENODEV) {
> > > +		igt_skip_on_f(enable, "PSR not available\n");
> > > +		return false;
> > > +	}
> > > +
> > > +	if (ret == -EINVAL) {
> > > +		ret = psr_modparam_set(enable);
> > > +	} else {
> > > +		ret = psr_write(fd, enable ? "0x3" : "0x1");
> > > +		igt_assert(ret > 0);
> > > +	}
> > > +
> > > +	/* Restore original value on exit */
> > > +	if (psr_restore_debugfs_fd == -1) {
> > > +		psr_restore_debugfs_fd = dup(fd);
> > > +		igt_assert(psr_restore_debugfs_fd >= 0);
> > > +		igt_install_exit_handler(restore_psr_debugfs);
> > > +	}
> > > +
> > > +	return ret;
> > > +}
> > > +
> > > +bool psr_enable(int fd)
> > > +{
> > > +	return psr_set(fd, true);
> > > +}
> > > +
> > > +bool psr_disable(int fd)
> > > +{
> > > +	return psr_set(fd, false);
> > > +}
> > > diff --git a/lib/igt_psr.h b/lib/igt_psr.h
> > > index 980f85e0..0ef22c3d 100644
> > > --- a/lib/igt_psr.h
> > > +++ b/lib/igt_psr.h
> > > @@ -30,5 +30,7 @@
> > >  
> > >  bool psr_wait_entry(int fd);
> > >  bool psr_active(int fd, bool check_active);
> > > +bool psr_enable(int fd);
> > > +bool psr_disable(int fd);
> > >  
> > >  #endif
> > > diff --git a/tests/kms_frontbuffer_tracking.c
> > > b/tests/kms_frontbuffer_tracking.c
> > > index 1dfd7c1c..7ea2f697 100644
> > > --- a/tests/kms_frontbuffer_tracking.c
> > > +++ b/tests/kms_frontbuffer_tracking.c
> > > @@ -941,8 +941,6 @@ static bool
> > > drrs_wait_until_rr_switch_to_low(void)
> > >  
> > >  #define fbc_enable() igt_set_module_param_int("enable_fbc", 1)
> > >  #define fbc_disable() igt_set_module_param_int("enable_fbc", 0)
> > > -#define psr_enable() igt_set_module_param_int("enable_psr", 1)
> > > -#define psr_disable() igt_set_module_param_int("enable_psr", 0)
> > >  #define drrs_enable()	drrs_set(1)
> > >  #define drrs_disable()	drrs_set(0)
> > >  
> > > @@ -1137,7 +1135,7 @@ static void disable_features(const struct
> > > test_mode *t)
> > >  		return;
> > >  
> > >  	fbc_disable();
> > > -	psr_disable();
> > > +	psr_disable(drm.debugfs);
> > >  	drrs_disable();
> > >  }
> > >  
> > > @@ -1719,7 +1717,7 @@ static void enable_features_for_test(const
> > > struct test_mode *t)
> > >  	if (t->feature & FEATURE_FBC)
> > >  		fbc_enable();
> > >  	if (t->feature & FEATURE_PSR)
> > > -		psr_enable();
> > > +		psr_enable(drm.debugfs);
> > >  	if (t->feature & FEATURE_DRRS)
> > >  		drrs_enable();
> > >  }
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs
  2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs Dhinakaran Pandiyan
@ 2018-09-05 21:10   ` Souza, Jose
  0 siblings, 0 replies; 23+ messages in thread
From: Souza, Jose @ 2018-09-05 21:10 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> Test only PSR1 on PSR2 panels by making use of the debugfs toggle.
> 


Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_fbcon_fbt.c | 33 ++++++++++++++++++++++-----------
>  1 file changed, 22 insertions(+), 11 deletions(-)
> 
> diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
> index e9376cde..e28bd770 100644
> --- a/tests/kms_fbcon_fbt.c
> +++ b/tests/kms_fbcon_fbt.c
> @@ -25,6 +25,7 @@
>   */
>  
>  #include "igt.h"
> +#include "igt_psr.h"
>  #include <sys/types.h>
>  #include <sys/stat.h>
>  #include <fcntl.h>
> @@ -205,29 +206,39 @@ static bool psr_wait_until_enabled(int fd)
>  	return r;
>  }
>  
> +static void disable_features(int fd)
> +{
> +	igt_set_module_param_int("enable_fbc", 0);
> +	psr_disable(fd);
> +}
> +
> +static inline void fbc_modparam_enable(int fd)
> +{
> +	igt_set_module_param_int("enable_fbc", 1);
> +}
> +
> +static inline void psr_debugfs_enable(int fd)
> +{
> +	psr_enable(fd);
> +}
> +
>  struct feature {
>  	bool (*supported_on_chipset)(int fd);
>  	bool (*wait_until_enabled)(int fd);
>  	bool (*connector_possible_fn)(drmModeConnectorPtr connector);
> -	const char *param_name;
> +	void (*enable)(int fd);
>  } fbc = {
>  	.supported_on_chipset = fbc_supported_on_chipset,
>  	.wait_until_enabled = fbc_wait_until_enabled,
>  	.connector_possible_fn = connector_can_fbc,
> -	.param_name = "enable_fbc",
> +	.enable = fbc_modparam_enable,
>  }, psr = {
>  	.supported_on_chipset = psr_supported_on_chipset,
>  	.wait_until_enabled = psr_wait_until_enabled,
>  	.connector_possible_fn = connector_can_psr,
> -	.param_name = "enable_psr",
> +	.enable = psr_debugfs_enable,
>  };
>  
> -static void disable_features(void)
> -{
> -	igt_set_module_param_int(fbc.param_name, 0);
> -	igt_set_module_param_int(psr.param_name, 0);
> -}
> -
>  static void subtest(struct feature *feature, bool suspend)
>  {
>  	struct drm_info drm;
> @@ -237,8 +248,8 @@ static void subtest(struct feature *feature, bool
> suspend)
>  
>  	igt_require(feature->supported_on_chipset(drm.debugfs_fd));
>  
> -	disable_features();
> -	igt_set_module_param_int(feature->param_name, 1);
> +	disable_features(drm.debugfs_fd);
> +	feature->enable(drm.debugfs_fd);
>  
>  	kmstest_unset_all_crtcs(drm.fd, drm.res);
>  	wait_user("Modes unset.");
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2018-09-05 21:11 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-29 21:57 [igt-dev] [PATCH i-g-t 1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Dhinakaran Pandiyan
2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 2/6] lib/debugfs: Function to read debugfs with the directory already open Dhinakaran Pandiyan
2018-09-04 21:58   ` Souza, Jose
2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 3/6] tests/psr: Avoid opening of already open debugfs dir Dhinakaran Pandiyan
2018-09-04 22:07   ` Souza, Jose
2018-09-04 22:08     ` Souza, Jose
2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 4/6] tests/fbcon_fbt: Avoid opening debugfs dir repeatedly Dhinakaran Pandiyan
2018-09-04 22:12   ` Souza, Jose
2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 5/6] tests/psr: Test PSR1 in kms_psr Dhinakaran Pandiyan
2018-09-04 22:18   ` Souza, Jose
2018-09-05  1:31     ` Dhinakaran Pandiyan
2018-09-04 22:20   ` Souza, Jose
2018-08-29 21:57 ` [igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs Dhinakaran Pandiyan
2018-09-05 21:10   ` Souza, Jose
2018-08-30  8:10 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/6] lib/psr: Add support for toggling edp psr through debugfs, v5 Patchwork
2018-08-30  8:12 ` Patchwork
2018-08-30  8:15 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork
2018-08-30  8:27 ` Patchwork
2018-08-30  9:04 ` Patchwork
2018-08-30  9:08 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-09-04 21:59 ` [igt-dev] [PATCH i-g-t 1/6] " Souza, Jose
2018-09-05 17:09   ` Pandiyan, Dhinakaran
2018-09-05 21:05     ` Souza, Jose

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.