public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes
@ 2022-12-12  6:12 Ashutosh Dixit
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 1/3] lib/igt_sysfs: Generic verification of clamped sysfs attributes Ashutosh Dixit
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Ashutosh Dixit @ 2022-12-12  6:12 UTC (permalink / raw)
  To: igt-dev; +Cc: Badal Nilawar

Ensure we can read all hwmon attributes. For writable attributes, also
ensure the read value approximately matches the written value, taking the
clamping of writes into account.

Ashutosh Dixit (3):
  lib/igt_sysfs: Generic verification of clamped sysfs attributes
  i915/i915_hwmon: General verification of hwmon attributes
  HAX: Add i915_hwmon* to fast-feedback.testlist

 lib/igt_sysfs.c                       | 177 ++++++++++++++++++++++++++
 lib/igt_sysfs.h                       |   2 +
 tests/i915/i915_hwmon.c               |  82 ++++++++++++
 tests/intel-ci/fast-feedback.testlist |   2 +
 tests/meson.build                     |   1 +
 5 files changed, 264 insertions(+)
 create mode 100644 tests/i915/i915_hwmon.c

-- 
2.38.0

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

* [igt-dev] [PATCH i-g-t 1/3] lib/igt_sysfs: Generic verification of clamped sysfs attributes
  2022-12-12  6:12 [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
@ 2022-12-12  6:12 ` Ashutosh Dixit
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Ashutosh Dixit @ 2022-12-12  6:12 UTC (permalink / raw)
  To: igt-dev; +Cc: Badal Nilawar

Several sysfs attributes have the property that writes to the attribute is
clamped at min and/or max levels. Implement a generic verification for such
sysfs attributes. The clamped min and max limits (and therefore the linear
region for the attribute) are determined by sweeping over the range of
possible values. It is also verified that the read value following a write
to the attribute is approximately equal to the written value in the linear
range.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 lib/igt_sysfs.c | 177 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_sysfs.h |   2 +
 2 files changed, 179 insertions(+)

diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c
index a913be4c8f2..1eb14ae8163 100644
--- a/lib/igt_sysfs.c
+++ b/lib/igt_sysfs.c
@@ -784,3 +784,180 @@ void fbcon_blink_enable(bool enable)
 	write(fd, buffer, r + 1);
 	close(fd);
 }
+
+static bool clamp_equal_within_epsilon(uint64_t x, uint64_t ref, double tol)
+{
+	return (x <= (1.0 + tol) * ref) && (x >= (1.0 - tol) * ref);
+}
+
+/* Show the entire range of values for an attribute */
+static void clamp_sweep(int dir, char *attr)
+{
+	uint64_t get, set = 1;
+	bool ret;
+
+	igt_debug("'%s': sweeping range of values\n", attr);
+	while (1) {
+		if (set >= UINT64_MAX / 2) {
+			igt_debug("'%s': done sweeping\n", attr);
+			return;
+		}
+
+		ret = igt_sysfs_set_u64(dir, attr, set);
+		get = igt_sysfs_get_u64(dir, attr);
+		igt_debug("'%s': ret %d set %lu get %lu\n", attr, ret, set, get);
+		set *= 2;
+	}
+}
+
+/* Find the min clamped level, or start of linear region for the attr */
+static int clamp_find_min(int dir, char *attr, uint64_t start, uint64_t *min)
+{
+	uint64_t get, set = start;
+	bool ret;
+
+	igt_debug("'%s': finding min\n", attr);
+	while (1) {
+		/* searched enough */
+		if (set >= UINT64_MAX / 2) {
+			igt_debug("Unable to find min for attr '%s'\n", attr);
+			return -ENOENT;
+		}
+
+		ret = igt_sysfs_set_u64(dir, attr, set);
+		get = igt_sysfs_get_u64(dir, attr);
+		igt_debug("'%s': ret %d set %lu get %lu\n", attr, ret, set, get);
+		if (ret && clamp_equal_within_epsilon(get, set, 0.1)) {
+			*min = set;
+			igt_debug("'%s': min %lu\n", attr, *min);
+			return 0;
+		}
+		set *= 2;
+	}
+}
+
+/* Find the max clamped level, or end of linear region for the attr */
+static int clamp_find_max(int dir, char *attr, uint64_t start, uint64_t *max)
+{
+	uint64_t get, set = start * 2;
+	bool ret;
+
+	igt_debug("'%s': finding max\n", attr);
+	while (1) {
+		/* searched enough */
+		if (set >= UINT64_MAX / 2) {
+			igt_debug("Unable to find max for attr '%s'\n", attr);
+			return -ENOENT;
+		}
+
+		ret = igt_sysfs_set_u64(dir, attr, set);
+		get = igt_sysfs_get_u64(dir, attr);
+		igt_debug("'%s': ret %d set %lu get %lu\n", attr, ret, set, get);
+		if (!ret || !clamp_equal_within_epsilon(get, set, 0.1)) {
+			/* previous value is the max */
+			*max = set / 2;
+			igt_debug("'%s': max %lu\n", attr, *max);
+			return 0;
+		}
+		set *= 2;
+	}
+}
+
+/*
+ * Verify that writes followed by reads in the linear region of the attr
+ * are equal within a tolerance
+*/
+static int clamp_verify_range(int dir, char *attr, uint64_t min, uint64_t max)
+{
+	uint64_t get, set = min;
+
+	/* min to max */
+	igt_debug("'%s': verifying: min to max\n", attr);
+	for (set = min; set <= max; set *= 2) {
+		if (!igt_sysfs_set_u64(dir, attr, set)) {
+			igt_debug("'%s': set %lu failed\n", attr, set);
+			return -EIO;
+		}
+		get = igt_sysfs_get_u64(dir, attr);
+		igt_debug("'%s': set %lu get %lu\n", attr, set, get);
+		if (!clamp_equal_within_epsilon(get, set, 0.1)) {
+			igt_debug("'%s': mismatch set %lu get %lu\n", attr, set, get);
+			return -EIO;
+		}
+	}
+
+	/* max to min */
+	igt_debug("'%s': verifying: max to min\n", attr);
+	for (set = max; set >= min; set /= 2) {
+		if (!igt_sysfs_set_u64(dir, attr, set)) {
+			igt_debug("'%s': set %lu failed\n", attr, set);
+			return -EIO;
+		}
+		get = igt_sysfs_get_u64(dir, attr);
+		igt_debug("'%s': set %lu get %lu\n", attr, set, get);
+		if (!clamp_equal_within_epsilon(get, set, 0.1)) {
+			igt_debug("'%s': mismatch set %lu get %lu\n", attr, set, get);
+			return -EIO;
+		}
+	}
+
+	return 0;
+}
+
+/**
+ * igt_sysfs_clamped_attr_verify:
+ * @dir: directory for the device from igt_sysfs_open()
+ * @attr: name of the sysfs node to open
+ *
+ * Several sysfs attributes (such as power, voltage, frequency, time) have
+ * the property that writes to the attribute is clamped (saturated) at min
+ * and/or max levels. The clamping can be done in a couple of ways, either
+ * the write past the clamped level is disallowed, or the write is allowed
+ * but a read following the write reflects the clamped value. Between the
+ * clamped levels is a "linear" region for the attribute where the read
+ * following the write reflects approximately or exactly the value
+ * written. The attributes are typically also unsigned.
+ *
+ * This function implements a generic verification of sysfs attributes with
+ * the above properties. The linear region of the attribute is determined
+ * by sweeping over the entire range of possible values and then it is
+ * verified that read value for the attribute is equal to the written value
+ * within a tolerance in the linear region. With --debug, it also displays
+ * the entire range for read and written values of the attribute.
+ */
+void igt_sysfs_clamped_attr_verify(int dir, char *attr)
+{
+	uint64_t prev, get, min, max;
+	struct stat st;
+	int ret;
+
+	igt_assert(!fstatat(dir, attr, &st, 0));
+	igt_assert(st.st_mode & 0222);
+
+	prev = igt_sysfs_get_u64(dir, attr);
+	igt_debug("'%s': prev %lu\n", attr, prev);
+
+	clamp_sweep(dir, attr);
+
+	ret = clamp_find_min(dir, attr, 1, &min);
+	if (ret)
+		goto restore;
+
+	ret = clamp_find_max(dir, attr, min, &max);
+	if (ret)
+		goto restore;
+
+	ret = clamp_verify_range(dir, attr, min, max);
+	if (ret)
+		goto restore;
+
+	/*
+	 * Restore previous value: we don't assert before this point so
+	 * that we can restore the attr before asserting
+	 */
+restore:
+	igt_assert_eq(1, igt_sysfs_set_u64(dir, attr, prev));
+	get = igt_sysfs_get_u64(dir, attr);
+	igt_assert_eq(get, prev);
+	igt_assert(!ret);
+}
diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h
index 1c9791a1bdc..b079f0fcbd6 100644
--- a/lib/igt_sysfs.h
+++ b/lib/igt_sysfs.h
@@ -125,4 +125,6 @@ void bind_fbcon(bool enable);
 void kick_snd_hda_intel(void);
 void fbcon_blink_enable(bool enable);
 
+void igt_sysfs_clamped_attr_verify(int dir, char *attr);
+
 #endif /* __IGT_SYSFS_H__ */
-- 
2.38.0

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

* [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes
  2022-12-12  6:12 [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 1/3] lib/igt_sysfs: Generic verification of clamped sysfs attributes Ashutosh Dixit
@ 2022-12-12  6:12 ` Ashutosh Dixit
  2022-12-13 12:49   ` Tauro, Riana
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 3/3] HAX: Add i915_hwmon* to fast-feedback.testlist Ashutosh Dixit
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Ashutosh Dixit @ 2022-12-12  6:12 UTC (permalink / raw)
  To: igt-dev; +Cc: Badal Nilawar

Ensure we can read all hwmon attributes. For writable attributes, also
ensure the read value approximately matches the written value, taking the
clamping of writes into account.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 tests/i915/i915_hwmon.c | 82 +++++++++++++++++++++++++++++++++++++++++
 tests/meson.build       |  1 +
 2 files changed, 83 insertions(+)
 create mode 100644 tests/i915/i915_hwmon.c

diff --git a/tests/i915/i915_hwmon.c b/tests/i915/i915_hwmon.c
new file mode 100644
index 00000000000..a0b2c48a96d
--- /dev/null
+++ b/tests/i915/i915_hwmon.c
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2021 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <sys/stat.h>
+#include "igt.h"
+#include "igt_hwmon.h"
+#include "igt_sysfs.h"
+
+IGT_TEST_DESCRIPTION("Tests for i915 hwmon");
+
+static void hwmon_read(int hwm)
+{
+	struct dirent *de;
+	char val[128];
+	DIR *dir;
+
+	dir = fdopendir(dup(hwm));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
+			continue;
+
+		igt_assert(igt_sysfs_scanf(hwm, de->d_name, "%127s", val) == 1);
+		igt_debug("'%s': %s\n", de->d_name, val);
+
+	}
+	closedir(dir);
+}
+
+static void hwmon_write(int hwm)
+{
+	struct dirent *de;
+	struct stat st;
+	DIR *dir;
+
+	dir = fdopendir(dup(hwm));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
+			continue;
+
+		igt_assert(!fstatat(hwm, de->d_name, &st, 0));
+		if (!(st.st_mode & 0222))
+			continue;
+
+		igt_sysfs_clamped_attr_verify(hwm, de->d_name);
+	}
+	closedir(dir);
+}
+
+igt_main
+{
+	int fd, hwm;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_INTEL);
+		hwm = igt_hwmon_open(fd);
+		igt_require(hwm >= 0);
+	}
+
+	igt_describe("Verify we can read all hwmon attributes");
+	igt_subtest("hwmon-read") {
+		hwmon_read(hwm);
+	}
+
+	igt_describe("Verify writable hwmon attributes");
+	igt_subtest("hwmon-write") {
+		hwmon_write(hwm);
+	}
+
+	igt_fixture {
+		close(hwm);
+		close(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 619c18b2516..a593055c23a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -211,6 +211,7 @@ i915_progs = [
 	'i915_fb_tiling',
 	'i915_getparams_basic',
 	'i915_hangman',
+	'i915_hwmon',
 	'i915_module_load',
 	'i915_pciid',
 	'i915_pipe_stress',
-- 
2.38.0

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

* [igt-dev] [PATCH i-g-t 3/3] HAX: Add i915_hwmon* to fast-feedback.testlist
  2022-12-12  6:12 [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 1/3] lib/igt_sysfs: Generic verification of clamped sysfs attributes Ashutosh Dixit
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
@ 2022-12-12  6:12 ` Ashutosh Dixit
  2022-12-12  7:02 ` [igt-dev] ✓ Fi.CI.BAT: success for i915/i915_hwmon: General verification of hwmon attributes Patchwork
  2022-12-12  8:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  4 siblings, 0 replies; 10+ messages in thread
From: Ashutosh Dixit @ 2022-12-12  6:12 UTC (permalink / raw)
  To: igt-dev; +Cc: Badal Nilawar

For CI.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index f57f8ff3be1..7983d3a2236 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -53,6 +53,8 @@ igt@gem_wait@wait@all
 igt@i915_getparams_basic@basic-eu-total
 igt@i915_getparams_basic@basic-subslice-total
 igt@i915_hangman@error-state-basic
+igt@i915_hwmon@hwmon-read
+igt@i915_hwmon@hwmon-write
 igt@i915_pciid
 igt@kms_addfb_basic@addfb25-bad-modifier
 igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
-- 
2.38.0

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

* [igt-dev] ✓ Fi.CI.BAT: success for i915/i915_hwmon: General verification of hwmon attributes
  2022-12-12  6:12 [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
                   ` (2 preceding siblings ...)
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 3/3] HAX: Add i915_hwmon* to fast-feedback.testlist Ashutosh Dixit
@ 2022-12-12  7:02 ` Patchwork
  2022-12-12  8:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2022-12-12  7:02 UTC (permalink / raw)
  To: Ashutosh Dixit; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 9085 bytes --]

== Series Details ==

Series: i915/i915_hwmon: General verification of hwmon attributes
URL   : https://patchwork.freedesktop.org/series/111833/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12491 -> IGTPW_8220
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 24)
------------------------------

  Missing    (17): fi-kbl-soraka bat-kbl-2 bat-adls-5 bat-adlp-9 bat-dg1-5 fi-bsw-n3050 bat-dg2-8 bat-adlm-1 bat-dg2-9 bat-adlp-6 bat-adlp-4 bat-atsm-1 bat-jsl-3 bat-dg2-11 fi-bsw-nick fi-skl-6600u fi-snb-2600 

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@i915_hwmon@hwmon-read} (NEW):
    - {bat-rplp-1}:       NOTRUN -> [SKIP][1] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/bat-rplp-1/igt@i915_hwmon@hwmon-read.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][2] +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-rkl-11600/igt@i915_hwmon@hwmon-read.html
    - fi-adl-ddr5:        NOTRUN -> [SKIP][3] +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-adl-ddr5/igt@i915_hwmon@hwmon-read.html
    - {fi-ehl-2}:         NOTRUN -> [SKIP][4] +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-ehl-2/igt@i915_hwmon@hwmon-read.html

  * {igt@i915_hwmon@hwmon-write} (NEW):
    - {bat-rpls-2}:       NOTRUN -> [SKIP][5] +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/bat-rpls-2/igt@i915_hwmon@hwmon-write.html
    - {bat-jsl-1}:        NOTRUN -> [SKIP][6] +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/bat-jsl-1/igt@i915_hwmon@hwmon-write.html
    - {fi-jsl-1}:         NOTRUN -> [SKIP][7] +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-jsl-1/igt@i915_hwmon@hwmon-write.html
    - fi-icl-u2:          NOTRUN -> [SKIP][8] +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-icl-u2/igt@i915_hwmon@hwmon-write.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][9] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-rkl-guc/igt@i915_hwmon@hwmon-write.html
    - {bat-adln-1}:       NOTRUN -> [SKIP][10] +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/bat-adln-1/igt@i915_hwmon@hwmon-write.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_selftest:
    - {fi-jsl-1}:         NOTRUN -> [INCOMPLETE][11]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-jsl-1/igt@i915_selftest.html

  
New tests
---------

  New tests have been introduced between CI_DRM_12491 and IGTPW_8220:

### New IGT tests (2) ###

  * igt@i915_hwmon@hwmon-read:
    - Statuses : 2 pass(s) 22 skip(s)
    - Exec time: [0.0] s

  * igt@i915_hwmon@hwmon-write:
    - Statuses : 2 pass(s) 22 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * {igt@i915_hwmon@hwmon-read} (NEW):
    - fi-elk-e7500:       NOTRUN -> [SKIP][12] ([fdo#109271]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-elk-e7500/igt@i915_hwmon@hwmon-read.html
    - fi-bsw-kefka:       NOTRUN -> [SKIP][13] ([fdo#109271]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-bsw-kefka/igt@i915_hwmon@hwmon-read.html
    - fi-cfl-guc:         NOTRUN -> [SKIP][14] ([fdo#109271]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-cfl-guc/igt@i915_hwmon@hwmon-read.html
    - fi-hsw-4770:        NOTRUN -> [SKIP][15] ([fdo#109271]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-hsw-4770/igt@i915_hwmon@hwmon-read.html
    - fi-ivb-3770:        NOTRUN -> [SKIP][16] ([fdo#109271]) +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-ivb-3770/igt@i915_hwmon@hwmon-read.html

  * {igt@i915_hwmon@hwmon-write} (NEW):
    - fi-bdw-gvtdvm:      NOTRUN -> [SKIP][17] ([fdo#109271]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-bdw-gvtdvm/igt@i915_hwmon@hwmon-write.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][18] ([fdo#109271]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-pnv-d510/igt@i915_hwmon@hwmon-write.html
    - fi-glk-j4005:       NOTRUN -> [SKIP][19] ([fdo#109271]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-glk-j4005/igt@i915_hwmon@hwmon-write.html
    - fi-skl-guc:         NOTRUN -> [SKIP][20] ([fdo#109271]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-skl-guc/igt@i915_hwmon@hwmon-write.html
    - fi-skl-6700k2:      NOTRUN -> [SKIP][21] ([fdo#109271]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-skl-6700k2/igt@i915_hwmon@hwmon-write.html
    - fi-kbl-7567u:       NOTRUN -> [SKIP][22] ([fdo#109271]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-kbl-7567u/igt@i915_hwmon@hwmon-write.html
    - fi-kbl-8809g:       NOTRUN -> [SKIP][23] ([fdo#109271]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-kbl-8809g/igt@i915_hwmon@hwmon-write.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       [PASS][24] -> [INCOMPLETE][25] ([i915#4817])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_pm:
    - {bat-adln-1}:       [DMESG-FAIL][26] ([i915#4258]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/bat-adln-1/igt@i915_selftest@live@gt_pm.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/bat-adln-1/igt@i915_selftest@live@gt_pm.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size:
    - fi-bsw-kefka:       [FAIL][28] ([i915#6298]) -> [PASS][29]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#6434]: https://gitlab.freedesktop.org/drm/intel/issues/6434
  [i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
  [i915#7355]: https://gitlab.freedesktop.org/drm/intel/issues/7355


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7090 -> IGTPW_8220

  CI-20190529: 20190529
  CI_DRM_12491: d322881f7e33af24901ee8ccaec3beef82f21203 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8220: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/index.html
  IGT_7090: 5aafcf060b6dfbb2fa7aace76c8074d98ac7da8f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

+igt@i915_hwmon@hwmon-read
+igt@i915_hwmon@hwmon-write
-igt@msm_shrink@copy-gpu-8
-igt@msm_shrink@copy-gpu-32
-igt@msm_shrink@copy-gpu-madvise-8
-igt@msm_shrink@copy-gpu-madvise-32
-igt@msm_shrink@copy-gpu-oom-8
-igt@msm_shrink@copy-gpu-oom-32
-igt@msm_shrink@copy-gpu-sanitycheck-8
-igt@msm_shrink@copy-gpu-sanitycheck-32
-igt@msm_shrink@copy-mmap-8
-igt@msm_shrink@copy-mmap-32
-igt@msm_shrink@copy-mmap-dmabuf-8
-igt@msm_shrink@copy-mmap-dmabuf-32
-igt@msm_shrink@copy-mmap-dmabuf-madvise-8
-igt@msm_shrink@copy-mmap-dmabuf-madvise-32
-igt@msm_shrink@copy-mmap-dmabuf-oom-8
-igt@msm_shrink@copy-mmap-dmabuf-oom-32
-igt@msm_shrink@copy-mmap-dmabuf-sanitycheck-8
-igt@msm_shrink@copy-mmap-dmabuf-sanitycheck-32
-igt@msm_shrink@copy-mmap-madvise-8
-igt@msm_shrink@copy-mmap-madvise-32
-igt@msm_shrink@copy-mmap-oom-8
-igt@msm_shrink@copy-mmap-oom-32
-igt@msm_shrink@copy-mmap-sanitycheck-8
-igt@msm_shrink@copy-mmap-sanitycheck-32

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/index.html

[-- Attachment #2: Type: text/html, Size: 10773 bytes --]

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

* [igt-dev] ✗ Fi.CI.IGT: failure for i915/i915_hwmon: General verification of hwmon attributes
  2022-12-12  6:12 [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
                   ` (3 preceding siblings ...)
  2022-12-12  7:02 ` [igt-dev] ✓ Fi.CI.BAT: success for i915/i915_hwmon: General verification of hwmon attributes Patchwork
@ 2022-12-12  8:19 ` Patchwork
  4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2022-12-12  8:19 UTC (permalink / raw)
  To: Ashutosh Dixit; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 24945 bytes --]

== Series Details ==

Series: i915/i915_hwmon: General verification of hwmon attributes
URL   : https://patchwork.freedesktop.org/series/111833/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12491_full -> IGTPW_8220_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_8220_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_8220_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

Participating hosts (14 -> 6)
------------------------------

  ERROR: It appears as if the changes made in IGTPW_8220_full prevented too many machines from booting.

  Missing    (8): pig-kbl-iris shard-tglu shard-tglu-10 shard-tglu-9 pig-glk-j5005 pig-skl-6260u shard-rkl shard-dg1 

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@i915_hwmon@hwmon-read} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][1] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb2/igt@i915_hwmon@hwmon-read.html

  * {igt@i915_hwmon@hwmon-write} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][2] +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@i915_hwmon@hwmon-write.html

  
New tests
---------

  New tests have been introduced between CI_DRM_12491_full and IGTPW_8220_full:

### New IGT tests (2) ###

  * igt@i915_hwmon@hwmon-read:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@i915_hwmon@hwmon-write:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@psr2:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([i915#658])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb2/igt@feature_discovery@psr2.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb8/igt@feature_discovery@psr2.html

  * igt@gem_ctx_persistence@engines-persistence:
    - shard-snb:          NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb4/igt@gem_ctx_persistence@engines-persistence.html

  * igt@gem_eio@in-flight-contexts-1us:
    - shard-snb:          [PASS][6] -> [FAIL][7] ([i915#4409])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-snb7/igt@gem_eio@in-flight-contexts-1us.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb7/igt@gem_eio@in-flight-contexts-1us.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][8] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [PASS][9] -> [FAIL][10] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-apl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - shard-iclb:         NOTRUN -> [SKIP][11] ([i915#4613])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb6/igt@gem_lmem_swapping@parallel-random-engines.html
    - shard-apl:          NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#4613])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl7/igt@gem_lmem_swapping@parallel-random-engines.html
    - shard-tglb:         NOTRUN -> [SKIP][13] ([i915#4613])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb1/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_mmap_gtt@fault-concurrent-y:
    - shard-snb:          [PASS][14] -> [CRASH][15] ([i915#5161])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-y.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb5/igt@gem_mmap_gtt@fault-concurrent-y.html

  * igt@gem_softpin@evict-single-offset:
    - shard-apl:          NOTRUN -> [FAIL][16] ([i915#4171])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl3/igt@gem_softpin@evict-single-offset.html
    - shard-tglb:         NOTRUN -> [FAIL][17] ([i915#4171])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb1/igt@gem_softpin@evict-single-offset.html

  * igt@gem_userptr_blits@access-control:
    - shard-iclb:         NOTRUN -> [SKIP][18] ([i915#3297])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@gem_userptr_blits@access-control.html
    - shard-tglb:         NOTRUN -> [SKIP][19] ([i915#3297])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb5/igt@gem_userptr_blits@access-control.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-tglb:         NOTRUN -> [SKIP][20] ([i915#2527] / [i915#2856]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb2/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@bb-start-param:
    - shard-iclb:         NOTRUN -> [SKIP][21] ([i915#2856]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@gen9_exec_parse@bb-start-param.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-180:
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#5286])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb3/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
    - shard-tglb:         NOTRUN -> [SKIP][23] ([i915#5286])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb7/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-tglb:         NOTRUN -> [SKIP][24] ([fdo#111615])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_joiner@basic:
    - shard-iclb:         NOTRUN -> [SKIP][25] ([i915#2705])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb3/igt@kms_big_joiner@basic.html
    - shard-tglb:         NOTRUN -> [SKIP][26] ([i915#2705])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb2/igt@kms_big_joiner@basic.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][27] ([fdo#109278]) +3 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb7/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-random-ccs-data-4_tiled_dg2_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][28] ([i915#6095])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb3/igt@kms_ccs@pipe-a-random-ccs-data-4_tiled_dg2_mc_ccs.html

  * igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][29] ([fdo#109278] / [i915#3886])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html
    - shard-apl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#3886])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl7/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-ccs-on-another-bo-yf_tiled_ccs:
    - shard-snb:          NOTRUN -> [SKIP][31] ([fdo#109271]) +129 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb7/igt@kms_ccs@pipe-c-ccs-on-another-bo-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-rotation-180-4_tiled_dg2_rc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([i915#3689] / [i915#6095])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb2/igt@kms_ccs@pipe-c-crc-primary-rotation-180-4_tiled_dg2_rc_ccs.html

  * igt@kms_ccs@pipe-c-random-ccs-data-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][33] ([fdo#111615] / [i915#3689]) +2 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb7/igt@kms_ccs@pipe-c-random-ccs-data-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][34] ([fdo#109271]) +60 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl8/igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_gen12_mc_ccs.html
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#3689]) +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb5/igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@hdmi-aspect-ratio:
    - shard-apl:          NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl2/igt@kms_chamelium@hdmi-aspect-ratio.html

  * igt@kms_chamelium@vga-hpd:
    - shard-snb:          NOTRUN -> [SKIP][37] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb4/igt@kms_chamelium@vga-hpd.html

  * igt@kms_color_chamelium@ctm-0-75:
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#109284] / [fdo#111827])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb8/igt@kms_color_chamelium@ctm-0-75.html
    - shard-tglb:         NOTRUN -> [SKIP][39] ([fdo#109284] / [fdo#111827])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb1/igt@kms_color_chamelium@ctm-0-75.html

  * igt@kms_content_protection@legacy@pipe-a-dp-1:
    - shard-apl:          NOTRUN -> [TIMEOUT][40] ([i915#7173])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl1/igt@kms_content_protection@legacy@pipe-a-dp-1.html

  * igt@kms_content_protection@uevent:
    - shard-iclb:         NOTRUN -> [SKIP][41] ([i915#7118])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@kms_content_protection@uevent.html
    - shard-tglb:         NOTRUN -> [SKIP][42] ([i915#6944] / [i915#7118])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb7/igt@kms_content_protection@uevent.html

  * igt@kms_content_protection@uevent@pipe-a-dp-1:
    - shard-apl:          NOTRUN -> [FAIL][43] ([i915#1339])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl7/igt@kms_content_protection@uevent@pipe-a-dp-1.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-iclb:         NOTRUN -> [SKIP][44] ([i915#3840])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb8/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-apl:          NOTRUN -> [FAIL][45] ([i915#4767])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl2/igt@kms_fbcon_fbt@fbc.html
    - shard-tglb:         NOTRUN -> [FAIL][46] ([i915#4767])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb3/igt@kms_fbcon_fbt@fbc.html
    - shard-iclb:         NOTRUN -> [FAIL][47] ([i915#4767])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb7/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#109274]) +3 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb8/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@2x-plain-flip:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([fdo#109274] / [fdo#111825] / [i915#3637]) +3 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb3/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][50] ([i915#2587] / [i915#2672]) +1 similar issue
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][51] ([i915#6375])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([i915#3555]) +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][53] ([i915#2672]) +4 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([fdo#109280] / [fdo#111825]) +11 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([i915#6497]) +3 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
    - shard-iclb:         NOTRUN -> [SKIP][56] ([fdo#109280]) +11 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-a-dp-1:
    - shard-apl:          NOTRUN -> [FAIL][57] ([i915#4573])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl2/igt@kms_plane_alpha_blend@alpha-basic@pipe-a-dp-1.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1:
    - shard-apl:          NOTRUN -> [DMESG-FAIL][58] ([IGT#6]) +1 similar issue
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl2/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-iclb:         NOTRUN -> [SKIP][59] ([i915#658])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb7/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
    - shard-apl:          NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#658])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_su@page_flip-p010@pipe-b-edp-1:
    - shard-iclb:         NOTRUN -> [FAIL][61] ([i915#5939]) +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@kms_psr2_su@page_flip-p010@pipe-b-edp-1.html

  * igt@kms_psr@psr2_cursor_plane_move:
    - shard-tglb:         NOTRUN -> [FAIL][62] ([i915#132] / [i915#3467]) +1 similar issue
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb3/igt@kms_psr@psr2_cursor_plane_move.html

  * igt@kms_psr@psr2_sprite_blt:
    - shard-iclb:         NOTRUN -> [SKIP][63] ([fdo#109441]) +1 similar issue
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb6/igt@kms_psr@psr2_sprite_blt.html

  * igt@kms_psr@psr2_sprite_mmap_cpu:
    - shard-iclb:         [PASS][64] -> [SKIP][65] ([fdo#109441])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb6/igt@kms_psr@psr2_sprite_mmap_cpu.html

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-snb:          [PASS][66] -> [INCOMPLETE][67] ([i915#7404])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-snb4/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb7/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html

  * igt@perf_pmu@module-unload:
    - shard-snb:          [PASS][68] -> [DMESG-WARN][69] ([i915#4528])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-snb7/igt@perf_pmu@module-unload.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb7/igt@perf_pmu@module-unload.html

  * igt@sysfs_clients@create:
    - shard-iclb:         NOTRUN -> [SKIP][70] ([i915#2994])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@sysfs_clients@create.html
    - shard-apl:          NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#2994])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl1/igt@sysfs_clients@create.html
    - shard-tglb:         NOTRUN -> [SKIP][72] ([i915#2994])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-tglb6/igt@sysfs_clients@create.html

  
#### Possible fixes ####

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-iclb:         [SKIP][73] ([i915#4525]) -> [PASS][74] +1 similar issue
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb3/igt@gem_exec_balancer@parallel-contexts.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@gem_exec_balancer@parallel-contexts.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-snb:          [DMESG-WARN][75] ([i915#5090]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-snb4/igt@i915_suspend@fence-restore-untiled.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-snb4/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-default-mode:
    - shard-iclb:         [SKIP][77] ([i915#3555]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-default-mode.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-default-mode.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1:
    - shard-iclb:         [SKIP][79] ([i915#5235]) -> [PASS][80] +2 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb2/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb3/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][81] ([fdo#109441]) -> [PASS][82] +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb3/igt@kms_psr@psr2_sprite_plane_move.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@perf_pmu@rc6-suspend:
    - shard-apl:          [DMESG-WARN][83] ([i915#180]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-apl8/igt@perf_pmu@rc6-suspend.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-apl3/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-iclb:         [SKIP][85] ([i915#4525]) -> [FAIL][86] ([i915#6117])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb7/igt@gem_exec_balancer@parallel-ordering.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb1/igt@gem_exec_balancer@parallel-ordering.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
    - shard-iclb:         [SKIP][87] ([i915#2920]) -> [SKIP][88] ([i915#658])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12491/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/shard-iclb5/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html

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

  [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1339]: https://gitlab.freedesktop.org/drm/intel/issues/1339
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3467]: https://gitlab.freedesktop.org/drm/intel/issues/3467
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
  [i915#4409]: https://gitlab.freedesktop.org/drm/intel/issues/4409
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#5090]: https://gitlab.freedesktop.org/drm/intel/issues/5090
  [i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
  [i915#6375]: https://gitlab.freedesktop.org/drm/intel/issues/6375
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
  [i915#7404]: https://gitlab.freedesktop.org/drm/intel/issues/7404
  [i915#7688]: https://gitlab.freedesktop.org/drm/intel/issues/7688


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7090 -> IGTPW_8220
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12491: d322881f7e33af24901ee8ccaec3beef82f21203 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8220: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/index.html
  IGT_7090: 5aafcf060b6dfbb2fa7aace76c8074d98ac7da8f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8220/index.html

[-- Attachment #2: Type: text/html, Size: 30129 bytes --]

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

* Re: [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes
  2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
@ 2022-12-13 12:49   ` Tauro, Riana
  0 siblings, 0 replies; 10+ messages in thread
From: Tauro, Riana @ 2022-12-13 12:49 UTC (permalink / raw)
  To: Ashutosh Dixit, igt-dev, Anshuman Gupta, Badal Nilawar


Hi Ashutosh

On 12/12/2022 11:42 AM, Ashutosh Dixit wrote:
> Ensure we can read all hwmon attributes. For writable attributes, also
> ensure the read value approximately matches the written value, taking the
> clamping of writes into account.
> 
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> ---
>   tests/i915/i915_hwmon.c | 82 +++++++++++++++++++++++++++++++++++++++++
>   tests/meson.build       |  1 +
>   2 files changed, 83 insertions(+)
>   create mode 100644 tests/i915/i915_hwmon.c
> 
> diff --git a/tests/i915/i915_hwmon.c b/tests/i915/i915_hwmon.c
> new file mode 100644
> index 00000000000..a0b2c48a96d
> --- /dev/null
> +++ b/tests/i915/i915_hwmon.c
> @@ -0,0 +1,82 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2021 Intel Corporation
> + */
> +
Year 2022

Thanks
Riana
> +#include <dirent.h>
> +#include <sys/stat.h>
> +#include "igt.h"
> +#include "igt_hwmon.h"
> +#include "igt_sysfs.h"
> +
> +IGT_TEST_DESCRIPTION("Tests for i915 hwmon");
> +
> +static void hwmon_read(int hwm)
> +{
> +	struct dirent *de;
> +	char val[128];
> +	DIR *dir;
> +
> +	dir = fdopendir(dup(hwm));
> +	igt_assert(dir);
> +	rewinddir(dir);
> +
> +	while ((de = readdir(dir))) {
> +		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
> +			continue;
> +
> +		igt_assert(igt_sysfs_scanf(hwm, de->d_name, "%127s", val) == 1);
> +		igt_debug("'%s': %s\n", de->d_name, val);
> +
> +	}
> +	closedir(dir);
> +}
> +
> +static void hwmon_write(int hwm)
> +{
> +	struct dirent *de;
> +	struct stat st;
> +	DIR *dir;
> +
> +	dir = fdopendir(dup(hwm));
> +	igt_assert(dir);
> +	rewinddir(dir);
> +
> +	while ((de = readdir(dir))) {
> +		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
> +			continue;
> +
> +		igt_assert(!fstatat(hwm, de->d_name, &st, 0));
> +		if (!(st.st_mode & 0222))
> +			continue;
> +
> +		igt_sysfs_clamped_attr_verify(hwm, de->d_name);
> +	}
> +	closedir(dir);
> +}
> +
> +igt_main
> +{
> +	int fd, hwm;
> +
> +	igt_fixture {
> +		fd = drm_open_driver_master(DRIVER_INTEL);
> +		hwm = igt_hwmon_open(fd);
> +		igt_require(hwm >= 0);
> +	}
> +
> +	igt_describe("Verify we can read all hwmon attributes");
> +	igt_subtest("hwmon-read") {
> +		hwmon_read(hwm);
> +	}
> +
> +	igt_describe("Verify writable hwmon attributes");
> +	igt_subtest("hwmon-write") {
> +		hwmon_write(hwm);
> +	}
> +
> +	igt_fixture {
> +		close(hwm);
> +		close(fd);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index 619c18b2516..a593055c23a 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -211,6 +211,7 @@ i915_progs = [
>   	'i915_fb_tiling',
>   	'i915_getparams_basic',
>   	'i915_hangman',
> +	'i915_hwmon',
>   	'i915_module_load',
>   	'i915_pciid',
>   	'i915_pipe_stress',

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

* [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes
  2022-12-14  3:09 [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit
@ 2022-12-14  3:09 ` Ashutosh Dixit
  0 siblings, 0 replies; 10+ messages in thread
From: Ashutosh Dixit @ 2022-12-14  3:09 UTC (permalink / raw)
  To: igt-dev; +Cc: Badal Nilawar

Ensure we can read all hwmon attributes. For writable attributes, ensure
the read value approximately matches the written value for a subset of all
possible values.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 tests/i915/i915_hwmon.c | 88 +++++++++++++++++++++++++++++++++++++++++
 tests/meson.build       |  1 +
 2 files changed, 89 insertions(+)
 create mode 100644 tests/i915/i915_hwmon.c

diff --git a/tests/i915/i915_hwmon.c b/tests/i915/i915_hwmon.c
new file mode 100644
index 00000000000..6d9937e99dc
--- /dev/null
+++ b/tests/i915/i915_hwmon.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <sys/stat.h>
+#include "igt.h"
+#include "igt_hwmon.h"
+#include "igt_sysfs.h"
+
+IGT_TEST_DESCRIPTION("Tests for i915 hwmon");
+
+static void hwmon_read(int hwm)
+{
+	struct dirent *de;
+	char val[128];
+	DIR *dir;
+
+	dir = fdopendir(dup(hwm));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
+			continue;
+
+		igt_assert(igt_sysfs_scanf(hwm, de->d_name, "%127s", val) == 1);
+		igt_debug("'%s': %s\n", de->d_name, val);
+
+	}
+	closedir(dir);
+}
+
+static void hwmon_write(int hwm)
+{
+	igt_sysfs_rw_attr_t rw;
+	struct dirent *de;
+	struct stat st;
+	DIR *dir;
+
+	dir = fdopendir(dup(hwm));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	rw.dir = hwm;
+	rw.start = 1;
+	rw.tol = 0.1;
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
+			continue;
+
+		igt_assert(!fstatat(hwm, de->d_name, &st, 0));
+		if (!(st.st_mode & 0222))
+			continue;
+
+		rw.attr = de->d_name;
+		igt_sysfs_rw_attr_verify(&rw);
+	}
+	closedir(dir);
+}
+
+igt_main
+{
+	int fd, hwm;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_INTEL);
+		hwm = igt_hwmon_open(fd);
+		igt_require(hwm >= 0);
+	}
+
+	igt_describe("Verify we can read all hwmon attributes");
+	igt_subtest("hwmon-read") {
+		hwmon_read(hwm);
+	}
+
+	igt_describe("Verify writable hwmon attributes");
+	igt_subtest("hwmon-write") {
+		hwmon_write(hwm);
+	}
+
+	igt_fixture {
+		close(hwm);
+		close(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 619c18b2516..a593055c23a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -211,6 +211,7 @@ i915_progs = [
 	'i915_fb_tiling',
 	'i915_getparams_basic',
 	'i915_hangman',
+	'i915_hwmon',
 	'i915_module_load',
 	'i915_pciid',
 	'i915_pipe_stress',
-- 
2.38.0

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

* [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes
  2022-12-15  2:31 [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit
@ 2022-12-15  2:31 ` Ashutosh Dixit
  2022-12-15  5:30   ` Tauro, Riana
  0 siblings, 1 reply; 10+ messages in thread
From: Ashutosh Dixit @ 2022-12-15  2:31 UTC (permalink / raw)
  To: igt-dev; +Cc: Badal Nilawar

Ensure we can read all hwmon attributes. For writable attributes, ensure
the read value approximately matches the written value for a subset of all
possible values.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 tests/i915/i915_hwmon.c | 88 +++++++++++++++++++++++++++++++++++++++++
 tests/meson.build       |  1 +
 2 files changed, 89 insertions(+)
 create mode 100644 tests/i915/i915_hwmon.c

diff --git a/tests/i915/i915_hwmon.c b/tests/i915/i915_hwmon.c
new file mode 100644
index 00000000000..6d9937e99dc
--- /dev/null
+++ b/tests/i915/i915_hwmon.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <sys/stat.h>
+#include "igt.h"
+#include "igt_hwmon.h"
+#include "igt_sysfs.h"
+
+IGT_TEST_DESCRIPTION("Tests for i915 hwmon");
+
+static void hwmon_read(int hwm)
+{
+	struct dirent *de;
+	char val[128];
+	DIR *dir;
+
+	dir = fdopendir(dup(hwm));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
+			continue;
+
+		igt_assert(igt_sysfs_scanf(hwm, de->d_name, "%127s", val) == 1);
+		igt_debug("'%s': %s\n", de->d_name, val);
+
+	}
+	closedir(dir);
+}
+
+static void hwmon_write(int hwm)
+{
+	igt_sysfs_rw_attr_t rw;
+	struct dirent *de;
+	struct stat st;
+	DIR *dir;
+
+	dir = fdopendir(dup(hwm));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	rw.dir = hwm;
+	rw.start = 1;
+	rw.tol = 0.1;
+
+	while ((de = readdir(dir))) {
+		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
+			continue;
+
+		igt_assert(!fstatat(hwm, de->d_name, &st, 0));
+		if (!(st.st_mode & 0222))
+			continue;
+
+		rw.attr = de->d_name;
+		igt_sysfs_rw_attr_verify(&rw);
+	}
+	closedir(dir);
+}
+
+igt_main
+{
+	int fd, hwm;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_INTEL);
+		hwm = igt_hwmon_open(fd);
+		igt_require(hwm >= 0);
+	}
+
+	igt_describe("Verify we can read all hwmon attributes");
+	igt_subtest("hwmon-read") {
+		hwmon_read(hwm);
+	}
+
+	igt_describe("Verify writable hwmon attributes");
+	igt_subtest("hwmon-write") {
+		hwmon_write(hwm);
+	}
+
+	igt_fixture {
+		close(hwm);
+		close(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 619c18b2516..a593055c23a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -211,6 +211,7 @@ i915_progs = [
 	'i915_fb_tiling',
 	'i915_getparams_basic',
 	'i915_hangman',
+	'i915_hwmon',
 	'i915_module_load',
 	'i915_pciid',
 	'i915_pipe_stress',
-- 
2.38.0

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

* Re: [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes
  2022-12-15  2:31 ` [igt-dev] [PATCH i-g-t 2/3] " Ashutosh Dixit
@ 2022-12-15  5:30   ` Tauro, Riana
  0 siblings, 0 replies; 10+ messages in thread
From: Tauro, Riana @ 2022-12-15  5:30 UTC (permalink / raw)
  To: Ashutosh Dixit, igt-dev, Badal Nilawar



On 12/15/2022 8:01 AM, Ashutosh Dixit wrote:
> Ensure we can read all hwmon attributes. For writable attributes, ensure
> the read value approximately matches the written value for a subset of all
> possible values.
> 
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Looks good to me
Reviewed-by: Riana Tauro <riana.tauro@intel.com>
> ---
>   tests/i915/i915_hwmon.c | 88 +++++++++++++++++++++++++++++++++++++++++
>   tests/meson.build       |  1 +
>   2 files changed, 89 insertions(+)
>   create mode 100644 tests/i915/i915_hwmon.c
> 
> diff --git a/tests/i915/i915_hwmon.c b/tests/i915/i915_hwmon.c
> new file mode 100644
> index 00000000000..6d9937e99dc
> --- /dev/null
> +++ b/tests/i915/i915_hwmon.c
> @@ -0,0 +1,88 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#include <dirent.h>
> +#include <sys/stat.h>
> +#include "igt.h"
> +#include "igt_hwmon.h"
> +#include "igt_sysfs.h"
> +
> +IGT_TEST_DESCRIPTION("Tests for i915 hwmon");
> +
> +static void hwmon_read(int hwm)
> +{
> +	struct dirent *de;
> +	char val[128];
> +	DIR *dir;
> +
> +	dir = fdopendir(dup(hwm));
> +	igt_assert(dir);
> +	rewinddir(dir);
> +
> +	while ((de = readdir(dir))) {
> +		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
> +			continue;
> +
> +		igt_assert(igt_sysfs_scanf(hwm, de->d_name, "%127s", val) == 1);
> +		igt_debug("'%s': %s\n", de->d_name, val);
> +
> +	}
> +	closedir(dir);
> +}
> +
> +static void hwmon_write(int hwm)
> +{
> +	igt_sysfs_rw_attr_t rw;
> +	struct dirent *de;
> +	struct stat st;
> +	DIR *dir;
> +
> +	dir = fdopendir(dup(hwm));
> +	igt_assert(dir);
> +	rewinddir(dir);
> +
> +	rw.dir = hwm;
> +	rw.start = 1;
> +	rw.tol = 0.1;
> +
> +	while ((de = readdir(dir))) {
> +		if (de->d_type != DT_REG || !strcmp(de->d_name, "uevent"))
> +			continue;
> +
> +		igt_assert(!fstatat(hwm, de->d_name, &st, 0));
> +		if (!(st.st_mode & 0222))
> +			continue;
> +
> +		rw.attr = de->d_name;
> +		igt_sysfs_rw_attr_verify(&rw);
> +	}
> +	closedir(dir);
> +}
> +
> +igt_main
> +{
> +	int fd, hwm;
> +
> +	igt_fixture {
> +		fd = drm_open_driver_master(DRIVER_INTEL);
> +		hwm = igt_hwmon_open(fd);
> +		igt_require(hwm >= 0);
> +	}
> +
> +	igt_describe("Verify we can read all hwmon attributes");
> +	igt_subtest("hwmon-read") {
> +		hwmon_read(hwm);
> +	}
> +
> +	igt_describe("Verify writable hwmon attributes");
> +	igt_subtest("hwmon-write") {
> +		hwmon_write(hwm);
> +	}
> +
> +	igt_fixture {
> +		close(hwm);
> +		close(fd);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index 619c18b2516..a593055c23a 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -211,6 +211,7 @@ i915_progs = [
>   	'i915_fb_tiling',
>   	'i915_getparams_basic',
>   	'i915_hangman',
> +	'i915_hwmon',
>   	'i915_module_load',
>   	'i915_pciid',
>   	'i915_pipe_stress',

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

end of thread, other threads:[~2022-12-15  5:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-12  6:12 [igt-dev] [PATCH i-g-t 0/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 1/3] lib/igt_sysfs: Generic verification of clamped sysfs attributes Ashutosh Dixit
2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 2/3] i915/i915_hwmon: General verification of hwmon attributes Ashutosh Dixit
2022-12-13 12:49   ` Tauro, Riana
2022-12-12  6:12 ` [igt-dev] [PATCH i-g-t 3/3] HAX: Add i915_hwmon* to fast-feedback.testlist Ashutosh Dixit
2022-12-12  7:02 ` [igt-dev] ✓ Fi.CI.BAT: success for i915/i915_hwmon: General verification of hwmon attributes Patchwork
2022-12-12  8:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2022-12-14  3:09 [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit
2022-12-14  3:09 ` [igt-dev] [PATCH i-g-t 2/3] " Ashutosh Dixit
2022-12-15  2:31 [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit
2022-12-15  2:31 ` [igt-dev] [PATCH i-g-t 2/3] " Ashutosh Dixit
2022-12-15  5:30   ` Tauro, Riana

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