All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references
@ 2025-09-01  8:57 Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper Zihuan Zhang
                   ` (13 more replies)
  0 siblings, 14 replies; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

This patchset converts all remaining cpufreq users to rely on the
__free(put_cpufreq_policy) annotation for policy references, instead of
calling cpufreq_cpu_put() manually.

Motivation:
- Reduce the chance of reference counting mistakes
- Make the code more consistent with the latest kernel style
- behavior remains the same, but reference counting is now safer 
  and easier to maintain.

The changes are split into 12 patches as they touch different subsystems
and are maintained by different people. There is no functional change.

V3:
 - drop patch 'KVM: x86: Use __free(put_cpufreq_policy) for policy reference'
 - removed 5 patches which has been applied
 - Consolidate CPUFreq policy assignments and allocations into one line,
   suggested by Ben Horgan
 - Change cpu_has_cpufreq() return type to bool, following Rafael's suggestion
 - Change the title to 'Use scope-based cleanup helper'

V2:
 - Fix compile error in powernv-cpufreq.c
 - Split patch to separate logical changes

Zihuan Zhang (12):
  arm64: topology: Use scope-based cleanup helper
  ACPI: processor: thermal: Use scope-based cleanup helper
  cpufreq: intel_pstate: Use scope-based cleanup helper
  cpufreq: longhaul: Use scope-based cleanup helper
  cpufreq: powernv: Use scope-based cleanup helper
  PM / devfreq: Use scope-based cleanup helper
  drm/i915: Use scope-based cleanup helper
  cpufreq: powerpc: macintosh: Use scope-based cleanup helper
  powercap: dtpm_cpu: Use scope-based cleanup helper
  thermal: imx: Use scope-based cleanup helper
  thermal/drivers/ti-soc-thermal: Use scope-based cleanup helper
  PM: EM: Use scope-based cleanup helper

 arch/arm64/kernel/topology.c                  |  9 +++----
 drivers/acpi/processor_thermal.c              | 18 +++++--------
 drivers/cpufreq/intel_pstate.c                |  8 +++---
 drivers/cpufreq/longhaul.c                    |  3 +--
 drivers/cpufreq/powernv-cpufreq.c             | 11 ++++----
 drivers/devfreq/governor_passive.c            | 25 +++++++-----------
 drivers/gpu/drm/i915/gt/intel_llc.c           |  4 +--
 drivers/macintosh/windfarm_cpufreq_clamp.c    |  5 +---
 drivers/powercap/dtpm_cpu.c                   | 26 +++++--------------
 drivers/thermal/imx_thermal.c                 | 12 +++------
 .../ti-soc-thermal/ti-thermal-common.c        | 11 +++-----
 kernel/power/energy_model.c                   |  9 +++----
 12 files changed, 46 insertions(+), 95 deletions(-)

-- 
2.25.1


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

* [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-02  5:26   ` kernel test robot
  2025-09-01  8:57 ` [PATCH v3 02/12] ACPI: processor: thermal: " Zihuan Zhang
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 arch/arm64/kernel/topology.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 5d07ee85bdae..fa0980968f45 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -307,17 +307,16 @@ int arch_freq_get_on_cpu(int cpu)
 		 */
 		if (!housekeeping_cpu(cpu, HK_TYPE_TICK) ||
 		    time_is_before_jiffies(last_update + msecs_to_jiffies(AMU_SAMPLE_EXP_MS))) {
-			struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
+			struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+				cpufreq_cpu_get(info->opp_cpu);
 			int ref_cpu;
 
 			if (!policy)
 				return -EINVAL;
 
 			if (!cpumask_intersects(policy->related_cpus,
-						housekeeping_cpumask(HK_TYPE_TICK))) {
-				cpufreq_cpu_put(policy);
+						housekeeping_cpumask(HK_TYPE_TICK)))
 				return -EOPNOTSUPP;
-			}
 
 			for_each_cpu_wrap(ref_cpu, policy->cpus, cpu + 1) {
 				if (ref_cpu == start_cpu) {
@@ -329,8 +328,6 @@ int arch_freq_get_on_cpu(int cpu)
 					break;
 			}
 
-			cpufreq_cpu_put(policy);
-
 			if (ref_cpu >= nr_cpu_ids)
 				/* No alternative to pull info from */
 				return -EAGAIN;
-- 
2.25.1


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

* [PATCH v3 02/12] ACPI: processor: thermal: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-03 11:07   ` Rafael J. Wysocki
  2025-09-01  8:57 ` [PATCH v3 03/12] cpufreq: intel_pstate: " Zihuan Zhang
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/acpi/processor_thermal.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
index 1219adb11ab9..3c8b57df9619 100644
--- a/drivers/acpi/processor_thermal.c
+++ b/drivers/acpi/processor_thermal.c
@@ -62,19 +62,14 @@ static int phys_package_first_cpu(int cpu)
 	return 0;
 }
 
-static int cpu_has_cpufreq(unsigned int cpu)
+static bool cpu_has_cpufreq(unsigned int cpu)
 {
-	struct cpufreq_policy *policy;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);
 
 	if (!acpi_processor_cpufreq_init)
 		return 0;
 
-	policy = cpufreq_cpu_get(cpu);
-	if (policy) {
-		cpufreq_cpu_put(policy);
-		return 1;
-	}
-	return 0;
+	return !!policy;
 }
 
 static int cpufreq_get_max_state(unsigned int cpu)
@@ -95,7 +90,6 @@ static int cpufreq_get_cur_state(unsigned int cpu)
 
 static int cpufreq_set_cur_state(unsigned int cpu, int state)
 {
-	struct cpufreq_policy *policy;
 	struct acpi_processor *pr;
 	unsigned long max_freq;
 	int i, ret;
@@ -111,6 +105,9 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state)
 	 * frequency.
 	 */
 	for_each_online_cpu(i) {
+		struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(i);
+
 		if (topology_physical_package_id(i) !=
 		    topology_physical_package_id(cpu))
 			continue;
@@ -120,15 +117,12 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state)
 		if (unlikely(!freq_qos_request_active(&pr->thermal_req)))
 			continue;
 
-		policy = cpufreq_cpu_get(i);
 		if (!policy)
 			return -EINVAL;
 
 		max_freq = (policy->cpuinfo.max_freq *
 			    (100 - reduction_step(i) * cpufreq_thermal_reduction_pctg)) / 100;
 
-		cpufreq_cpu_put(policy);
-
 		ret = freq_qos_update_request(&pr->thermal_req, max_freq);
 		if (ret < 0) {
 			pr_warn("Failed to update thermal freq constraint: CPU%d (%d)\n",
-- 
2.25.1


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

* [PATCH v3 03/12] cpufreq: intel_pstate: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 02/12] ACPI: processor: thermal: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-01 15:17   ` Rafael J. Wysocki
  2025-09-01  8:57 ` [PATCH v3 04/12] cpufreq: longhaul: " Zihuan Zhang
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/cpufreq/intel_pstate.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index f366d35c5840..4abc1ef2d2b0 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -1502,9 +1502,8 @@ static void __intel_pstate_update_max_freq(struct cpufreq_policy *policy,
 
 static bool intel_pstate_update_max_freq(struct cpudata *cpudata)
 {
-	struct cpufreq_policy *policy __free(put_cpufreq_policy);
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
 
-	policy = cpufreq_cpu_get(cpudata->cpu);
 	if (!policy)
 		return false;
 
@@ -1698,19 +1697,18 @@ static ssize_t store_no_turbo(struct kobject *a, struct kobj_attribute *b,
 static void update_qos_request(enum freq_qos_req_type type)
 {
 	struct freq_qos_request *req;
-	struct cpufreq_policy *policy;
 	int i;
 
 	for_each_possible_cpu(i) {
 		struct cpudata *cpu = all_cpu_data[i];
 		unsigned int freq, perf_pct;
+		struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(i);
 
-		policy = cpufreq_cpu_get(i);
 		if (!policy)
 			continue;
 
 		req = policy->driver_data;
-		cpufreq_cpu_put(policy);
 
 		if (!req)
 			continue;
-- 
2.25.1


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

* [PATCH v3 04/12] cpufreq: longhaul: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (2 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 03/12] cpufreq: intel_pstate: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-02 15:58   ` Krzysztof Kozlowski
  2025-09-01  8:57 ` [PATCH v3 05/12] cpufreq: powernv: " Zihuan Zhang
                   ` (9 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/cpufreq/longhaul.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/cpufreq/longhaul.c b/drivers/cpufreq/longhaul.c
index ba0e08c8486a..ae5596919671 100644
--- a/drivers/cpufreq/longhaul.c
+++ b/drivers/cpufreq/longhaul.c
@@ -950,7 +950,7 @@ static int __init longhaul_init(void)
 
 static void __exit longhaul_exit(void)
 {
-	struct cpufreq_policy *policy = cpufreq_cpu_get(0);
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
 	int i;
 
 	for (i = 0; i < numscales; i++) {
@@ -968,7 +968,6 @@ static void __exit longhaul_exit(void)
 		}
 	}
 
-	cpufreq_cpu_put(policy);
 	cpufreq_unregister_driver(&longhaul_driver);
 	kfree(longhaul_table);
 }
-- 
2.25.1


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

* [PATCH v3 05/12] cpufreq: powernv: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (3 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 04/12] cpufreq: longhaul: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 06/12] PM / devfreq: " Zihuan Zhang
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/cpufreq/powernv-cpufreq.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 7d9a5f656de8..811fdbf398fa 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -892,15 +892,15 @@ static int powernv_cpufreq_reboot_notifier(struct notifier_block *nb,
 				unsigned long action, void *unused)
 {
 	int cpu;
-	struct cpufreq_policy *cpu_policy;
 
 	rebooting = true;
 	for_each_online_cpu(cpu) {
-		cpu_policy = cpufreq_cpu_get(cpu);
+		struct cpufreq_policy *cpu_policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(cpu);
+
 		if (!cpu_policy)
 			continue;
 		powernv_cpufreq_target_index(cpu_policy, get_nominal_index());
-		cpufreq_cpu_put(cpu_policy);
 	}
 
 	return NOTIFY_DONE;
@@ -913,7 +913,6 @@ static struct notifier_block powernv_cpufreq_reboot_nb = {
 static void powernv_cpufreq_work_fn(struct work_struct *work)
 {
 	struct chip *chip = container_of(work, struct chip, throttle);
-	struct cpufreq_policy *policy;
 	unsigned int cpu;
 	cpumask_t mask;
 
@@ -928,14 +927,14 @@ static void powernv_cpufreq_work_fn(struct work_struct *work)
 	chip->restore = false;
 	for_each_cpu(cpu, &mask) {
 		int index;
+		struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(cpu);
 
-		policy = cpufreq_cpu_get(cpu);
 		if (!policy)
 			continue;
 		index = cpufreq_table_find_index_c(policy, policy->cur, false);
 		powernv_cpufreq_target_index(policy, index);
 		cpumask_andnot(&mask, &mask, policy->cpus);
-		cpufreq_cpu_put(policy);
 	}
 out:
 	cpus_read_unlock();
-- 
2.25.1


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

* [PATCH v3 06/12] PM / devfreq: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (4 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 05/12] cpufreq: powernv: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 07/12] drm/i915: " Zihuan Zhang
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/devfreq/governor_passive.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/drivers/devfreq/governor_passive.c b/drivers/devfreq/governor_passive.c
index 953cf9a1e9f7..a035cf44bdb8 100644
--- a/drivers/devfreq/governor_passive.c
+++ b/drivers/devfreq/governor_passive.c
@@ -80,24 +80,23 @@ static int get_target_freq_with_cpufreq(struct devfreq *devfreq,
 	struct devfreq_passive_data *p_data =
 				(struct devfreq_passive_data *)devfreq->data;
 	struct devfreq_cpu_data *parent_cpu_data;
-	struct cpufreq_policy *policy;
 	unsigned long cpu, cpu_cur, cpu_min, cpu_max, cpu_percent;
 	unsigned long dev_min, dev_max;
 	unsigned long freq = 0;
 	int ret = 0;
 
 	for_each_online_cpu(cpu) {
-		policy = cpufreq_cpu_get(cpu);
+		struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(cpu);
+
 		if (!policy) {
 			ret = -EINVAL;
 			continue;
 		}
 
 		parent_cpu_data = get_parent_cpu_data(p_data, policy);
-		if (!parent_cpu_data) {
-			cpufreq_cpu_put(policy);
+		if (!parent_cpu_data)
 			continue;
-		}
 
 		/* Get target freq via required opps */
 		cpu_cur = parent_cpu_data->cur_freq * HZ_PER_KHZ;
@@ -106,7 +105,6 @@ static int get_target_freq_with_cpufreq(struct devfreq *devfreq,
 					devfreq->opp_table, &cpu_cur);
 		if (freq) {
 			*target_freq = max(freq, *target_freq);
-			cpufreq_cpu_put(policy);
 			continue;
 		}
 
@@ -121,7 +119,6 @@ static int get_target_freq_with_cpufreq(struct devfreq *devfreq,
 		freq = dev_min + mult_frac(dev_max - dev_min, cpu_percent, 100);
 
 		*target_freq = max(freq, *target_freq);
-		cpufreq_cpu_put(policy);
 	}
 
 	return ret;
@@ -256,7 +253,6 @@ static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
 	struct device *dev = devfreq->dev.parent;
 	struct opp_table *opp_table = NULL;
 	struct devfreq_cpu_data *parent_cpu_data;
-	struct cpufreq_policy *policy;
 	struct device *cpu_dev;
 	unsigned int cpu;
 	int ret;
@@ -273,23 +269,23 @@ static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
 	}
 
 	for_each_possible_cpu(cpu) {
-		policy = cpufreq_cpu_get(cpu);
+		struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(cpu);
+
 		if (!policy) {
 			ret = -EPROBE_DEFER;
 			goto err;
 		}
 
 		parent_cpu_data = get_parent_cpu_data(p_data, policy);
-		if (parent_cpu_data) {
-			cpufreq_cpu_put(policy);
+		if (parent_cpu_data)
 			continue;
-		}
 
 		parent_cpu_data = kzalloc(sizeof(*parent_cpu_data),
 						GFP_KERNEL);
 		if (!parent_cpu_data) {
 			ret = -ENOMEM;
-			goto err_put_policy;
+			goto err;
 		}
 
 		cpu_dev = get_cpu_device(cpu);
@@ -314,7 +310,6 @@ static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
 		parent_cpu_data->max_freq = policy->cpuinfo.max_freq;
 
 		list_add_tail(&parent_cpu_data->node, &p_data->cpu_data_list);
-		cpufreq_cpu_put(policy);
 	}
 
 	mutex_lock(&devfreq->lock);
@@ -327,8 +322,6 @@ static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
 
 err_free_cpu_data:
 	kfree(parent_cpu_data);
-err_put_policy:
-	cpufreq_cpu_put(policy);
 err:
 
 	return ret;
-- 
2.25.1


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

* [PATCH v3 07/12] drm/i915: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (5 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 06/12] PM / devfreq: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-01  8:57 ` [PATCH v3 08/12] cpufreq: powerpc: macintosh: " Zihuan Zhang
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/gpu/drm/i915/gt/intel_llc.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_llc.c b/drivers/gpu/drm/i915/gt/intel_llc.c
index 1d19c073ba2e..f15e4c0fa54b 100644
--- a/drivers/gpu/drm/i915/gt/intel_llc.c
+++ b/drivers/gpu/drm/i915/gt/intel_llc.c
@@ -29,13 +29,11 @@ static struct intel_gt *llc_to_gt(struct intel_llc *llc)
 
 static unsigned int cpu_max_MHz(void)
 {
-	struct cpufreq_policy *policy;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
 	unsigned int max_khz;
 
-	policy = cpufreq_cpu_get(0);
 	if (policy) {
 		max_khz = policy->cpuinfo.max_freq;
-		cpufreq_cpu_put(policy);
 	} else {
 		/*
 		 * Default to measured freq if none found, PCU will ensure we
-- 
2.25.1


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

* [PATCH v3 08/12] cpufreq: powerpc: macintosh: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (6 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 07/12] drm/i915: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-02 15:59   ` Krzysztof Kozlowski
  2025-09-01  8:57 ` [PATCH v3 09/12] powercap: dtpm_cpu: " Zihuan Zhang
                   ` (5 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/macintosh/windfarm_cpufreq_clamp.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/macintosh/windfarm_cpufreq_clamp.c b/drivers/macintosh/windfarm_cpufreq_clamp.c
index 28d18ef22bbb..08558756990b 100644
--- a/drivers/macintosh/windfarm_cpufreq_clamp.c
+++ b/drivers/macintosh/windfarm_cpufreq_clamp.c
@@ -62,12 +62,11 @@ static const struct wf_control_ops clamp_ops = {
 
 static int __init wf_cpufreq_clamp_init(void)
 {
-	struct cpufreq_policy *policy;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
 	struct wf_control *clamp;
 	struct device *dev;
 	int ret;
 
-	policy = cpufreq_cpu_get(0);
 	if (!policy) {
 		pr_warn("%s: cpufreq policy not found cpu0\n", __func__);
 		return -EPROBE_DEFER;
@@ -79,8 +78,6 @@ static int __init wf_cpufreq_clamp_init(void)
 	ret = freq_qos_add_request(&policy->constraints, &qos_req, FREQ_QOS_MAX,
 				   max_freq);
 
-	cpufreq_cpu_put(policy);
-
 	if (ret < 0) {
 		pr_err("%s: Failed to add freq constraint (%d)\n", __func__,
 		       ret);
-- 
2.25.1


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

* [PATCH v3 09/12] powercap: dtpm_cpu: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (7 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 08/12] cpufreq: powerpc: macintosh: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-03 11:43   ` Rafael J. Wysocki
  2025-09-01  8:57 ` [PATCH v3 10/12] thermal: imx: " Zihuan Zhang
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/powercap/dtpm_cpu.c | 26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)

diff --git a/drivers/powercap/dtpm_cpu.c b/drivers/powercap/dtpm_cpu.c
index 99390ec1481f..5e18438782f8 100644
--- a/drivers/powercap/dtpm_cpu.c
+++ b/drivers/powercap/dtpm_cpu.c
@@ -144,19 +144,15 @@ static int update_pd_power_uw(struct dtpm *dtpm)
 static void pd_release(struct dtpm *dtpm)
 {
 	struct dtpm_cpu *dtpm_cpu = to_dtpm_cpu(dtpm);
-	struct cpufreq_policy *policy;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(dtpm_cpu->cpu);
 
 	if (freq_qos_request_active(&dtpm_cpu->qos_req))
 		freq_qos_remove_request(&dtpm_cpu->qos_req);
 
-	policy = cpufreq_cpu_get(dtpm_cpu->cpu);
-	if (policy) {
+	if (policy)
 		for_each_cpu(dtpm_cpu->cpu, policy->related_cpus)
 			per_cpu(dtpm_per_cpu, dtpm_cpu->cpu) = NULL;
 
-		cpufreq_cpu_put(policy);
-	}
-
 	kfree(dtpm_cpu);
 }
 
@@ -192,7 +188,7 @@ static int cpuhp_dtpm_cpu_online(unsigned int cpu)
 static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
 {
 	struct dtpm_cpu *dtpm_cpu;
-	struct cpufreq_policy *policy;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);
 	struct em_perf_state *table;
 	struct em_perf_domain *pd;
 	char name[CPUFREQ_NAME_LEN];
@@ -202,21 +198,16 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
 	if (dtpm_cpu)
 		return 0;
 
-	policy = cpufreq_cpu_get(cpu);
 	if (!policy)
 		return 0;
 
 	pd = em_cpu_get(cpu);
-	if (!pd || em_is_artificial(pd)) {
-		ret = -EINVAL;
-		goto release_policy;
-	}
+	if (!pd || em_is_artificial(pd))
+		return -EINVAL;
 
 	dtpm_cpu = kzalloc(sizeof(*dtpm_cpu), GFP_KERNEL);
-	if (!dtpm_cpu) {
-		ret = -ENOMEM;
-		goto release_policy;
-	}
+	if (!dtpm_cpu)
+		return -ENOMEM;
 
 	dtpm_init(&dtpm_cpu->dtpm, &dtpm_ops);
 	dtpm_cpu->cpu = cpu;
@@ -239,7 +230,6 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
 	if (ret < 0)
 		goto out_dtpm_unregister;
 
-	cpufreq_cpu_put(policy);
 	return 0;
 
 out_dtpm_unregister:
@@ -251,8 +241,6 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
 		per_cpu(dtpm_per_cpu, cpu) = NULL;
 	kfree(dtpm_cpu);
 
-release_policy:
-	cpufreq_cpu_put(policy);
 	return ret;
 }
 
-- 
2.25.1


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

* [PATCH v3 10/12] thermal: imx: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (8 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 09/12] powercap: dtpm_cpu: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-02  6:30   ` kernel test robot
  2025-09-01  8:57 ` [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: " Zihuan Zhang
                   ` (3 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/thermal/imx_thermal.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
index 38c993d1bcb3..8d5fd5ca39da 100644
--- a/drivers/thermal/imx_thermal.c
+++ b/drivers/thermal/imx_thermal.c
@@ -201,7 +201,6 @@ static struct thermal_soc_data thermal_imx7d_data = {
 
 struct imx_thermal_data {
 	struct device *dev;
-	struct cpufreq_policy *policy;
 	struct thermal_zone_device *tz;
 	struct thermal_cooling_device *cdev;
 	struct regmap *tempmon;
@@ -541,22 +540,20 @@ MODULE_DEVICE_TABLE(of, of_imx_thermal_match);
 static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
 {
 	struct device_node *np;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
 	int ret = 0;
 
-	data->policy = cpufreq_cpu_get(0);
-	if (!data->policy) {
+	if (!policy) {
 		pr_debug("%s: CPUFreq policy not found\n", __func__);
 		return -EPROBE_DEFER;
 	}
 
-	np = of_get_cpu_node(data->policy->cpu, NULL);
+	np = of_get_cpu_node(policy->cpu, NULL);
 
 	if (!np || !of_property_present(np, "#cooling-cells")) {
 		data->cdev = cpufreq_cooling_register(data->policy);
-		if (IS_ERR(data->cdev)) {
+		if (IS_ERR(data->cdev))
 			ret = PTR_ERR(data->cdev);
-			cpufreq_cpu_put(data->policy);
-		}
 	}
 
 	of_node_put(np);
@@ -567,7 +564,6 @@ static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
 static void imx_thermal_unregister_legacy_cooling(struct imx_thermal_data *data)
 {
 	cpufreq_cooling_unregister(data->cdev);
-	cpufreq_cpu_put(data->policy);
 }
 
 #else
-- 
2.25.1


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

* [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (9 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 10/12] thermal: imx: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-02  6:19   ` kernel test robot
  2025-09-01  8:57 ` [PATCH v3 12/12] PM: EM: " Zihuan Zhang
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
index 0cf0826b805a..daea718291a6 100644
--- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
@@ -27,7 +27,6 @@
 
 /* common data structures */
 struct ti_thermal_data {
-	struct cpufreq_policy *policy;
 	struct thermal_zone_device *ti_thermal;
 	struct thermal_zone_device *pcb_tz;
 	struct thermal_cooling_device *cool_dev;
@@ -218,6 +217,7 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
 {
 	struct ti_thermal_data *data;
 	struct device_node *np = bgp->dev->of_node;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
 
 	/*
 	 * We are assuming here that if one deploys the zone
@@ -234,8 +234,7 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
 	if (!data)
 		return -EINVAL;
 
-	data->policy = cpufreq_cpu_get(0);
-	if (!data->policy) {
+	if (!policy) {
 		pr_debug("%s: CPUFreq policy not found\n", __func__);
 		return -EPROBE_DEFER;
 	}
@@ -246,7 +245,6 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
 		int ret = PTR_ERR(data->cool_dev);
 		dev_err(bgp->dev, "Failed to register cpu cooling device %d\n",
 			ret);
-		cpufreq_cpu_put(data->policy);
 
 		return ret;
 	}
@@ -261,11 +259,8 @@ int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)
 
 	data = ti_bandgap_get_sensor_data(bgp, id);
 
-	if (!IS_ERR_OR_NULL(data)) {
+	if (!IS_ERR_OR_NULL(data))
 		cpufreq_cooling_unregister(data->cool_dev);
-		if (data->policy)
-			cpufreq_cpu_put(data->policy);
-	}
 
 	return 0;
 }
-- 
2.25.1


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

* [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (10 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: " Zihuan Zhang
@ 2025-09-01  8:57 ` Zihuan Zhang
  2025-09-02 15:57   ` Krzysztof Kozlowski
  2025-09-02 16:44 ` ✓ i915.CI.BAT: success for cpufreq: use __free() for all cpufreq_cpu_get() references (rev3) Patchwork
  2025-09-03  0:41 ` ✗ i915.CI.Full: failure " Patchwork
  13 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-01  8:57 UTC (permalink / raw)
  To: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel, Zihuan Zhang

Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
annotation for policy references. This reduces the risk of reference
counting mistakes and aligns the code with the latest kernel style.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 kernel/power/energy_model.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c
index ea7995a25780..852d48039ce2 100644
--- a/kernel/power/energy_model.c
+++ b/kernel/power/energy_model.c
@@ -451,7 +451,7 @@ static void
 em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table)
 {
 	struct em_perf_domain *pd = dev->em_pd;
-	struct cpufreq_policy *policy;
+	struct cpufreq_policy *policy __free(put_cpufreq_policy);
 	int found = 0;
 	int i, cpu;
 
@@ -479,8 +479,6 @@ em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table)
 			found++;
 	}
 
-	cpufreq_cpu_put(policy);
-
 	if (!found)
 		return;
 
@@ -787,21 +785,20 @@ static void em_check_capacity_update(void)
 
 	/* Check if CPUs capacity has changed than update EM */
 	for_each_possible_cpu(cpu) {
-		struct cpufreq_policy *policy;
+		struct cpufreq_policy *policy __free(put_cpufreq_policy) =
+			cpufreq_cpu_get(cpu);
 		struct em_perf_domain *pd;
 		struct device *dev;
 
 		if (cpumask_test_cpu(cpu, cpu_done_mask))
 			continue;
 
-		policy = cpufreq_cpu_get(cpu);
 		if (!policy) {
 			pr_debug("Accessing cpu%d policy failed\n", cpu);
 			schedule_delayed_work(&em_update_work,
 					      msecs_to_jiffies(1000));
 			break;
 		}
-		cpufreq_cpu_put(policy);
 
 		dev = get_cpu_device(cpu);
 		pd = em_pd_get(dev);
-- 
2.25.1


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

* Re: [PATCH v3 03/12] cpufreq: intel_pstate: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 03/12] cpufreq: intel_pstate: " Zihuan Zhang
@ 2025-09-01 15:17   ` Rafael J. Wysocki
  2025-09-02 10:32     ` Zihuan Zhang
  0 siblings, 1 reply; 33+ messages in thread
From: Rafael J. Wysocki @ 2025-09-01 15:17 UTC (permalink / raw)
  To: Zihuan Zhang
  Cc: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy, Ben Horgan, zhenglifeng, Zhang Rui,
	Len Brown, Lukasz Luba, Pengutronix Kernel Team, Beata Michalska,
	Fabio Estevam, Pavel Machek, Sumit Gupta, Prasanna Kumar T S M,
	Sudeep Holla, Yicong Yang, linux-pm, linux-acpi, linuxppc-dev,
	linux-arm-kernel, intel-gfx, dri-devel, imx, linux-omap,
	linux-kernel

On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>
> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
> annotation for policy references. This reduces the risk of reference
> counting mistakes and aligns the code with the latest kernel style.
>
> No functional change intended.
>
> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> ---
>  drivers/cpufreq/intel_pstate.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index f366d35c5840..4abc1ef2d2b0 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -1502,9 +1502,8 @@ static void __intel_pstate_update_max_freq(struct cpufreq_policy *policy,
>
>  static bool intel_pstate_update_max_freq(struct cpudata *cpudata)
>  {
> -       struct cpufreq_policy *policy __free(put_cpufreq_policy);
> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
>
> -       policy = cpufreq_cpu_get(cpudata->cpu);
>         if (!policy)
>                 return false;

The structure of the code is intentional here and there's no reason to
change it.

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

* Re: [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper Zihuan Zhang
@ 2025-09-02  5:26   ` kernel test robot
  0 siblings, 0 replies; 33+ messages in thread
From: kernel test robot @ 2025-09-02  5:26 UTC (permalink / raw)
  To: Zihuan Zhang, Rafael J . wysocki, Viresh Kumar, Catalin Marinas,
	Will Deacon, Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: oe-kbuild-all, Ben Horgan, zhenglifeng, Zhang Rui, Len Brown,
	Lukasz Luba, Pengutronix Kernel Team

Hi Zihuan,

kernel test robot noticed the following build errors:

[auto build test ERROR on rafael-pm/linux-next]
[also build test ERROR on rafael-pm/bleeding-edge rafael-pm/thermal arm64/for-next/core linus/master v6.17-rc4 next-20250901]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zihuan-Zhang/arm64-topology-Use-scope-based-cleanup-helper/20250901-170106
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link:    https://lore.kernel.org/r/20250901085748.36795-2-zhangzihuan%40kylinos.cn
patch subject: [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20250902/202509021320.CRevA14c-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250902/202509021320.CRevA14c-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509021320.CRevA14c-lkp@intel.com/

All errors (new ones prefixed by >>):

   arch/arm64/kernel/topology.c: In function 'arch_freq_get_on_cpu':
>> arch/arm64/kernel/topology.c:311:49: error: 'info' undeclared (first use in this function)
     311 |                                 cpufreq_cpu_get(info->opp_cpu);
         |                                                 ^~~~
   arch/arm64/kernel/topology.c:311:49: note: each undeclared identifier is reported only once for each function it appears in


vim +/info +311 arch/arm64/kernel/topology.c

   284	
   285	int arch_freq_get_on_cpu(int cpu)
   286	{
   287		struct amu_cntr_sample *amu_sample;
   288		unsigned int start_cpu = cpu;
   289		unsigned long last_update;
   290		unsigned int freq = 0;
   291		u64 scale;
   292	
   293		if (!amu_fie_cpu_supported(cpu) || !arch_scale_freq_ref(cpu))
   294			return -EOPNOTSUPP;
   295	
   296		while (1) {
   297	
   298			amu_sample = per_cpu_ptr(&cpu_amu_samples, cpu);
   299	
   300			last_update = amu_sample->last_scale_update;
   301	
   302			/*
   303			 * For those CPUs that are in full dynticks mode, or those that have
   304			 * not seen tick for a while, try an alternative source for the counters
   305			 * (and thus freq scale), if available, for given policy: this boils
   306			 * down to identifying an active cpu within the same freq domain, if any.
   307			 */
   308			if (!housekeeping_cpu(cpu, HK_TYPE_TICK) ||
   309			    time_is_before_jiffies(last_update + msecs_to_jiffies(AMU_SAMPLE_EXP_MS))) {
   310				struct cpufreq_policy *policy __free(put_cpufreq_policy) =
 > 311					cpufreq_cpu_get(info->opp_cpu);
   312				int ref_cpu;
   313	
   314				if (!policy)
   315					return -EINVAL;
   316	
   317				if (!cpumask_intersects(policy->related_cpus,
   318							housekeeping_cpumask(HK_TYPE_TICK)))
   319					return -EOPNOTSUPP;
   320	
   321				for_each_cpu_wrap(ref_cpu, policy->cpus, cpu + 1) {
   322					if (ref_cpu == start_cpu) {
   323						/* Prevent verifying same CPU twice */
   324						ref_cpu = nr_cpu_ids;
   325						break;
   326					}
   327					if (!idle_cpu(ref_cpu))
   328						break;
   329				}
   330	
   331				if (ref_cpu >= nr_cpu_ids)
   332					/* No alternative to pull info from */
   333					return -EAGAIN;
   334	
   335				cpu = ref_cpu;
   336			} else {
   337				break;
   338			}
   339		}
   340		/*
   341		 * Reversed computation to the one used to determine
   342		 * the arch_freq_scale value
   343		 * (see amu_scale_freq_tick for details)
   344		 */
   345		scale = arch_scale_freq_capacity(cpu);
   346		freq = scale * arch_scale_freq_ref(cpu);
   347		freq >>= SCHED_CAPACITY_SHIFT;
   348		return freq;
   349	}
   350	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: " Zihuan Zhang
@ 2025-09-02  6:19   ` kernel test robot
  0 siblings, 0 replies; 33+ messages in thread
From: kernel test robot @ 2025-09-02  6:19 UTC (permalink / raw)
  To: Zihuan Zhang, Rafael J . wysocki, Viresh Kumar, Catalin Marinas,
	Will Deacon, Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: oe-kbuild-all, Ben Horgan, zhenglifeng, Zhang Rui, Len Brown,
	Lukasz Luba, Pengutronix Kernel Team

Hi Zihuan,

kernel test robot noticed the following build errors:

[auto build test ERROR on rafael-pm/linux-next]
[also build test ERROR on rafael-pm/bleeding-edge rafael-pm/thermal arm64/for-next/core linus/master v6.17-rc4 next-20250901]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zihuan-Zhang/arm64-topology-Use-scope-based-cleanup-helper/20250901-170106
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link:    https://lore.kernel.org/r/20250901085748.36795-12-zhangzihuan%40kylinos.cn
patch subject: [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: Use scope-based cleanup helper
config: mips-randconfig-r073-20250902 (https://download.01.org/0day-ci/archive/20250902/202509021413.NLo9zuEp-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 2e122990391b2ba062e6308a12cfedf7206270ba)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250902/202509021413.NLo9zuEp-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509021413.NLo9zuEp-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/thermal/ti-soc-thermal/ti-thermal-common.c:243:50: error: no member named 'policy' in 'struct ti_thermal_data'
     243 |         data->cool_dev = cpufreq_cooling_register(data->policy);
         |                                                   ~~~~  ^
   1 error generated.


vim +243 drivers/thermal/ti-soc-thermal/ti-thermal-common.c

445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  215  
03e859d344267c drivers/staging/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-03-19  216  int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  217  {
03e859d344267c drivers/staging/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-03-19  218  	struct ti_thermal_data *data;
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  219  	struct device_node *np = bgp->dev->of_node;
01d493f192a73c drivers/thermal/ti-soc-thermal/ti-thermal-common.c Zihuan Zhang     2025-09-01  220  	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  221  
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  222  	/*
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  223  	 * We are assuming here that if one deploys the zone
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  224  	 * using DT, then it must be aware that the cooling device
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  225  	 * loading has to happen via cpufreq driver.
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  226  	 */
86df7d19083c66 drivers/thermal/ti-soc-thermal/ti-thermal-common.c Rob Herring      2023-03-10  227  	if (of_property_present(np, "#thermal-sensor-cells"))
26d9cc65fa769d drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-07-04  228  		return 0;
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  229  
03e859d344267c drivers/staging/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-03-19  230  	data = ti_bandgap_get_sensor_data(bgp, id);
0c12b5ac82fbae drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-05-29  231  	if (!data || IS_ERR(data))
03e859d344267c drivers/staging/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-03-19  232  		data = ti_thermal_build_data(bgp, id);
04a4d10d07b101 drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-09-11  233  
04a4d10d07b101 drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-09-11  234  	if (!data)
04a4d10d07b101 drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-09-11  235  		return -EINVAL;
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  236  
01d493f192a73c drivers/thermal/ti-soc-thermal/ti-thermal-common.c Zihuan Zhang     2025-09-01  237  	if (!policy) {
4d753aa7b6279e drivers/thermal/ti-soc-thermal/ti-thermal-common.c Viresh Kumar     2017-04-25  238  		pr_debug("%s: CPUFreq policy not found\n", __func__);
4d753aa7b6279e drivers/thermal/ti-soc-thermal/ti-thermal-common.c Viresh Kumar     2017-04-25  239  		return -EPROBE_DEFER;
4d753aa7b6279e drivers/thermal/ti-soc-thermal/ti-thermal-common.c Viresh Kumar     2017-04-25  240  	}
4d753aa7b6279e drivers/thermal/ti-soc-thermal/ti-thermal-common.c Viresh Kumar     2017-04-25  241  
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  242  	/* Register cooling device */
4d753aa7b6279e drivers/thermal/ti-soc-thermal/ti-thermal-common.c Viresh Kumar     2017-04-25 @243  	data->cool_dev = cpufreq_cooling_register(data->policy);
0c12b5ac82fbae drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-05-29  244  	if (IS_ERR(data->cool_dev)) {
cffafc32473560 drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2014-12-12  245  		int ret = PTR_ERR(data->cool_dev);
4d753aa7b6279e drivers/thermal/ti-soc-thermal/ti-thermal-common.c Viresh Kumar     2017-04-25  246  		dev_err(bgp->dev, "Failed to register cpu cooling device %d\n",
cffafc32473560 drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2014-12-12  247  			ret);
cffafc32473560 drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2014-12-12  248  
cffafc32473560 drivers/thermal/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2014-12-12  249  		return ret;
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  250  	}
03e859d344267c drivers/staging/ti-soc-thermal/ti-thermal-common.c Eduardo Valentin 2013-03-19  251  	ti_bandgap_set_sensor_data(bgp, id, data);
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  252  
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  253  	return 0;
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  254  }
445eaf871bf94e drivers/staging/omap-thermal/omap-thermal-common.c Eduardo Valentin 2012-07-12  255  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 10/12] thermal: imx: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 10/12] thermal: imx: " Zihuan Zhang
@ 2025-09-02  6:30   ` kernel test robot
  0 siblings, 0 replies; 33+ messages in thread
From: kernel test robot @ 2025-09-02  6:30 UTC (permalink / raw)
  To: Zihuan Zhang, Rafael J . wysocki, Viresh Kumar, Catalin Marinas,
	Will Deacon, Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy
  Cc: oe-kbuild-all, Ben Horgan, zhenglifeng, Zhang Rui, Len Brown,
	Lukasz Luba, Pengutronix Kernel Team

Hi Zihuan,

kernel test robot noticed the following build errors:

[auto build test ERROR on rafael-pm/linux-next]
[also build test ERROR on rafael-pm/bleeding-edge rafael-pm/thermal arm64/for-next/core linus/master v6.17-rc4 next-20250901]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zihuan-Zhang/arm64-topology-Use-scope-based-cleanup-helper/20250901-170106
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link:    https://lore.kernel.org/r/20250901085748.36795-11-zhangzihuan%40kylinos.cn
patch subject: [PATCH v3 10/12] thermal: imx: Use scope-based cleanup helper
config: arm-randconfig-001-20250902 (https://download.01.org/0day-ci/archive/20250902/202509021413.o9U55mo6-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250902/202509021413.o9U55mo6-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509021413.o9U55mo6-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/thermal/imx_thermal.c: In function 'imx_thermal_register_legacy_cooling':
>> drivers/thermal/imx_thermal.c:554:59: error: 'struct imx_thermal_data' has no member named 'policy'
     554 |                 data->cdev = cpufreq_cooling_register(data->policy);
         |                                                           ^~


vim +554 drivers/thermal/imx_thermal.c

3c94f17e72a7bc Anson Huang     2014-08-06  534  
c589c56671c914 Anson Huang     2018-11-21  535  #ifdef CONFIG_CPU_FREQ
a1d00154239206 Bastian Stender 2018-06-08  536  /*
a1d00154239206 Bastian Stender 2018-06-08  537   * Create cooling device in case no #cooling-cells property is available in
a1d00154239206 Bastian Stender 2018-06-08  538   * CPU node
a1d00154239206 Bastian Stender 2018-06-08  539   */
a1d00154239206 Bastian Stender 2018-06-08  540  static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
a1d00154239206 Bastian Stender 2018-06-08  541  {
c589c56671c914 Anson Huang     2018-11-21  542  	struct device_node *np;
a4c062c2956958 Zihuan Zhang    2025-09-01  543  	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
b45fd13be340e4 Anson Huang     2020-03-26  544  	int ret = 0;
a1d00154239206 Bastian Stender 2018-06-08  545  
a4c062c2956958 Zihuan Zhang    2025-09-01  546  	if (!policy) {
c589c56671c914 Anson Huang     2018-11-21  547  		pr_debug("%s: CPUFreq policy not found\n", __func__);
c589c56671c914 Anson Huang     2018-11-21  548  		return -EPROBE_DEFER;
c589c56671c914 Anson Huang     2018-11-21  549  	}
c589c56671c914 Anson Huang     2018-11-21  550  
a4c062c2956958 Zihuan Zhang    2025-09-01  551  	np = of_get_cpu_node(policy->cpu, NULL);
c589c56671c914 Anson Huang     2018-11-21  552  
86df7d19083c66 Rob Herring     2023-03-10  553  	if (!np || !of_property_present(np, "#cooling-cells")) {
a1d00154239206 Bastian Stender 2018-06-08 @554  		data->cdev = cpufreq_cooling_register(data->policy);
a4c062c2956958 Zihuan Zhang    2025-09-01  555  		if (IS_ERR(data->cdev))
a1d00154239206 Bastian Stender 2018-06-08  556  			ret = PTR_ERR(data->cdev);
a1d00154239206 Bastian Stender 2018-06-08  557  	}
a1d00154239206 Bastian Stender 2018-06-08  558  
b45fd13be340e4 Anson Huang     2020-03-26  559  	of_node_put(np);
b45fd13be340e4 Anson Huang     2020-03-26  560  
b45fd13be340e4 Anson Huang     2020-03-26  561  	return ret;
a1d00154239206 Bastian Stender 2018-06-08  562  }
a1d00154239206 Bastian Stender 2018-06-08  563  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 03/12] cpufreq: intel_pstate: Use scope-based cleanup helper
  2025-09-01 15:17   ` Rafael J. Wysocki
@ 2025-09-02 10:32     ` Zihuan Zhang
  2025-09-02 11:47       ` Rafael J. Wysocki
  0 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-02 10:32 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Viresh Kumar, Catalin Marinas, Will Deacon, Borislav Petkov,
	Dave Hansen, Srinivas Pandruvada, Michael Ellerman,
	Krzysztof Kozlowski, Alim Akhtar, Thierry Reding, MyungJoo Ham,
	Kyungmin Park, Chanwoo Choi, Jani Nikula, Rodrigo Vivi,
	Tvrtko Ursulin, David Airlie, Simona Vetter, Daniel Lezcano,
	Sascha Hauer, Shawn Guo, Eduardo Valentin, Keerthy, Ben Horgan,
	zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel


在 2025/9/1 23:17, Rafael J. Wysocki 写道:
> On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
>> annotation for policy references. This reduces the risk of reference
>> counting mistakes and aligns the code with the latest kernel style.
>>
>> No functional change intended.
>>
>> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
>> ---
>>   drivers/cpufreq/intel_pstate.c | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
>> index f366d35c5840..4abc1ef2d2b0 100644
>> --- a/drivers/cpufreq/intel_pstate.c
>> +++ b/drivers/cpufreq/intel_pstate.c
>> @@ -1502,9 +1502,8 @@ static void __intel_pstate_update_max_freq(struct cpufreq_policy *policy,
>>
>>   static bool intel_pstate_update_max_freq(struct cpudata *cpudata)
>>   {
>> -       struct cpufreq_policy *policy __free(put_cpufreq_policy);
>> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
>>
>> -       policy = cpufreq_cpu_get(cpudata->cpu);
>>          if (!policy)
>>                  return false;
> The structure of the code is intentional here and there's no reason to
> change it.


Got it. Thanks for clarifying.

So for this case the current structure is intentional -

should I also avoid similar changes in other drivers?


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

* Re: [PATCH v3 03/12] cpufreq: intel_pstate: Use scope-based cleanup helper
  2025-09-02 10:32     ` Zihuan Zhang
@ 2025-09-02 11:47       ` Rafael J. Wysocki
  2025-09-03  0:51         ` Zihuan Zhang
  0 siblings, 1 reply; 33+ messages in thread
From: Rafael J. Wysocki @ 2025-09-02 11:47 UTC (permalink / raw)
  To: Zihuan Zhang
  Cc: Rafael J. Wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy, Ben Horgan, zhenglifeng, Zhang Rui,
	Len Brown, Lukasz Luba, Pengutronix Kernel Team, Beata Michalska,
	Fabio Estevam, Pavel Machek, Sumit Gupta, Prasanna Kumar T S M,
	Sudeep Holla, Yicong Yang, linux-pm, linux-acpi, linuxppc-dev,
	linux-arm-kernel, intel-gfx, dri-devel, imx, linux-omap,
	linux-kernel

On Tue, Sep 2, 2025 at 12:33 PM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>
>
> 在 2025/9/1 23:17, Rafael J. Wysocki 写道:
> > On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
> >> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
> >> annotation for policy references. This reduces the risk of reference
> >> counting mistakes and aligns the code with the latest kernel style.
> >>
> >> No functional change intended.
> >>
> >> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> >> ---
> >>   drivers/cpufreq/intel_pstate.c | 8 +++-----
> >>   1 file changed, 3 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> >> index f366d35c5840..4abc1ef2d2b0 100644
> >> --- a/drivers/cpufreq/intel_pstate.c
> >> +++ b/drivers/cpufreq/intel_pstate.c
> >> @@ -1502,9 +1502,8 @@ static void __intel_pstate_update_max_freq(struct cpufreq_policy *policy,
> >>
> >>   static bool intel_pstate_update_max_freq(struct cpudata *cpudata)
> >>   {
> >> -       struct cpufreq_policy *policy __free(put_cpufreq_policy);
> >> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
> >>
> >> -       policy = cpufreq_cpu_get(cpudata->cpu);
> >>          if (!policy)
> >>                  return false;
> > The structure of the code is intentional here and there's no reason to
> > change it.
>
>
> Got it. Thanks for clarifying.
>
> So for this case the current structure is intentional -

Note that I'm talking about this particular change only.  The other
change in the $subject patch is fine.

> should I also avoid similar changes in other drivers?

That depends on who maintains them, which is why I wanted you to split
the patch into smaller changes in the first place.

My personal view is that code formatting changes, which effectively is
what this particular one is, are pointless unless they make the code
much easier to follow.

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

* Re: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
@ 2025-09-02 15:53 ` Dan Carpenter
  0 siblings, 0 replies; 33+ messages in thread
From: kernel test robot @ 2025-09-02 15:25 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250901085748.36795-13-zhangzihuan@kylinos.cn>
References: <20250901085748.36795-13-zhangzihuan@kylinos.cn>
TO: Zihuan Zhang <zhangzihuan@kylinos.cn>
TO: "Rafael J . wysocki" <rafael@kernel.org>
TO: Viresh Kumar <viresh.kumar@linaro.org>
TO: Catalin Marinas <catalin.marinas@arm.com>
TO: Will Deacon <will@kernel.org>
TO: Borislav Petkov <bp@alien8.de>
TO: Dave Hansen <dave.hansen@linux.intel.com>
TO: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
TO: Michael Ellerman <mpe@ellerman.id.au>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Alim Akhtar <alim.akhtar@samsung.com>
TO: Thierry Reding <thierry.reding@gmail.com>
TO: MyungJoo Ham <myungjoo.ham@samsung.com>
TO: Kyungmin Park <kyungmin.park@samsung.com>
TO: Chanwoo Choi <cw00.choi@samsung.com>
TO: Jani Nikula <jani.nikula@linux.intel.com>
TO: Rodrigo Vivi <rodrigo.vivi@intel.com>
TO: Tvrtko Ursulin <tursulin@ursulin.net>
TO: David Airlie <airlied@gmail.com>
TO: Simona Vetter <simona@ffwll.ch>
TO: Daniel Lezcano <daniel.lezcano@kernel.org>
TO: Sascha Hauer <s.hauer@pengutronix.de>
TO: Shawn Guo <shawnguo@kernel.org>
TO: Eduardo Valentin <edubezval@gmail.com>
TO: Keerthy <j-keerthy@ti.com>
CC: Ben Horgan <ben.horgan@arm.com>
CC: zhenglifeng <zhenglifeng1@huawei.com>
CC: Zhang Rui <rui.zhang@intel.com>
CC: Len Brown <lenb@kernel.org>
CC: Lukasz Luba <lukasz.luba@arm.com>
CC: Pengutronix Kernel Team <kernel@pengutronix.de>

Hi Zihuan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on rafael-pm/linux-next]
[also build test WARNING on rafael-pm/bleeding-edge rafael-pm/thermal arm64/for-next/core linus/master v6.17-rc4 next-20250902]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zihuan-Zhang/arm64-topology-Use-scope-based-cleanup-helper/20250901-170106
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link:    https://lore.kernel.org/r/20250901085748.36795-13-zhangzihuan%40kylinos.cn
patch subject: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
:::::: branch date: 30 hours ago
:::::: commit date: 30 hours ago
config: powerpc64-randconfig-r071-20250902 (https://download.01.org/0day-ci/archive/20250902/202509022308.CeaKUqJM-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 2e122990391b2ba062e6308a12cfedf7206270ba)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202509022308.CeaKUqJM-lkp@intel.com/

smatch warnings:
kernel/power/energy_model.c:454 em_cpufreq_update_efficiencies() error: uninitialized symbol 'policy'.
kernel/power/energy_model.c:454 em_cpufreq_update_efficiencies() error: uninitialized symbol 'policy'.

vim +/policy +454 kernel/power/energy_model.c

1bc138c6229599 Lukasz Luba       2020-06-10  449  
e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  450  static void
e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  451  em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table)
e458716a92b57f Vincent Donnefort 2021-09-08  452  {
e458716a92b57f Vincent Donnefort 2021-09-08  453  	struct em_perf_domain *pd = dev->em_pd;
3a096464b04b72 Zihuan Zhang      2025-09-01 @454  	struct cpufreq_policy *policy __free(put_cpufreq_policy);
e458716a92b57f Vincent Donnefort 2021-09-08  455  	int found = 0;
99907d6054f2d3 Lukasz Luba       2024-02-08  456  	int i, cpu;
e458716a92b57f Vincent Donnefort 2021-09-08  457  
e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  458  	if (!_is_cpu_device(dev))
e458716a92b57f Vincent Donnefort 2021-09-08  459  		return;
e458716a92b57f Vincent Donnefort 2021-09-08  460  
99907d6054f2d3 Lukasz Luba       2024-02-08  461  	/* Try to get a CPU which is active and in this PD */
99907d6054f2d3 Lukasz Luba       2024-02-08  462  	cpu = cpumask_first_and(em_span_cpus(pd), cpu_active_mask);
99907d6054f2d3 Lukasz Luba       2024-02-08  463  	if (cpu >= nr_cpu_ids) {
99907d6054f2d3 Lukasz Luba       2024-02-08  464  		dev_warn(dev, "EM: No online CPU for CPUFreq policy\n");
99907d6054f2d3 Lukasz Luba       2024-02-08  465  		return;
99907d6054f2d3 Lukasz Luba       2024-02-08  466  	}
99907d6054f2d3 Lukasz Luba       2024-02-08  467  
99907d6054f2d3 Lukasz Luba       2024-02-08  468  	policy = cpufreq_cpu_get(cpu);
e458716a92b57f Vincent Donnefort 2021-09-08  469  	if (!policy) {
4274521fabee05 Lukasz Luba       2024-02-08  470  		dev_warn(dev, "EM: Access to CPUFreq policy failed\n");
e458716a92b57f Vincent Donnefort 2021-09-08  471  		return;
e458716a92b57f Vincent Donnefort 2021-09-08  472  	}
e458716a92b57f Vincent Donnefort 2021-09-08  473  
e458716a92b57f Vincent Donnefort 2021-09-08  474  	for (i = 0; i < pd->nr_perf_states; i++) {
e458716a92b57f Vincent Donnefort 2021-09-08  475  		if (!(table[i].flags & EM_PERF_STATE_INEFFICIENT))
e458716a92b57f Vincent Donnefort 2021-09-08  476  			continue;
e458716a92b57f Vincent Donnefort 2021-09-08  477  
e458716a92b57f Vincent Donnefort 2021-09-08  478  		if (!cpufreq_table_set_inefficient(policy, table[i].frequency))
e458716a92b57f Vincent Donnefort 2021-09-08  479  			found++;
e458716a92b57f Vincent Donnefort 2021-09-08  480  	}
e458716a92b57f Vincent Donnefort 2021-09-08  481  
e458716a92b57f Vincent Donnefort 2021-09-08  482  	if (!found)
e458716a92b57f Vincent Donnefort 2021-09-08  483  		return;
e458716a92b57f Vincent Donnefort 2021-09-08  484  
e458716a92b57f Vincent Donnefort 2021-09-08  485  	/*
e458716a92b57f Vincent Donnefort 2021-09-08  486  	 * Efficiencies have been installed in CPUFreq, inefficient frequencies
e458716a92b57f Vincent Donnefort 2021-09-08  487  	 * will be skipped. The EM can do the same.
e458716a92b57f Vincent Donnefort 2021-09-08  488  	 */
e458716a92b57f Vincent Donnefort 2021-09-08  489  	pd->flags |= EM_PERF_DOMAIN_SKIP_INEFFICIENCIES;
e458716a92b57f Vincent Donnefort 2021-09-08  490  }
e458716a92b57f Vincent Donnefort 2021-09-08  491  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
@ 2025-09-02 15:53 ` Dan Carpenter
  0 siblings, 0 replies; 33+ messages in thread
From: Dan Carpenter @ 2025-09-02 15:53 UTC (permalink / raw)
  To: oe-kbuild, Zihuan Zhang, Rafael J . wysocki, Viresh Kumar,
	Catalin Marinas, Will Deacon, Borislav Petkov, Dave Hansen,
	Srinivas Pandruvada, Michael Ellerman, Krzysztof Kozlowski,
	Alim Akhtar, Thierry Reding, MyungJoo Ham, Kyungmin Park,
	Chanwoo Choi, Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Simona Vetter, Daniel Lezcano, Sascha Hauer,
	Shawn Guo, Eduardo Valentin, Keerthy
  Cc: lkp, oe-kbuild-all, Ben Horgan, zhenglifeng, Zhang Rui, Len Brown,
	Lukasz Luba, Pengutronix Kernel Team

Hi Zihuan,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zihuan-Zhang/arm64-topology-Use-scope-based-cleanup-helper/20250901-170106
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link:    https://lore.kernel.org/r/20250901085748.36795-13-zhangzihuan%40kylinos.cn
patch subject: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
config: powerpc64-randconfig-r071-20250902 (https://download.01.org/0day-ci/archive/20250902/202509022308.CeaKUqJM-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 2e122990391b2ba062e6308a12cfedf7206270ba)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202509022308.CeaKUqJM-lkp@intel.com/

smatch warnings:
kernel/power/energy_model.c:454 em_cpufreq_update_efficiencies() error: uninitialized symbol 'policy'.

vim +/policy +454 kernel/power/energy_model.c

e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  450  static void
e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  451  em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table)
e458716a92b57f Vincent Donnefort 2021-09-08  452  {
e458716a92b57f Vincent Donnefort 2021-09-08  453  	struct em_perf_domain *pd = dev->em_pd;
3a096464b04b72 Zihuan Zhang      2025-09-01 @454  	struct cpufreq_policy *policy __free(put_cpufreq_policy);

policy needs to be set to NULL here.

e458716a92b57f Vincent Donnefort 2021-09-08  455  	int found = 0;
99907d6054f2d3 Lukasz Luba       2024-02-08  456  	int i, cpu;
e458716a92b57f Vincent Donnefort 2021-09-08  457  
e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  458  	if (!_is_cpu_device(dev))
e458716a92b57f Vincent Donnefort 2021-09-08  459  		return;
                                                                ^^^^^^
returning before an initialization is an uninitialized variable bug.

e458716a92b57f Vincent Donnefort 2021-09-08  460  
99907d6054f2d3 Lukasz Luba       2024-02-08  461  	/* Try to get a CPU which is active and in this PD */
99907d6054f2d3 Lukasz Luba       2024-02-08  462  	cpu = cpumask_first_and(em_span_cpus(pd), cpu_active_mask);
99907d6054f2d3 Lukasz Luba       2024-02-08  463  	if (cpu >= nr_cpu_ids) {
99907d6054f2d3 Lukasz Luba       2024-02-08  464  		dev_warn(dev, "EM: No online CPU for CPUFreq policy\n");
99907d6054f2d3 Lukasz Luba       2024-02-08  465  		return;
99907d6054f2d3 Lukasz Luba       2024-02-08  466  	}
99907d6054f2d3 Lukasz Luba       2024-02-08  467  
99907d6054f2d3 Lukasz Luba       2024-02-08  468  	policy = cpufreq_cpu_get(cpu);

Or we could declare it here:

	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);

e458716a92b57f Vincent Donnefort 2021-09-08  469  	if (!policy) {
4274521fabee05 Lukasz Luba       2024-02-08  470  		dev_warn(dev, "EM: Access to CPUFreq policy failed\n");
e458716a92b57f Vincent Donnefort 2021-09-08  471  		return;
e458716a92b57f Vincent Donnefort 2021-09-08  472  	}
e458716a92b57f Vincent Donnefort 2021-09-08  473  
e458716a92b57f Vincent Donnefort 2021-09-08  474  	for (i = 0; i < pd->nr_perf_states; i++) {
e458716a92b57f Vincent Donnefort 2021-09-08  475  		if (!(table[i].flags & EM_PERF_STATE_INEFFICIENT))
e458716a92b57f Vincent Donnefort 2021-09-08  476  			continue;
e458716a92b57f Vincent Donnefort 2021-09-08  477  
e458716a92b57f Vincent Donnefort 2021-09-08  478  		if (!cpufreq_table_set_inefficient(policy, table[i].frequency))
e458716a92b57f Vincent Donnefort 2021-09-08  479  			found++;
e458716a92b57f Vincent Donnefort 2021-09-08  480  	}
e458716a92b57f Vincent Donnefort 2021-09-08  481  
e458716a92b57f Vincent Donnefort 2021-09-08  482  	if (!found)
e458716a92b57f Vincent Donnefort 2021-09-08  483  		return;
e458716a92b57f Vincent Donnefort 2021-09-08  484  
e458716a92b57f Vincent Donnefort 2021-09-08  485  	/*
e458716a92b57f Vincent Donnefort 2021-09-08  486  	 * Efficiencies have been installed in CPUFreq, inefficient frequencies
e458716a92b57f Vincent Donnefort 2021-09-08  487  	 * will be skipped. The EM can do the same.
e458716a92b57f Vincent Donnefort 2021-09-08  488  	 */
e458716a92b57f Vincent Donnefort 2021-09-08  489  	pd->flags |= EM_PERF_DOMAIN_SKIP_INEFFICIENCIES;
e458716a92b57f Vincent Donnefort 2021-09-08  490  }

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


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

* Re: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 12/12] PM: EM: " Zihuan Zhang
@ 2025-09-02 15:57   ` Krzysztof Kozlowski
  2025-09-03  2:12     ` Zihuan Zhang
  0 siblings, 1 reply; 33+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-02 15:57 UTC (permalink / raw)
  To: Zihuan Zhang, Rafael J . wysocki, Viresh Kumar, Catalin Marinas,
	Will Deacon, Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Alim Akhtar, Thierry Reding, MyungJoo Ham,
	Kyungmin Park, Chanwoo Choi, Jani Nikula, Rodrigo Vivi,
	Tvrtko Ursulin, David Airlie, Simona Vetter, Daniel Lezcano,
	Sascha Hauer, Shawn Guo, Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel

On 01/09/2025 10:57, Zihuan Zhang wrote:
> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
> annotation for policy references. This reduces the risk of reference
> counting mistakes and aligns the code with the latest kernel style.
> 
> No functional change intended.
> 
> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> ---
>  kernel/power/energy_model.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c
> index ea7995a25780..852d48039ce2 100644
> --- a/kernel/power/energy_model.c
> +++ b/kernel/power/energy_model.c
> @@ -451,7 +451,7 @@ static void
>  em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table)
>  {
>  	struct em_perf_domain *pd = dev->em_pd;
> -	struct cpufreq_policy *policy;
> +	struct cpufreq_policy *policy __free(put_cpufreq_policy);

You are not improving the source code here. This is not how to use
__free() and you clearly do not understand the source code.

What's more, you did not use standard tools which would tell you this is
buggy and wrong.

Don't introduce cleanup.h if you do not understand how it works.
Best regards,
Krzysztof


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

* Re: [PATCH v3 04/12] cpufreq: longhaul: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 04/12] cpufreq: longhaul: " Zihuan Zhang
@ 2025-09-02 15:58   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 33+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-02 15:58 UTC (permalink / raw)
  To: Zihuan Zhang, Rafael J . wysocki, Viresh Kumar, Catalin Marinas,
	Will Deacon, Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Alim Akhtar, Thierry Reding, MyungJoo Ham,
	Kyungmin Park, Chanwoo Choi, Jani Nikula, Rodrigo Vivi,
	Tvrtko Ursulin, David Airlie, Simona Vetter, Daniel Lezcano,
	Sascha Hauer, Shawn Guo, Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel

On 01/09/2025 10:57, Zihuan Zhang wrote:
>  static void __exit longhaul_exit(void)
>  {
> -	struct cpufreq_policy *policy = cpufreq_cpu_get(0);
> +	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
>  	int i;
>  
>  	for (i = 0; i < numscales; i++) {
> @@ -968,7 +968,6 @@ static void __exit longhaul_exit(void)
>  		}
>  	}
>  
> -	cpufreq_cpu_put(policy);

You are not improving any code here.


Best regards,
Krzysztof


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

* Re: [PATCH v3 08/12] cpufreq: powerpc: macintosh: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 08/12] cpufreq: powerpc: macintosh: " Zihuan Zhang
@ 2025-09-02 15:59   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 33+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-02 15:59 UTC (permalink / raw)
  To: Zihuan Zhang, Rafael J . wysocki, Viresh Kumar, Catalin Marinas,
	Will Deacon, Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Alim Akhtar, Thierry Reding, MyungJoo Ham,
	Kyungmin Park, Chanwoo Choi, Jani Nikula, Rodrigo Vivi,
	Tvrtko Ursulin, David Airlie, Simona Vetter, Daniel Lezcano,
	Sascha Hauer, Shawn Guo, Eduardo Valentin, Keerthy
  Cc: Ben Horgan, zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel

On 01/09/2025 10:57, Zihuan Zhang wrote:
> +	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(0);
>  	struct wf_control *clamp;
>  	struct device *dev;
>  	int ret;
>  
> -	policy = cpufreq_cpu_get(0);
>  	if (!policy) {
>  		pr_warn("%s: cpufreq policy not found cpu0\n", __func__);
>  		return -EPROBE_DEFER;
> @@ -79,8 +78,6 @@ static int __init wf_cpufreq_clamp_init(void)
>  	ret = freq_qos_add_request(&policy->constraints, &qos_req, FREQ_QOS_MAX,
>  				   max_freq);
>  
> -	cpufreq_cpu_put(policy);
> -
Not much improvement. Previously this was simple code, easy to grasp.
Best regards,
Krzysztof


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

* ✓ i915.CI.BAT: success for cpufreq: use __free() for all cpufreq_cpu_get() references (rev3)
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (11 preceding siblings ...)
  2025-09-01  8:57 ` [PATCH v3 12/12] PM: EM: " Zihuan Zhang
@ 2025-09-02 16:44 ` Patchwork
  2025-09-03  0:41 ` ✗ i915.CI.Full: failure " Patchwork
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-09-02 16:44 UTC (permalink / raw)
  To: Zihuan Zhang; +Cc: intel-gfx

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

== Series Details ==

Series: cpufreq: use __free() for all cpufreq_cpu_get() references (rev3)
URL   : https://patchwork.freedesktop.org/series/153442/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_17115 -> Patchwork_153442v3
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

  Additional (1): fi-skl-6600u 
  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@dmabuf@all-tests:
    - bat-apl-1:          [PASS][1] -> [ABORT][2] ([i915#12904]) +1 other test abort
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/bat-apl-1/igt@dmabuf@all-tests.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/bat-apl-1/igt@dmabuf@all-tests.html

  * igt@gem_huc_copy@huc-copy:
    - fi-skl-6600u:       NOTRUN -> [SKIP][3] ([i915#2190])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-skl-6600u:       NOTRUN -> [SKIP][4] ([i915#4613]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/fi-skl-6600u/igt@gem_lmem_swapping@random-engines.html

  * igt@i915_module_load@load:
    - bat-mtlp-9:         [PASS][5] -> [DMESG-WARN][6] ([i915#13494])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/bat-mtlp-9/igt@i915_module_load@load.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/bat-mtlp-9/igt@i915_module_load@load.html

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/bat-dg2-14/igt@i915_selftest@live@workarounds.html

  * igt@kms_dsc@dsc-basic:
    - fi-skl-6600u:       NOTRUN -> [SKIP][11] +10 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/fi-skl-6600u/igt@kms_dsc@dsc-basic.html

  
#### Possible fixes ####

  * igt@dmabuf@all-tests@dma_fence_chain:
    - fi-bsw-n3050:       [ABORT][12] ([i915#12904]) -> [PASS][13] +1 other test pass
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-9:          [DMESG-FAIL][14] ([i915#12061]) -> [PASS][15] +1 other test pass
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/bat-dg2-9/igt@i915_selftest@live@workarounds.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
  [i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613


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

  * Linux: CI_DRM_17115 -> Patchwork_153442v3

  CI-20190529: 20190529
  CI_DRM_17115: d5da0d39eb8ec29aeb92793ad8f0c5b1bdac5331 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8519: 8519
  Patchwork_153442v3: d5da0d39eb8ec29aeb92793ad8f0c5b1bdac5331 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for cpufreq: use __free() for all cpufreq_cpu_get() references (rev3)
  2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
                   ` (12 preceding siblings ...)
  2025-09-02 16:44 ` ✓ i915.CI.BAT: success for cpufreq: use __free() for all cpufreq_cpu_get() references (rev3) Patchwork
@ 2025-09-03  0:41 ` Patchwork
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-09-03  0:41 UTC (permalink / raw)
  To: Zihuan Zhang; +Cc: intel-gfx

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

== Series Details ==

Series: cpufreq: use __free() for all cpufreq_cpu_get() references (rev3)
URL   : https://patchwork.freedesktop.org/series/153442/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_17115_full -> Patchwork_153442v3_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_153442v3_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_153442v3_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-b-hdmi-a-1:
    - shard-glk:          [PASS][1] -> [FAIL][2] +3 other tests fail
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-glk9/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-b-hdmi-a-1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-b-hdmi-a-1.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-dg2:          NOTRUN -> [SKIP][3] ([i915#8411])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@device_reset@cold-reset-bound:
    - shard-tglu-1:       NOTRUN -> [SKIP][4] ([i915#11078])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@device_reset@cold-reset-bound.html

  * igt@fbdev@eof:
    - shard-rkl:          [PASS][5] -> [SKIP][6] ([i915#14544] / [i915#2582])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@fbdev@eof.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@fbdev@eof.html

  * igt@fbdev@info:
    - shard-glk10:        NOTRUN -> [SKIP][7] ([i915#1849])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk10/igt@fbdev@info.html

  * igt@gem_ccs@block-copy-compressed:
    - shard-tglu:         NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@gem_ccs@block-copy-compressed.html

  * igt@gem_ccs@block-multicopy-inplace:
    - shard-tglu-1:       NOTRUN -> [SKIP][9] ([i915#3555] / [i915#9323])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@gem_ccs@block-multicopy-inplace.html

  * igt@gem_ccs@suspend-resume:
    - shard-dg2-9:        NOTRUN -> [INCOMPLETE][10] ([i915#13356]) +1 other test incomplete
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_ccs@suspend-resume.html

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-dg2-9:        NOTRUN -> [SKIP][11] ([i915#7697])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_close_race@multigpu-basic-threads.html
    - shard-tglu:         NOTRUN -> [SKIP][12] ([i915#7697])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@gem_close_race@multigpu-basic-threads.html

  * igt@gem_create@create-ext-set-pat:
    - shard-tglu-1:       NOTRUN -> [SKIP][13] ([i915#8562])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-glk:          NOTRUN -> [INCOMPLETE][14] ([i915#12353]) +1 other test incomplete
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk5/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_ctx_persistence@hang:
    - shard-dg2:          NOTRUN -> [SKIP][15] ([i915#8555])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_ctx_persistence@hang.html

  * igt@gem_ctx_sseu@engines:
    - shard-dg2:          NOTRUN -> [SKIP][16] ([i915#280])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_ctx_sseu@engines.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-tglu-1:       NOTRUN -> [SKIP][17] ([i915#280])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-tglu:         NOTRUN -> [SKIP][18] ([i915#280])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_exec_balancer@bonded-false-hang:
    - shard-dg2:          NOTRUN -> [SKIP][19] ([i915#4812]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_exec_balancer@bonded-false-hang.html

  * igt@gem_exec_balancer@parallel-keep-in-fence:
    - shard-tglu:         NOTRUN -> [SKIP][20] ([i915#4525])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@gem_exec_balancer@parallel-keep-in-fence.html

  * igt@gem_exec_balancer@sliced:
    - shard-rkl:          [PASS][21] -> [DMESG-WARN][22] ([i915#12917] / [i915#12964])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-8/igt@gem_exec_balancer@sliced.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-4/igt@gem_exec_balancer@sliced.html

  * igt@gem_exec_endless@dispatch:
    - shard-dg2:          [PASS][23] -> [TIMEOUT][24] ([i915#3778] / [i915#7016])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-11/igt@gem_exec_endless@dispatch.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_exec_endless@dispatch.html

  * igt@gem_exec_endless@dispatch@vecs1:
    - shard-dg2:          [PASS][25] -> [TIMEOUT][26] ([i915#7016])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-11/igt@gem_exec_endless@dispatch@vecs1.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_exec_endless@dispatch@vecs1.html

  * igt@gem_exec_fence@submit3:
    - shard-dg2-9:        NOTRUN -> [SKIP][27] ([i915#4812]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_exec_fence@submit3.html

  * igt@gem_exec_flush@basic-uc-ro-default:
    - shard-dg2:          NOTRUN -> [SKIP][28] ([i915#3539] / [i915#4852]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_exec_flush@basic-uc-ro-default.html

  * igt@gem_exec_reloc@basic-gtt-read:
    - shard-dg2:          NOTRUN -> [SKIP][29] ([i915#3281]) +6 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_exec_reloc@basic-gtt-read.html

  * igt@gem_exec_reloc@basic-write-gtt:
    - shard-dg2-9:        NOTRUN -> [SKIP][30] ([i915#3281]) +4 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_exec_reloc@basic-write-gtt.html

  * igt@gem_exec_schedule@preempt-queue-chain:
    - shard-dg2-9:        NOTRUN -> [SKIP][31] ([i915#4537] / [i915#4812])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_exec_schedule@preempt-queue-chain.html

  * igt@gem_exec_suspend@basic-s3-devices:
    - shard-dg2:          [PASS][32] -> [ABORT][33] ([i915#8213]) +2 other tests abort
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-6/igt@gem_exec_suspend@basic-s3-devices.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-10/igt@gem_exec_suspend@basic-s3-devices.html

  * igt@gem_fence_thrash@bo-write-verify-x:
    - shard-dg2:          NOTRUN -> [SKIP][34] ([i915#4860])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_fence_thrash@bo-write-verify-x.html

  * igt@gem_fence_thrash@bo-write-verify-y:
    - shard-dg2-9:        NOTRUN -> [SKIP][35] ([i915#4860]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_fence_thrash@bo-write-verify-y.html

  * igt@gem_huc_copy@huc-copy:
    - shard-glk:          NOTRUN -> [SKIP][36] ([i915#2190])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk9/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_evict@dontneed-evict-race:
    - shard-tglu-1:       NOTRUN -> [SKIP][37] ([i915#4613] / [i915#7582])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@gem_lmem_evict@dontneed-evict-race.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-tglu:         NOTRUN -> [SKIP][38] ([i915#4613]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_lmem_swapping@random:
    - shard-glk:          NOTRUN -> [SKIP][39] ([i915#4613]) +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk1/igt@gem_lmem_swapping@random.html

  * igt@gem_lmem_swapping@verify-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][40] ([i915#4613]) +1 other test skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@gem_lmem_swapping@verify-ccs.html

  * igt@gem_mmap@basic-small-bo:
    - shard-dg2:          NOTRUN -> [SKIP][41] ([i915#4083]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_mmap@basic-small-bo.html

  * igt@gem_mmap_gtt@big-bo-tiledx:
    - shard-dg2-9:        NOTRUN -> [SKIP][42] ([i915#4077]) +10 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_mmap_gtt@big-bo-tiledx.html

  * igt@gem_mmap_gtt@cpuset-big-copy:
    - shard-dg2:          NOTRUN -> [SKIP][43] ([i915#4077]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_mmap_gtt@cpuset-big-copy.html

  * igt@gem_mmap_offset@clear@smem0:
    - shard-rkl:          [PASS][44] -> [DMESG-WARN][45] ([i915#12964]) +11 other tests dmesg-warn
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-8/igt@gem_mmap_offset@clear@smem0.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-4/igt@gem_mmap_offset@clear@smem0.html

  * igt@gem_mmap_wc@invalid-flags:
    - shard-dg2-9:        NOTRUN -> [SKIP][46] ([i915#4083]) +4 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_mmap_wc@invalid-flags.html

  * igt@gem_pread@snoop:
    - shard-dg2:          NOTRUN -> [SKIP][47] ([i915#3282]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@gem_pread@snoop.html

  * igt@gem_pwrite@basic-random:
    - shard-dg2-9:        NOTRUN -> [SKIP][48] ([i915#3282]) +2 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_pwrite@basic-random.html

  * igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
    - shard-rkl:          [PASS][49] -> [TIMEOUT][50] ([i915#12964])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-8/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-4/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-tglu:         NOTRUN -> [SKIP][51] ([i915#13398])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_pxp@protected-encrypted-src-copy-not-readible:
    - shard-rkl:          [PASS][52] -> [TIMEOUT][53] ([i915#12917] / [i915#12964]) +1 other test timeout
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-8/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-4/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html

  * igt@gem_pxp@reject-modify-context-protection-on:
    - shard-dg2:          NOTRUN -> [SKIP][54] ([i915#4270]) +1 other test skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_pxp@reject-modify-context-protection-on.html

  * igt@gem_pxp@verify-pxp-stale-buf-execution:
    - shard-dg2-9:        NOTRUN -> [SKIP][55] ([i915#4270]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_pxp@verify-pxp-stale-buf-execution.html

  * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled:
    - shard-dg2-9:        NOTRUN -> [SKIP][56] ([i915#5190] / [i915#8428]) +2 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled.html

  * igt@gem_render_copy@y-tiled-to-vebox-linear:
    - shard-dg2:          NOTRUN -> [SKIP][57] ([i915#5190] / [i915#8428]) +2 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_render_copy@y-tiled-to-vebox-linear.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-dg2-9:        NOTRUN -> [SKIP][58] ([i915#4079])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gem_set_tiling_vs_pwrite.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-dg2:          NOTRUN -> [SKIP][59] ([i915#3297])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@unsync-unmap-cycles:
    - shard-tglu:         NOTRUN -> [SKIP][60] ([i915#3297])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@gem_userptr_blits@unsync-unmap-cycles.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [PASS][61] -> [ABORT][62] ([i915#5566])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-glk9/igt@gen9_exec_parse@allowed-single.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk6/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@bb-large:
    - shard-glk10:        NOTRUN -> [FAIL][63] ([i915#14806])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk10/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-dg2-9:        NOTRUN -> [SKIP][64] ([i915#2856]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-tglu:         NOTRUN -> [SKIP][65] ([i915#2527] / [i915#2856]) +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@gen9_exec_parse@shadow-peek.html

  * igt@gen9_exec_parse@unaligned-access:
    - shard-tglu-1:       NOTRUN -> [SKIP][66] ([i915#2527] / [i915#2856])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@gen9_exec_parse@unaligned-access.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-dg2:          NOTRUN -> [SKIP][67] ([i915#2856])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_drm_fdinfo@busy@vecs1:
    - shard-dg2:          NOTRUN -> [SKIP][68] ([i915#14073]) +15 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-10/igt@i915_drm_fdinfo@busy@vecs1.html

  * igt@i915_drm_fdinfo@virtual-busy:
    - shard-dg2:          NOTRUN -> [SKIP][69] ([i915#14118])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@i915_drm_fdinfo@virtual-busy.html

  * igt@i915_drm_fdinfo@virtual-busy-hang-all:
    - shard-dg2-9:        NOTRUN -> [SKIP][70] ([i915#14118])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@i915_drm_fdinfo@virtual-busy-hang-all.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-tglu:         NOTRUN -> [SKIP][71] ([i915#8399])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@i915_pm_freq_api@freq-reset-multiple.html

  * igt@i915_pm_rpm@debugfs-read:
    - shard-dg1:          [PASS][72] -> [SKIP][73] ([i915#4423])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@i915_pm_rpm@debugfs-read.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@i915_pm_rpm@debugfs-read.html

  * igt@i915_pm_rps@thresholds:
    - shard-dg2:          NOTRUN -> [SKIP][74] ([i915#11681])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@i915_pm_rps@thresholds.html

  * igt@i915_pm_rps@thresholds-idle-park:
    - shard-dg2-9:        NOTRUN -> [SKIP][75] ([i915#11681])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@i915_pm_rps@thresholds-idle-park.html

  * igt@i915_selftest@live@workarounds:
    - shard-dg2:          NOTRUN -> [DMESG-FAIL][76] ([i915#12061]) +1 other test dmesg-fail
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-tglu:         NOTRUN -> [INCOMPLETE][77] ([i915#4817] / [i915#7443])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_addfb_basic@bo-too-small-due-to-tiling:
    - shard-dg2-9:        NOTRUN -> [SKIP][78] ([i915#4212])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html

  * igt@kms_addfb_basic@clobberred-modifier:
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#4212])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_addfb_basic@clobberred-modifier.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglu-1:       NOTRUN -> [SKIP][80] ([i915#12454] / [i915#12712])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-tglu:         NOTRUN -> [SKIP][81] ([i915#9531])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind:
    - shard-rkl:          [PASS][82] -> [SKIP][83] ([i915#14544]) +31 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@kms_atomic_transition@plane-use-after-nonblocking-unbind.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_atomic_transition@plane-use-after-nonblocking-unbind.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-270:
    - shard-dg2-9:        NOTRUN -> [SKIP][84] +5 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][85] +3 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-tglu:         NOTRUN -> [SKIP][86] ([i915#5286]) +2 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-tglu-1:       NOTRUN -> [SKIP][87] ([i915#5286]) +3 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-270:
    - shard-dg2-9:        NOTRUN -> [SKIP][88] ([i915#4538] / [i915#5190]) +5 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_big_fb@y-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][89] ([i915#4538] / [i915#5190]) +5 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-dg2-9:        NOTRUN -> [SKIP][90] ([i915#5190]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#10307] / [i915#6095]) +84 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][92] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-4/igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-c-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][93] ([i915#6095]) +34 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
    - shard-glk:          NOTRUN -> [SKIP][94] +184 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk1/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][95] ([i915#4423] / [i915#6095]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][96] ([i915#14098] / [i915#6095]) +52 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-d-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][97] ([i915#6095]) +81 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-12/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg2-9:        NOTRUN -> [SKIP][98] ([i915#12805]) +1 other test skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
    - shard-dg2-9:        NOTRUN -> [SKIP][99] ([i915#6095]) +9 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-b-dp-3:
    - shard-dg2:          NOTRUN -> [SKIP][100] ([i915#6095]) +8 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-b-dp-3.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][101] ([i915#6095]) +49 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][102] ([i915#6095]) +50 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-4/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][103] ([i915#12313])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-dg2-9:        NOTRUN -> [SKIP][104] ([i915#10307] / [i915#6095]) +29 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_cdclk@mode-transition@pipe-a-hdmi-a-2:
    - shard-dg2-9:        NOTRUN -> [SKIP][105] ([i915#13781]) +4 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_cdclk@mode-transition@pipe-a-hdmi-a-2.html

  * igt@kms_cdclk@plane-scaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][106] ([i915#3742])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
    - shard-tglu:         NOTRUN -> [SKIP][107] ([i915#11151] / [i915#7828]) +6 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html

  * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
    - shard-dg2:          NOTRUN -> [SKIP][108] ([i915#11151] / [i915#7828]) +3 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html

  * igt@kms_chamelium_hpd@dp-hpd-storm:
    - shard-tglu-1:       NOTRUN -> [SKIP][109] ([i915#11151] / [i915#7828]) +2 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_chamelium_hpd@dp-hpd-storm.html

  * igt@kms_chamelium_hpd@vga-hpd-after-suspend:
    - shard-dg2-9:        NOTRUN -> [SKIP][110] ([i915#11151] / [i915#7828]) +6 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_chamelium_hpd@vga-hpd-after-suspend.html

  * igt@kms_color@degamma:
    - shard-rkl:          [PASS][111] -> [SKIP][112] ([i915#12655] / [i915#14544]) +1 other test skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_color@degamma.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_color@degamma.html

  * igt@kms_content_protection@atomic:
    - shard-dg2:          NOTRUN -> [SKIP][113] ([i915#7118] / [i915#9424])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][114] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2-9:        NOTRUN -> [SKIP][115] ([i915#3299])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-dg2:          NOTRUN -> [SKIP][116] ([i915#3299])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][117] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0:
    - shard-tglu:         NOTRUN -> [SKIP][118] ([i915#6944] / [i915#9424])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_content_protection@lic-type-0.html
    - shard-dg2-9:        NOTRUN -> [SKIP][119] ([i915#9424])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_content_protection@lic-type-0.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][120] ([i915#13566])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-tglu:         NOTRUN -> [SKIP][121] ([i915#13049])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-dg2:          NOTRUN -> [SKIP][122] ([i915#13049])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg2:          NOTRUN -> [SKIP][123] ([i915#3555]) +3 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-tglu-1:       NOTRUN -> [SKIP][124] ([i915#13049])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-tglu:         NOTRUN -> [SKIP][125] ([i915#4103])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-glk10:        NOTRUN -> [SKIP][126] ([i915#11190]) +3 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk10/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-dg2-9:        NOTRUN -> [SKIP][127] ([i915#4103] / [i915#4213])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy:
    - shard-dg1:          [PASS][128] -> [DMESG-WARN][129] ([i915#4391] / [i915#4423])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
    - shard-dg2-9:        NOTRUN -> [SKIP][130] ([i915#13046] / [i915#5354]) +1 other test skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-dg2:          NOTRUN -> [SKIP][131] ([i915#13046] / [i915#5354]) +1 other test skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-dg2:          NOTRUN -> [SKIP][132] ([i915#9067])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-tglu-1:       NOTRUN -> [SKIP][133] ([i915#4103])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-tglu-1:       NOTRUN -> [SKIP][134] ([i915#9723])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-tglu:         NOTRUN -> [SKIP][135] ([i915#9723])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-tglu:         NOTRUN -> [SKIP][136] ([i915#13691])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#3804])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_dp_aux_dev:
    - shard-dg2:          NOTRUN -> [SKIP][138] ([i915#1257])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_dp_aux_dev.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-tglu:         NOTRUN -> [SKIP][139] ([i915#13749])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_dp_link_training@non-uhbr-mst.html
    - shard-dg2-9:        NOTRUN -> [SKIP][140] ([i915#13749])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-tglu-1:       NOTRUN -> [SKIP][141] ([i915#13748])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-tglu-1:       NOTRUN -> [SKIP][142] ([i915#3555] / [i915#3840])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_dsc@dsc-with-formats:
    - shard-tglu:         NOTRUN -> [SKIP][143] ([i915#3555] / [i915#3840])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_dsc@dsc-with-formats.html
    - shard-dg2-9:        NOTRUN -> [SKIP][144] ([i915#3555] / [i915#3840]) +2 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-tglu:         NOTRUN -> [SKIP][145] ([i915#3840] / [i915#9053])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@psr:
    - shard-dg2-9:        NOTRUN -> [SKIP][146] ([i915#3469])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@display-1x:
    - shard-rkl:          [PASS][147] -> [SKIP][148] ([i915#14544] / [i915#9738])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_feature_discovery@display-1x.html
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_feature_discovery@display-1x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-tglu-1:       NOTRUN -> [SKIP][149] ([i915#1839])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr1:
    - shard-dg2:          NOTRUN -> [SKIP][150] ([i915#658])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-tglu:         NOTRUN -> [SKIP][151] ([i915#3637] / [i915#9934]) +5 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_flip@2x-blocking-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang:
    - shard-dg2-9:        NOTRUN -> [SKIP][152] ([i915#9934]) +5 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][153] ([i915#12745] / [i915#4839]) +1 other test incomplete
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk6/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][154] ([i915#4839])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk6/igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1:
    - shard-snb:          [PASS][155] -> [TIMEOUT][156] ([i915#14033]) +1 other test timeout
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-snb1/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-snb4/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-tglu-1:       NOTRUN -> [SKIP][157] ([i915#3637] / [i915#9934])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][158] ([i915#9934]) +2 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

  * igt@kms_flip@absolute-wf_vblank-interruptible@b-hdmi-a2:
    - shard-rkl:          NOTRUN -> [DMESG-WARN][159] ([i915#12964]) +4 other tests dmesg-warn
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_flip@absolute-wf_vblank-interruptible@b-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][160] ([i915#12314] / [i915#4839])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk8/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
    - shard-glk:          NOTRUN -> [INCOMPLETE][161] ([i915#12745])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk9/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html

  * igt@kms_flip@modeset-vs-vblank-race:
    - shard-rkl:          [PASS][162] -> [SKIP][163] ([i915#14544] / [i915#3637]) +3 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_flip@modeset-vs-vblank-race.html
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_flip@modeset-vs-vblank-race.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][164] ([i915#2672] / [i915#3555])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][165] ([i915#2672])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html
    - shard-rkl:          NOTRUN -> [SKIP][166] ([i915#2672]) +1 other test skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-dg2-9:        NOTRUN -> [SKIP][167] ([i915#2672] / [i915#3555]) +1 other test skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
    - shard-rkl:          [PASS][168] -> [SKIP][169] ([i915#14544] / [i915#3555]) +2 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][170] ([i915#2587] / [i915#2672] / [i915#3555])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-tglu-1:       NOTRUN -> [SKIP][171] ([i915#2587] / [i915#2672])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
    - shard-dg2-9:        NOTRUN -> [SKIP][172] ([i915#2672] / [i915#3555] / [i915#5190])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-tglu:         NOTRUN -> [SKIP][173] ([i915#2672] / [i915#3555]) +1 other test skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
    - shard-tglu:         NOTRUN -> [SKIP][174] ([i915#2587] / [i915#2672]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg2-9:        NOTRUN -> [SKIP][175] ([i915#2672]) +2 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg1:          [PASS][176] -> [DMESG-WARN][177] ([i915#4423]) +4 other tests dmesg-warn
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw:
    - shard-dg2:          NOTRUN -> [SKIP][178] ([i915#5354]) +13 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
    - shard-dg2-9:        NOTRUN -> [SKIP][179] ([i915#5354]) +17 other tests skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt:
    - shard-snb:          [PASS][180] -> [SKIP][181]
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt.html
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render:
    - shard-rkl:          [PASS][182] -> [SKIP][183] ([i915#14544] / [i915#1849] / [i915#5354]) +5 other tests skip
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-tglu:         NOTRUN -> [SKIP][184] ([i915#5439])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite:
    - shard-glk10:        NOTRUN -> [SKIP][185] +456 other tests skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk10/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt:
    - shard-tglu:         NOTRUN -> [SKIP][186] +47 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg2-9:        NOTRUN -> [SKIP][187] ([i915#3458]) +11 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][188] ([i915#8708]) +6 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc:
    - shard-dg2-9:        NOTRUN -> [SKIP][189] ([i915#8708]) +12 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-tglu-1:       NOTRUN -> [SKIP][190] +38 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-dg2:          NOTRUN -> [SKIP][191] ([i915#3458]) +8 other tests skip
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-dg2:          [PASS][192] -> [SKIP][193] ([i915#3555] / [i915#8228])
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-11/igt@kms_hdr@bpc-switch-dpms.html
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-4/igt@kms_hdr@bpc-switch-dpms.html
    - shard-tglu-1:       NOTRUN -> [SKIP][194] ([i915#3555] / [i915#8228])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_hdr@static-swap:
    - shard-tglu:         NOTRUN -> [SKIP][195] ([i915#3555] / [i915#8228])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-dg2-9:        NOTRUN -> [SKIP][196] ([i915#3555] / [i915#8228]) +1 other test skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_invalid_mode@zero-vdisplay:
    - shard-rkl:          [PASS][197] -> [SKIP][198] ([i915#14544] / [i915#3555] / [i915#8826]) +1 other test skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@kms_invalid_mode@zero-vdisplay.html
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_invalid_mode@zero-vdisplay.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][199] ([i915#10656]) +1 other test skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_joiner@basic-big-joiner.html
    - shard-dg2-9:        NOTRUN -> [SKIP][200] ([i915#10656])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][201] ([i915#12339])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][202] ([i915#12394])
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-dg2-9:        NOTRUN -> [SKIP][203] ([i915#12339])
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu:         NOTRUN -> [SKIP][204] ([i915#6301])
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_panel_fitting@legacy.html
    - shard-dg2-9:        NOTRUN -> [SKIP][205] ([i915#6301])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - shard-rkl:          [PASS][206] -> [SKIP][207] ([i915#11190] / [i915#14544]) +1 other test skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_pipe_crc_basic@nonblocking-crc.html
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_pipe_crc_basic@nonblocking-crc.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
    - shard-rkl:          [PASS][208] -> [INCOMPLETE][209] ([i915#14412]) +1 other test incomplete
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html

  * igt@kms_plane@plane-panning-top-left:
    - shard-rkl:          [PASS][210] -> [SKIP][211] ([i915#14544] / [i915#8825])
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_plane@plane-panning-top-left.html
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_plane@plane-panning-top-left.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-tglu-1:       NOTRUN -> [SKIP][212] ([i915#3555])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-tglu:         NOTRUN -> [SKIP][213] ([i915#3555]) +2 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-dg2-9:        NOTRUN -> [SKIP][214] ([i915#13958]) +1 other test skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-tglu:         NOTRUN -> [SKIP][215] ([i915#13958])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_multiple@tiling-4:
    - shard-tglu-1:       NOTRUN -> [SKIP][216] ([i915#14259])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_plane_multiple@tiling-4.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-tglu-1:       NOTRUN -> [SKIP][217] ([i915#12247]) +4 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
    - shard-rkl:          NOTRUN -> [SKIP][218] ([i915#12247])
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
    - shard-rkl:          [PASS][219] -> [SKIP][220] ([i915#14544] / [i915#6953] / [i915#8152])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b:
    - shard-rkl:          [PASS][221] -> [SKIP][222] ([i915#12247] / [i915#14544] / [i915#8152]) +3 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
    - shard-rkl:          [PASS][223] -> [SKIP][224] ([i915#12247] / [i915#14544] / [i915#6953] / [i915#8152])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a:
    - shard-rkl:          [PASS][225] -> [SKIP][226] ([i915#12247] / [i915#14544]) +2 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a.html
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-tglu:         NOTRUN -> [SKIP][227] ([i915#9812])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@basic-brightness:
    - shard-tglu-1:       NOTRUN -> [SKIP][228] ([i915#9812])
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-dg2-9:        NOTRUN -> [SKIP][229] ([i915#12343])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-tglu-1:       NOTRUN -> [SKIP][230] ([i915#9685])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-9:        NOTRUN -> [SKIP][231] ([i915#9685]) +1 other test skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-tglu-1:       NOTRUN -> [SKIP][232] ([i915#4281])
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg2:          [PASS][233] -> [SKIP][234] ([i915#9340])
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-4/igt@kms_pm_lpsp@kms-lpsp.html
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-1/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-rkl:          [PASS][235] -> [SKIP][236] ([i915#9519])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-7/igt@kms_pm_rpm@dpms-lpsp.html
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-8/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-dg2-9:        NOTRUN -> [SKIP][237] ([i915#9519])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          [PASS][238] -> [SKIP][239] ([i915#14544] / [i915#9519])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
    - shard-tglu:         NOTRUN -> [SKIP][240] ([i915#9519])
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-dg2:          [PASS][241] -> [SKIP][242] ([i915#9519])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-11/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
    - shard-tglu-1:       NOTRUN -> [SKIP][243] ([i915#9519])
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-glk:          NOTRUN -> [INCOMPLETE][244] ([i915#10553])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk6/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-dg2:          NOTRUN -> [SKIP][245] ([i915#6524] / [i915#6805])
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-tglu:         NOTRUN -> [SKIP][246] ([i915#11520]) +5 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
    - shard-dg2:          NOTRUN -> [SKIP][247] ([i915#11520]) +3 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-9:        NOTRUN -> [SKIP][248] ([i915#11520]) +5 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area:
    - shard-glk10:        NOTRUN -> [SKIP][249] ([i915#11520]) +11 other tests skip
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk10/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf:
    - shard-glk:          NOTRUN -> [SKIP][250] ([i915#11520]) +3 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk9/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area:
    - shard-tglu-1:       NOTRUN -> [SKIP][251] ([i915#11520]) +3 other tests skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-tglu:         NOTRUN -> [SKIP][252] ([i915#9683])
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2:          NOTRUN -> [SKIP][253] ([i915#9683])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-8/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@fbc-pr-primary-mmap-gtt:
    - shard-dg2-9:        NOTRUN -> [SKIP][254] ([i915#1072] / [i915#9732]) +14 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_psr@fbc-pr-primary-mmap-gtt.html

  * igt@kms_psr@pr-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][255] ([i915#9732]) +13 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_psr@pr-dpms.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-tglu-1:       NOTRUN -> [SKIP][256] ([i915#9732]) +9 other tests skip
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_psr@psr2-primary-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][257] ([i915#1072] / [i915#9732]) +9 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_psr@psr2-primary-mmap-gtt.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-tglu:         NOTRUN -> [SKIP][258] ([i915#9685])
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@bad-tiling:
    - shard-dg2:          NOTRUN -> [SKIP][259] ([i915#12755])
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_rotation_crc@bad-tiling.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
    - shard-tglu-1:       NOTRUN -> [SKIP][260] ([i915#5289])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html

  * igt@kms_scaling_modes@scaling-mode-center:
    - shard-dg2-9:        NOTRUN -> [SKIP][261] ([i915#3555]) +1 other test skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_scaling_modes@scaling-mode-center.html

  * igt@kms_setmode@basic:
    - shard-tglu-1:       NOTRUN -> [FAIL][262] ([i915#5465]) +2 other tests fail
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_setmode@basic.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-9:        NOTRUN -> [SKIP][263] ([i915#8623])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2:          NOTRUN -> [SKIP][264] ([i915#8623])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@lobf:
    - shard-dg2-9:        NOTRUN -> [SKIP][265] ([i915#11920])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_vrr@lobf.html
    - shard-tglu:         NOTRUN -> [SKIP][266] ([i915#11920])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_vrr@lobf.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-tglu-1:       NOTRUN -> [SKIP][267] ([i915#9906])
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@kms_writeback@writeback-check-output:
    - shard-dg2-9:        NOTRUN -> [SKIP][268] ([i915#2437]) +1 other test skip
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-tglu:         NOTRUN -> [SKIP][269] ([i915#2437] / [i915#9412])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-6/igt@kms_writeback@writeback-check-output-xrgb2101010.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-glk:          NOTRUN -> [SKIP][270] ([i915#2437])
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk6/igt@kms_writeback@writeback-fb-id.html

  * igt@perf@global-sseu-config:
    - shard-dg2:          NOTRUN -> [SKIP][271] ([i915#7387])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-11/igt@perf@global-sseu-config.html

  * igt@perf@non-zero-reason:
    - shard-dg2-9:        NOTRUN -> [FAIL][272] ([i915#9100]) +1 other test fail
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@perf@non-zero-reason.html

  * igt@perf_pmu@module-unload:
    - shard-glk10:        NOTRUN -> [FAIL][273] ([i915#14433])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk10/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@most-busy-idle-check-all:
    - shard-rkl:          [PASS][274] -> [FAIL][275] ([i915#4349]) +1 other test fail
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@perf_pmu@most-busy-idle-check-all.html
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-7/igt@perf_pmu@most-busy-idle-check-all.html

  * igt@prime_vgem@basic-fence-flip:
    - shard-rkl:          [PASS][276] -> [SKIP][277] ([i915#14544] / [i915#3708])
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@prime_vgem@basic-fence-flip.html
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-read:
    - shard-dg2-9:        NOTRUN -> [SKIP][278] ([i915#3291] / [i915#3708])
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@fence-write-hang:
    - shard-dg2-9:        NOTRUN -> [SKIP][279] ([i915#3708]) +1 other test skip
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-9/igt@prime_vgem@fence-write-hang.html

  
#### Possible fixes ####

  * igt@gem_eio@unwedge-stress:
    - shard-dg1:          [FAIL][280] ([i915#5784]) -> [PASS][281] +1 other test pass
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-13/igt@gem_eio@unwedge-stress.html
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-13/igt@gem_eio@unwedge-stress.html

  * igt@gem_pxp@create-valid-protected-context:
    - shard-rkl:          [TIMEOUT][282] ([i915#12964]) -> [PASS][283]
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-5/igt@gem_pxp@create-valid-protected-context.html
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-8/igt@gem_pxp@create-valid-protected-context.html

  * igt@gem_pxp@display-protected-crc:
    - shard-rkl:          [TIMEOUT][284] ([i915#12917] / [i915#12964]) -> [PASS][285] +3 other tests pass
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@gem_pxp@display-protected-crc.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-8/igt@gem_pxp@display-protected-crc.html

  * igt@gem_userptr_blits@stress-purge:
    - shard-rkl:          [DMESG-WARN][286] ([i915#12964]) -> [PASS][287] +15 other tests pass
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-7/igt@gem_userptr_blits@stress-purge.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-8/igt@gem_userptr_blits@stress-purge.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg2:          [DMESG-WARN][288] ([i915#13447]) -> [PASS][289]
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-10/igt@i915_module_load@reload-with-fault-injection.html
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-10/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_rpm@system-suspend:
    - shard-dg2:          [ABORT][290] ([i915#8213]) -> [PASS][291]
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-10/igt@i915_pm_rpm@system-suspend.html
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-10/igt@i915_pm_rpm@system-suspend.html

  * igt@i915_power@sanity:
    - shard-mtlp:         [SKIP][292] ([i915#7984]) -> [PASS][293]
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-mtlp-7/igt@i915_power@sanity.html
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-mtlp-8/igt@i915_power@sanity.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-dg2:          [FAIL][294] ([i915#5956]) -> [PASS][295] +1 other test pass
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_color@legacy-gamma-reset:
    - shard-rkl:          [SKIP][296] ([i915#12655] / [i915#14544]) -> [PASS][297] +1 other test pass
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_color@legacy-gamma-reset.html
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_color@legacy-gamma-reset.html

  * igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size:
    - shard-rkl:          [SKIP][298] ([i915#11190] / [i915#14544]) -> [PASS][299] +1 other test pass
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-rkl:          [FAIL][300] ([i915#2346]) -> [PASS][301] +2 other tests pass
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip@absolute-wf_vblank:
    - shard-rkl:          [SKIP][302] ([i915#14544] / [i915#3637]) -> [PASS][303] +4 other tests pass
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_flip@absolute-wf_vblank.html
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_flip@absolute-wf_vblank.html

  * igt@kms_flip@plain-flip-ts-check-interruptible:
    - shard-dg1:          [FAIL][304] -> [PASS][305]
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_flip@plain-flip-ts-check-interruptible.html
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_flip@plain-flip-ts-check-interruptible.html

  * igt@kms_flip_tiling@flip-change-tiling:
    - shard-rkl:          [SKIP][306] ([i915#14544] / [i915#3555]) -> [PASS][307] +3 other tests pass
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_flip_tiling@flip-change-tiling.html
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_flip_tiling@flip-change-tiling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-rkl:          [SKIP][308] ([i915#14544] / [i915#1849] / [i915#5354]) -> [PASS][309] +7 other tests pass
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
    - shard-snb:          [SKIP][310] -> [PASS][311]
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-snb4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite.html
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-snb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_invalid_mode@bad-vsync-end:
    - shard-rkl:          [SKIP][312] ([i915#14544] / [i915#3555] / [i915#8826]) -> [PASS][313] +1 other test pass
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_invalid_mode@bad-vsync-end.html
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_invalid_mode@bad-vsync-end.html

  * igt@kms_lease@lease-invalid-plane:
    - shard-rkl:          [SKIP][314] ([i915#14544]) -> [PASS][315] +43 other tests pass
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_lease@lease-invalid-plane.html
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_lease@lease-invalid-plane.html

  * igt@kms_plane@plane-panning-bottom-right:
    - shard-rkl:          [SKIP][316] ([i915#14544] / [i915#8825]) -> [PASS][317]
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right.html
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_plane@plane-panning-bottom-right.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb:
    - shard-rkl:          [SKIP][318] ([i915#14544] / [i915#7294]) -> [PASS][319]
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_alpha_blend@alpha-transparent-fb.html
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_plane_alpha_blend@alpha-transparent-fb.html

  * igt@kms_plane_scaling@invalid-parameters:
    - shard-rkl:          [SKIP][320] ([i915#14544] / [i915#8152]) -> [PASS][321] +1 other test pass
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@invalid-parameters.html
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_plane_scaling@invalid-parameters.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-20x20@pipe-a:
    - shard-rkl:          [SKIP][322] ([i915#12247] / [i915#14544]) -> [PASS][323] +3 other tests pass
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-20x20@pipe-a.html
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-20x20@pipe-a.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25:
    - shard-rkl:          [SKIP][324] ([i915#14544] / [i915#6953] / [i915#8152]) -> [PASS][325]
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25.html
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75:
    - shard-rkl:          [SKIP][326] ([i915#12247] / [i915#14544] / [i915#6953] / [i915#8152]) -> [PASS][327]
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75.html
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-b:
    - shard-rkl:          [SKIP][328] ([i915#12247] / [i915#14544] / [i915#8152]) -> [PASS][329] +4 other tests pass
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-b.html
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-b.html

  * igt@kms_pm_rpm@i2c:
    - shard-dg1:          [DMESG-WARN][330] ([i915#4423]) -> [PASS][331] +1 other test pass
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-18/igt@kms_pm_rpm@i2c.html
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-12/igt@kms_pm_rpm@i2c.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          [SKIP][332] ([i915#9519]) -> [PASS][333]
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-1/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-rkl:          [SKIP][334] ([i915#9519]) -> [PASS][335] +1 other test pass
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [FAIL][336] ([i915#4349]) -> [PASS][337] +4 other tests pass
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-3/igt@perf_pmu@busy-double-start@vecs1.html
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html

  
#### Warnings ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-rkl:          [SKIP][338] ([i915#14544] / [i915#8411]) -> [SKIP][339] ([i915#8411]) +2 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@api_intel_bb@blit-reloc-purge-cache.html
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-rkl:          [SKIP][340] ([i915#8411]) -> [SKIP][341] ([i915#14544] / [i915#8411])
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@api_intel_bb@object-reloc-purge-cache.html
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@api_intel_bb@object-reloc-purge-cache.html

  * igt@gem_basic@multigpu-create-close:
    - shard-rkl:          [SKIP][342] ([i915#7697]) -> [SKIP][343] ([i915#14544] / [i915#7697])
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@gem_basic@multigpu-create-close.html
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_basic@multigpu-create-close.html

  * igt@gem_create@create-ext-cpu-access-big:
    - shard-rkl:          [SKIP][344] ([i915#14544] / [i915#6335]) -> [SKIP][345] ([i915#6335])
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_create@create-ext-cpu-access-big.html
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@gem_create@create-ext-cpu-access-big.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-rkl:          [SKIP][346] ([i915#6335]) -> [SKIP][347] ([i915#14544] / [i915#6335])
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@gem_create@create-ext-cpu-access-sanity-check.html
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-rkl:          [SKIP][348] ([i915#14544] / [i915#280]) -> [SKIP][349] ([i915#280])
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_ctx_sseu@invalid-args.html
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-rkl:          [SKIP][350] ([i915#280]) -> [SKIP][351] ([i915#14544] / [i915#280]) +1 other test skip
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@gem_ctx_sseu@mmap-args.html
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-rkl:          [SKIP][352] ([i915#14544] / [i915#4525]) -> [SKIP][353] ([i915#4525])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_exec_balancer@parallel-balancer.html
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-rkl:          [SKIP][354] ([i915#4525]) -> [SKIP][355] ([i915#14544] / [i915#4525]) +1 other test skip
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@gem_exec_balancer@parallel-ordering.html
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_exec_balancer@parallel-ordering.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-rkl:          [SKIP][356] ([i915#14544] / [i915#6344]) -> [SKIP][357] ([i915#6344])
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_exec_capture@capture-recoverable.html
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_reloc@basic-gtt-read:
    - shard-rkl:          [SKIP][358] ([i915#3281]) -> [SKIP][359] ([i915#14544] / [i915#3281]) +10 other tests skip
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@gem_exec_reloc@basic-gtt-read.html
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-read.html

  * igt@gem_exec_reloc@basic-softpin:
    - shard-rkl:          [SKIP][360] ([i915#14544] / [i915#3281]) -> [SKIP][361] ([i915#3281]) +3 other tests skip
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_exec_reloc@basic-softpin.html
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@gem_exec_reloc@basic-softpin.html

  * igt@gem_exec_schedule@semaphore-power:
    - shard-rkl:          [SKIP][362] ([i915#7276]) -> [SKIP][363] ([i915#14544] / [i915#7276])
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@gem_exec_schedule@semaphore-power.html
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_lmem_swapping@heavy-multi:
    - shard-rkl:          [SKIP][364] ([i915#14544] / [i915#4613]) -> [SKIP][365] ([i915#4613])
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_lmem_swapping@heavy-multi.html
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@gem_lmem_swapping@heavy-multi.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-rkl:          [SKIP][366] ([i915#4613]) -> [SKIP][367] ([i915#14544] / [i915#4613]) +1 other test skip
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@gem_lmem_swapping@heavy-verify-random.html
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_media_vme:
    - shard-rkl:          [SKIP][368] ([i915#14544] / [i915#284]) -> [SKIP][369] ([i915#284])
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_media_vme.html
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@gem_media_vme.html

  * igt@gem_pread@display:
    - shard-rkl:          [SKIP][370] ([i915#3282]) -> [SKIP][371] ([i915#14544] / [i915#3282]) +2 other tests skip
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@gem_pread@display.html
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_pread@display.html

  * igt@gem_pread@snoop:
    - shard-rkl:          [SKIP][372] ([i915#14544] / [i915#3282]) -> [SKIP][373] ([i915#3282]) +5 other tests skip
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_pread@snoop.html
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@gem_pread@snoop.html

  * igt@gem_pxp@reject-modify-context-protection-off-3:
    - shard-rkl:          [SKIP][374] ([i915#14544] / [i915#4270]) -> [SKIP][375] ([i915#4270])
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gem_pxp@reject-modify-context-protection-off-3.html
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@gem_pxp@reject-modify-context-protection-off-3.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-rkl:          [SKIP][376] ([i915#3297] / [i915#3323]) -> [SKIP][377] ([i915#14544] / [i915#3297] / [i915#3323])
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@gem_userptr_blits@dmabuf-sync.html
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-rkl:          [SKIP][378] ([i915#3297]) -> [SKIP][379] ([i915#14544] / [i915#3297])
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@gem_userptr_blits@unsync-unmap.html
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gen9_exec_parse@bb-secure:
    - shard-rkl:          [SKIP][380] ([i915#14544] / [i915#2527]) -> [SKIP][381] ([i915#2527]) +1 other test skip
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@gen9_exec_parse@bb-secure.html
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@gen9_exec_parse@bb-secure.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-rkl:          [SKIP][382] ([i915#2527]) -> [SKIP][383] ([i915#14544] / [i915#2527]) +3 other tests skip
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@gen9_exec_parse@valid-registers.html
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_module_load@resize-bar:
    - shard-rkl:          [SKIP][384] ([i915#14544] / [i915#6412]) -> [SKIP][385] ([i915#6412])
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@i915_module_load@resize-bar.html
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_sseu@full-enable:
    - shard-rkl:          [SKIP][386] ([i915#14544] / [i915#4387]) -> [SKIP][387] ([i915#4387])
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@i915_pm_sseu@full-enable.html
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@i915_pm_sseu@full-enable.html

  * igt@i915_query@test-query-geometry-subslices:
    - shard-rkl:          [SKIP][388] ([i915#14544] / [i915#5723]) -> [SKIP][389] ([i915#5723])
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@i915_query@test-query-geometry-subslices.html
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@i915_query@test-query-geometry-subslices.html

  * igt@kms_addfb_basic@clobberred-modifier:
    - shard-dg1:          [SKIP][390] ([i915#4212]) -> [SKIP][391] ([i915#4212] / [i915#4423])
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_addfb_basic@clobberred-modifier.html
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_addfb_basic@clobberred-modifier.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-rkl:          [SKIP][392] ([i915#14544]) -> [SKIP][393] ([i915#5286]) +1 other test skip
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_big_fb@4-tiled-addfb.html
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-rkl:          [SKIP][394] ([i915#5286]) -> [SKIP][395] ([i915#14544]) +2 other tests skip
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-rkl:          [SKIP][396] ([i915#3638]) -> [SKIP][397] ([i915#14544])
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_big_fb@linear-64bpp-rotate-90.html
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-rkl:          [SKIP][398] ([i915#14544]) -> [SKIP][399] ([i915#3638]) +2 other tests skip
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-rkl:          [SKIP][400] -> [SKIP][401] ([i915#14544]) +6 other tests skip
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs:
    - shard-rkl:          [SKIP][402] ([i915#14098] / [i915#6095]) -> [SKIP][403] ([i915#14544]) +7 other tests skip
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs:
    - shard-dg1:          [SKIP][404] ([i915#6095]) -> [SKIP][405] ([i915#4423] / [i915#6095]) +1 other test skip
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs.html
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][406] ([i915#14098] / [i915#6095]) -> [SKIP][407] ([i915#6095]) +9 other tests skip
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-3/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-b-hdmi-a-2.html
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-rkl:          [SKIP][408] ([i915#14544]) -> [SKIP][409] ([i915#14098] / [i915#6095]) +5 other tests skip
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
    - shard-glk:          [INCOMPLETE][410] ([i915#12796]) -> [INCOMPLETE][411] ([i915#12796] / [i915#14694])
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-glk9/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk1/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-rkl:          [SKIP][412] ([i915#14544]) -> [SKIP][413] ([i915#12313]) +3 other tests skip
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-rkl:          [SKIP][414] ([i915#14544] / [i915#3742]) -> [SKIP][415] ([i915#3742])
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_cdclk@mode-transition-all-outputs.html
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_edid@hdmi-edid-read:
    - shard-rkl:          [SKIP][416] ([i915#11151] / [i915#7828]) -> [SKIP][417] ([i915#11151] / [i915#14544] / [i915#7828]) +2 other tests skip
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-read.html
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-read.html

  * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
    - shard-dg1:          [SKIP][418] ([i915#11151] / [i915#7828]) -> [SKIP][419] ([i915#11151] / [i915#4423] / [i915#7828])
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html

  * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode:
    - shard-rkl:          [SKIP][420] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][421] ([i915#11151] / [i915#7828]) +5 other tests skip
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html

  * igt@kms_content_protection@atomic:
    - shard-rkl:          [SKIP][422] ([i915#7118] / [i915#9424]) -> [SKIP][423] ([i915#14544])
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_content_protection@atomic.html
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_content_protection@atomic.html
    - shard-dg1:          [SKIP][424] ([i915#7116] / [i915#9424]) -> [SKIP][425] ([i915#4423] / [i915#7116] / [i915#9424])
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_content_protection@atomic.html
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-rkl:          [SKIP][426] ([i915#14544]) -> [SKIP][427] ([i915#3116])
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_content_protection@dp-mst-type-1.html
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          [SKIP][428] ([i915#9424]) -> [SKIP][429] ([i915#9433])
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-17/igt@kms_content_protection@mei-interface.html
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-13/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-rkl:          [SKIP][430] ([i915#14544]) -> [SKIP][431] ([i915#13049]) +1 other test skip
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-512x512.html
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-rkl:          [SKIP][432] ([i915#13049]) -> [SKIP][433] ([i915#14544])
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_cursor_crc@cursor-random-512x512.html
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-rkl:          [SKIP][434] ([i915#14544]) -> [SKIP][435] ([i915#3555]) +3 other tests skip
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-dg1:          [SKIP][436] ([i915#4423]) -> [SKIP][437]
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-18/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-12/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
    - shard-rkl:          [SKIP][438] ([i915#14544]) -> [SKIP][439] +14 other tests skip
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-rkl:          [SKIP][440] ([i915#9067]) -> [SKIP][441] ([i915#14544])
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-rkl:          [SKIP][442] ([i915#14544]) -> [SKIP][443] ([i915#4103])
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dp_aux_dev:
    - shard-rkl:          [SKIP][444] ([i915#1257]) -> [SKIP][445] ([i915#1257] / [i915#14544])
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_dp_aux_dev.html
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_dp_aux_dev.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-rkl:          [SKIP][446] ([i915#14544]) -> [SKIP][447] ([i915#13749])
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_dp_link_training@non-uhbr-sst.html
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_feature_discovery@chamelium:
    - shard-rkl:          [SKIP][448] ([i915#14544] / [i915#4854]) -> [SKIP][449] ([i915#4854])
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_feature_discovery@chamelium.html
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-2x:
    - shard-rkl:          [SKIP][450] ([i915#14544] / [i915#1839]) -> [SKIP][451] ([i915#1839])
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_feature_discovery@display-2x.html
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@psr1:
    - shard-rkl:          [SKIP][452] ([i915#14544] / [i915#658]) -> [SKIP][453] ([i915#658])
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_feature_discovery@psr1.html
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-rkl:          [SKIP][454] ([i915#14544] / [i915#9934]) -> [SKIP][455] ([i915#9934]) +4 other tests skip
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms.html
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@2x-flip-vs-fences:
    - shard-rkl:          [SKIP][456] ([i915#9934]) -> [SKIP][457] ([i915#14544] / [i915#9934]) +3 other tests skip
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_flip@2x-flip-vs-fences.html
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_flip@2x-flip-vs-fences.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-rkl:          [SKIP][458] ([i915#14544] / [i915#3637]) -> [DMESG-WARN][459] ([i915#12964])
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_flip@flip-vs-expired-vblank.html
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-glk:          [INCOMPLETE][460] ([i915#12745] / [i915#4839] / [i915#6113]) -> [INCOMPLETE][461] ([i915#12314] / [i915#12745] / [i915#4839])
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-glk3/igt@kms_flip@flip-vs-suspend-interruptible.html
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-glk8/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling:
    - shard-rkl:          [SKIP][462] ([i915#14544] / [i915#3555]) -> [SKIP][463] ([i915#2672] / [i915#3555]) +1 other test skip
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling.html
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling:
    - shard-rkl:          [SKIP][464] ([i915#2672] / [i915#3555]) -> [SKIP][465] ([i915#14544] / [i915#3555])
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][466] ([i915#14544] / [i915#1849] / [i915#5354]) -> [DMESG-WARN][467] ([i915#12964])
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-rkl:          [SKIP][468] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][469] ([i915#1825]) +22 other tests skip
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-rkl:          [SKIP][470] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][471] ([i915#3023]) +18 other tests skip
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
    - shard-rkl:          [SKIP][472] ([i915#3023]) -> [SKIP][473] ([i915#14544] / [i915#1849] / [i915#5354]) +10 other tests skip
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt:
    - shard-rkl:          [SKIP][474] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][475]
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-dg2:          [SKIP][476] ([i915#3458]) -> [SKIP][477] ([i915#10433] / [i915#3458])
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt:
    - shard-dg1:          [SKIP][478] ([i915#3458] / [i915#4423]) -> [SKIP][479] ([i915#3458])
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt.html
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt:
    - shard-dg2:          [SKIP][480] ([i915#10433] / [i915#3458]) -> [SKIP][481] ([i915#3458]) +6 other tests skip
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt.html
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
    - shard-rkl:          [SKIP][482] ([i915#1825]) -> [SKIP][483] ([i915#14544] / [i915#1849] / [i915#5354]) +21 other tests skip
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
    - shard-dg1:          [SKIP][484] -> [SKIP][485] ([i915#4423]) +2 other tests skip
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-modesetfrombusy:
    - shard-dg1:          [SKIP][486] ([i915#3458]) -> [SKIP][487] ([i915#3458] / [i915#4423])
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-mtlp:         [SKIP][488] ([i915#12713]) -> [SKIP][489] ([i915#1187] / [i915#12713])
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-mtlp-6/igt@kms_hdr@brightness-with-hdr.html
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-mtlp-1/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          [SKIP][490] ([i915#12713]) -> [SKIP][491] ([i915#14544])
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_hdr@brightness-with-hdr.html
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_hdr@brightness-with-hdr.html
    - shard-tglu:         [SKIP][492] ([i915#12713]) -> [SKIP][493] ([i915#1187] / [i915#12713])
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-tglu-9/igt@kms_hdr@brightness-with-hdr.html
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-tglu-2/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@static-toggle:
    - shard-rkl:          [SKIP][494] ([i915#14544]) -> [SKIP][495] ([i915#3555] / [i915#8228])
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_hdr@static-toggle.html
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_hdr@static-toggle.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-rkl:          [SKIP][496] ([i915#14544]) -> [SKIP][497] ([i915#13958])
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-x.html
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a:
    - shard-rkl:          [SKIP][498] ([i915#12247] / [i915#14544]) -> [SKIP][499] ([i915#12247])
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b:
    - shard-rkl:          [SKIP][500] ([i915#12247] / [i915#14544] / [i915#8152]) -> [SKIP][501] ([i915#12247]) +1 other test skip
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          [SKIP][502] ([i915#14544] / [i915#9519]) -> [SKIP][503] ([i915#9519]) +1 other test skip
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-rkl:          [SKIP][504] ([i915#14544] / [i915#6524]) -> [SKIP][505] ([i915#6524]) +1 other test skip
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_prime@basic-crc-hybrid.html
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-rkl:          [SKIP][506] ([i915#11520] / [i915#14544]) -> [SKIP][507] ([i915#11520]) +5 other tests skip
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
    - shard-rkl:          [SKIP][508] ([i915#11520]) -> [SKIP][509] ([i915#11520] / [i915#14544]) +3 other tests skip
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-rkl:          [SKIP][510] ([i915#9683]) -> [SKIP][511] ([i915#14544] / [i915#9683])
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_psr2_su@page_flip-nv12.html
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-rkl:          [SKIP][512] ([i915#14544] / [i915#9683]) -> [SKIP][513] ([i915#9683])
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_psr2_su@page_flip-xrgb8888.html
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - shard-dg1:          [SKIP][514] ([i915#1072] / [i915#4423] / [i915#9732]) -> [SKIP][515] ([i915#1072] / [i915#9732])
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-15/igt@kms_psr@fbc-pr-cursor-plane-onoff.html
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-18/igt@kms_psr@fbc-pr-cursor-plane-onoff.html

  * igt@kms_psr@fbc-psr-basic:
    - shard-rkl:          [SKIP][516] ([i915#1072] / [i915#9732]) -> [SKIP][517] ([i915#1072] / [i915#14544] / [i915#9732]) +10 other tests skip
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_psr@fbc-psr-basic.html
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_psr@fbc-psr-basic.html

  * igt@kms_psr@psr-sprite-mmap-cpu:
    - shard-dg1:          [SKIP][518] ([i915#1072] / [i915#9732]) -> [SKIP][519] ([i915#1072] / [i915#4423] / [i915#9732]) +1 other test skip
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-dg1-12/igt@kms_psr@psr-sprite-mmap-cpu.html
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-dg1-16/igt@kms_psr@psr-sprite-mmap-cpu.html

  * igt@kms_psr@psr-sprite-plane-move:
    - shard-rkl:          [SKIP][520] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][521] ([i915#1072] / [i915#9732]) +13 other tests skip
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_psr@psr-sprite-plane-move.html
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_psr@psr-sprite-plane-move.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
    - shard-rkl:          [SKIP][522] ([i915#5289]) -> [SKIP][523] ([i915#14544])
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-rkl:          [SKIP][524] ([i915#14544]) -> [SKIP][525] ([i915#5289])
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-rkl:          [SKIP][526] ([i915#14544] / [i915#3555]) -> [SKIP][527] ([i915#3555]) +1 other test skip
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_setmode@invalid-clone-single-crtc.html
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-rkl:          [SKIP][528] ([i915#3555]) -> [SKIP][529] ([i915#14544] / [i915#3555])
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-rkl:          [SKIP][530] ([i915#14544]) -> [SKIP][531] ([i915#8623])
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-2/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@flip-dpms:
    - shard-rkl:          [SKIP][532] ([i915#3555]) -> [SKIP][533] ([i915#14544])
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-4/igt@kms_vrr@flip-dpms.html
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_vrr@flip-dpms.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-rkl:          [SKIP][534] ([i915#2437]) -> [SKIP][535] ([i915#14544] / [i915#2437])
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@kms_writeback@writeback-fb-id.html
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@kms_writeback@writeback-fb-id.html

  * igt@perf@per-context-mode-unprivileged:
    - shard-rkl:          [SKIP][536] ([i915#14544] / [i915#2435]) -> [SKIP][537] ([i915#2435])
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@perf@per-context-mode-unprivileged.html
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@perf@per-context-mode-unprivileged.html

  * igt@prime_vgem@basic-write:
    - shard-rkl:          [SKIP][538] ([i915#14544] / [i915#3291] / [i915#3708]) -> [SKIP][539] ([i915#3291] / [i915#3708])
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-6/igt@prime_vgem@basic-write.html
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-5/igt@prime_vgem@basic-write.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-rkl:          [SKIP][540] ([i915#9917]) -> [SKIP][541] ([i915#14544] / [i915#9917])
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17115/shard-rkl-2/igt@sriov_basic@enable-vfs-autoprobe-off.html
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_153442v3/shard-rkl-6/igt@sriov_basic@enable-vfs-autoprobe-off.html

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

  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553
  [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
  [i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
  [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
  [i915#12353]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12353
  [i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
  [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
  [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12796]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12796
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
  [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
  [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
  [i915#13447]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13447
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14033]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14033
  [i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14412
  [i915#14433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14433
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14694]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14694
  [i915#14806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14806
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
  [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
  [i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
  [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3778
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
  [i915#4391]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4391
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#5465]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5465
  [i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
  [i915#5784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5784
  [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
  [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
  [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7016]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7016
  [i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
  [i915#7276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7276
  [i915#7294]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7294
  [i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
  [i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
  [i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
  [i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
  [i915#8213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8213
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
  [i915#8826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8826
  [i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
  [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
  [i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
  [i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9738]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9738
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * Linux: CI_DRM_17115 -> Patchwork_153442v3

  CI-20190529: 20190529
  CI_DRM_17115: d5da0d39eb8ec29aeb92793ad8f0c5b1bdac5331 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8519: 8519
  Patchwork_153442v3: d5da0d39eb8ec29aeb92793ad8f0c5b1bdac5331 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [PATCH v3 03/12] cpufreq: intel_pstate: Use scope-based cleanup helper
  2025-09-02 11:47       ` Rafael J. Wysocki
@ 2025-09-03  0:51         ` Zihuan Zhang
  2025-09-03 11:04           ` Rafael J. Wysocki
  0 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-03  0:51 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Viresh Kumar, Catalin Marinas, Will Deacon, Borislav Petkov,
	Dave Hansen, Srinivas Pandruvada, Michael Ellerman,
	Krzysztof Kozlowski, Alim Akhtar, Thierry Reding, MyungJoo Ham,
	Kyungmin Park, Chanwoo Choi, Jani Nikula, Rodrigo Vivi,
	Tvrtko Ursulin, David Airlie, Simona Vetter, Daniel Lezcano,
	Sascha Hauer, Shawn Guo, Eduardo Valentin, Keerthy, Ben Horgan,
	zhenglifeng, Zhang Rui, Len Brown, Lukasz Luba,
	Pengutronix Kernel Team, Beata Michalska, Fabio Estevam,
	Pavel Machek, Sumit Gupta, Prasanna Kumar T S M, Sudeep Holla,
	Yicong Yang, linux-pm, linux-acpi, linuxppc-dev, linux-arm-kernel,
	intel-gfx, dri-devel, imx, linux-omap, linux-kernel


在 2025/9/2 19:47, Rafael J. Wysocki 写道:
> On Tue, Sep 2, 2025 at 12:33 PM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>>
>> 在 2025/9/1 23:17, Rafael J. Wysocki 写道:
>>> On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>>>> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
>>>> annotation for policy references. This reduces the risk of reference
>>>> counting mistakes and aligns the code with the latest kernel style.
>>>>
>>>> No functional change intended.
>>>>
>>>> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
>>>> ---
>>>>    drivers/cpufreq/intel_pstate.c | 8 +++-----
>>>>    1 file changed, 3 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
>>>> index f366d35c5840..4abc1ef2d2b0 100644
>>>> --- a/drivers/cpufreq/intel_pstate.c
>>>> +++ b/drivers/cpufreq/intel_pstate.c
>>>> @@ -1502,9 +1502,8 @@ static void __intel_pstate_update_max_freq(struct cpufreq_policy *policy,
>>>>
>>>>    static bool intel_pstate_update_max_freq(struct cpudata *cpudata)
>>>>    {
>>>> -       struct cpufreq_policy *policy __free(put_cpufreq_policy);
>>>> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
>>>>
>>>> -       policy = cpufreq_cpu_get(cpudata->cpu);
>>>>           if (!policy)
>>>>                   return false;
>>> The structure of the code is intentional here and there's no reason to
>>> change it.
>>
>> Got it. Thanks for clarifying.
>>
>> So for this case the current structure is intentional -
> Note that I'm talking about this particular change only.  The other
> change in the $subject patch is fine.
>
>> should I also avoid similar changes in other drivers?
> That depends on who maintains them, which is why I wanted you to split
> the patch into smaller changes in the first place.
>
> My personal view is that code formatting changes, which effectively is
> what this particular one is, are pointless unless they make the code
> much easier to follow.


UnderStood, Thanks!


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

* Re: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
  2025-09-02 15:57   ` Krzysztof Kozlowski
@ 2025-09-03  2:12     ` Zihuan Zhang
  2025-09-03  6:11       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-03  2:12 UTC (permalink / raw)
  To: krzk
  Cc: airlied, alim.akhtar, beata.michalska, ben.horgan, bp,
	catalin.marinas, cw00.choi, daniel.lezcano, dave.hansen,
	dri-devel, edubezval, festevam, imx, intel-gfx, j-keerthy,
	jani.nikula, kernel, kyungmin.park, lenb, linux-acpi,
	linux-arm-kernel, linux-kernel, linux-omap, linux-pm,
	linuxppc-dev, lukasz.luba, mpe, myungjoo.ham, pavel, ptsm, rafael,
	rodrigo.vivi, rui.zhang, s.hauer, shawnguo, simona,
	srinivas.pandruvada, sudeep.holla, sumitg, thierry.reding,
	tursulin, viresh.kumar, will, yangyicong, zhangzihuan,
	zhenglifeng1

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=yes, Size: 849 bytes --]

> You are not improving the source code here. This is not how to use
>  __free() and you clearly do not understand the source code.

Sorry for the problem, policy should be assigned after cpumask_test_cpu().

I actually realized earlier that __free() only frees at the end of the variable’s lifetime. 
I had suggested using a braced macro in cpufreq.h to allow immediate release after use, 
but I understand the maintainer’s advice to “keep it simple” and will follow that.

> What's more, you did not use standard tools which would tell you this is
> buggy and wrong.

Could you please let me know which standard tools you recommend for detecting such issues? 

I’d like to use them to avoid similar mistakes in the future.

> Don't introduce cleanup.h if you do not understand how it works.

Should I drop this patch?

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

* Re: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
  2025-09-02 15:53 ` Dan Carpenter
  (?)
@ 2025-09-03  2:30 ` Zihuan Zhang
  -1 siblings, 0 replies; 33+ messages in thread
From: Zihuan Zhang @ 2025-09-03  2:30 UTC (permalink / raw)
  To: Dan Carpenter, oe-kbuild, Rafael J . wysocki, Viresh Kumar,
	Catalin Marinas, Will Deacon, Borislav Petkov, Dave Hansen,
	Srinivas Pandruvada, Michael Ellerman, Krzysztof Kozlowski,
	Alim Akhtar, Thierry Reding, MyungJoo Ham, Kyungmin Park,
	Chanwoo Choi, Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Simona Vetter, Daniel Lezcano, Sascha Hauer,
	Shawn Guo, Eduardo Valentin, Keerthy
  Cc: lkp, oe-kbuild-all, Ben Horgan, zhenglifeng, Zhang Rui, Len Brown,
	Lukasz Luba, Pengutronix Kernel Team


在 2025/9/2 23:53, Dan Carpenter 写道:
> Hi Zihuan,
>
> kernel test robot noticed the following build warnings:
>
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Zihuan-Zhang/arm64-topology-Use-scope-based-cleanup-helper/20250901-170106
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> patch link:    https://lore.kernel.org/r/20250901085748.36795-13-zhangzihuan%40kylinos.cn
> patch subject: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
> config: powerpc64-randconfig-r071-20250902 (https://download.01.org/0day-ci/archive/20250902/202509022308.CeaKUqJM-lkp@intel.com/config)
> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 2e122990391b2ba062e6308a12cfedf7206270ba)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> | Closes: https://lore.kernel.org/r/202509022308.CeaKUqJM-lkp@intel.com/
>
> smatch warnings:
> kernel/power/energy_model.c:454 em_cpufreq_update_efficiencies() error: uninitialized symbol 'policy'.
>
> vim +/policy +454 kernel/power/energy_model.c
>
> e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  450  static void
> e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  451  em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table)
> e458716a92b57f Vincent Donnefort 2021-09-08  452  {
> e458716a92b57f Vincent Donnefort 2021-09-08  453  	struct em_perf_domain *pd = dev->em_pd;
> 3a096464b04b72 Zihuan Zhang      2025-09-01 @454  	struct cpufreq_policy *policy __free(put_cpufreq_policy);
>
> policy needs to be set to NULL here.


Thanks for point it out.

> e458716a92b57f Vincent Donnefort 2021-09-08  455  	int found = 0;
> 99907d6054f2d3 Lukasz Luba       2024-02-08  456  	int i, cpu;
> e458716a92b57f Vincent Donnefort 2021-09-08  457
> e7b1cc9a7ea6d7 Lukasz Luba       2024-02-08  458  	if (!_is_cpu_device(dev))
> e458716a92b57f Vincent Donnefort 2021-09-08  459  		return;
>                                                                  ^^^^^^
> returning before an initialization is an uninitialized variable bug.
>
> e458716a92b57f Vincent Donnefort 2021-09-08  460
> 99907d6054f2d3 Lukasz Luba       2024-02-08  461  	/* Try to get a CPU which is active and in this PD */
> 99907d6054f2d3 Lukasz Luba       2024-02-08  462  	cpu = cpumask_first_and(em_span_cpus(pd), cpu_active_mask);
> 99907d6054f2d3 Lukasz Luba       2024-02-08  463  	if (cpu >= nr_cpu_ids) {
> 99907d6054f2d3 Lukasz Luba       2024-02-08  464  		dev_warn(dev, "EM: No online CPU for CPUFreq policy\n");
> 99907d6054f2d3 Lukasz Luba       2024-02-08  465  		return;
> 99907d6054f2d3 Lukasz Luba       2024-02-08  466  	}
> 99907d6054f2d3 Lukasz Luba       2024-02-08  467
> 99907d6054f2d3 Lukasz Luba       2024-02-08  468  	policy = cpufreq_cpu_get(cpu);
>
> Or we could declare it here:
>
> 	struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);


Thanks for the suggestion.  However, I’m not sure whether to keep this 
patch, since Krzysztof has raised some objections.

>
> e458716a92b57f Vincent Donnefort 2021-09-08  469  	if (!policy) {
> 4274521fabee05 Lukasz Luba       2024-02-08  470  		dev_warn(dev, "EM: Access to CPUFreq policy failed\n");
> e458716a92b57f Vincent Donnefort 2021-09-08  471  		return;
> e458716a92b57f Vincent Donnefort 2021-09-08  472  	}
> e458716a92b57f Vincent Donnefort 2021-09-08  473
> e458716a92b57f Vincent Donnefort 2021-09-08  474  	for (i = 0; i < pd->nr_perf_states; i++) {
> e458716a92b57f Vincent Donnefort 2021-09-08  475  		if (!(table[i].flags & EM_PERF_STATE_INEFFICIENT))
> e458716a92b57f Vincent Donnefort 2021-09-08  476  			continue;
> e458716a92b57f Vincent Donnefort 2021-09-08  477
> e458716a92b57f Vincent Donnefort 2021-09-08  478  		if (!cpufreq_table_set_inefficient(policy, table[i].frequency))
> e458716a92b57f Vincent Donnefort 2021-09-08  479  			found++;
> e458716a92b57f Vincent Donnefort 2021-09-08  480  	}
> e458716a92b57f Vincent Donnefort 2021-09-08  481
> e458716a92b57f Vincent Donnefort 2021-09-08  482  	if (!found)
> e458716a92b57f Vincent Donnefort 2021-09-08  483  		return;
> e458716a92b57f Vincent Donnefort 2021-09-08  484
> e458716a92b57f Vincent Donnefort 2021-09-08  485  	/*
> e458716a92b57f Vincent Donnefort 2021-09-08  486  	 * Efficiencies have been installed in CPUFreq, inefficient frequencies
> e458716a92b57f Vincent Donnefort 2021-09-08  487  	 * will be skipped. The EM can do the same.
> e458716a92b57f Vincent Donnefort 2021-09-08  488  	 */
> e458716a92b57f Vincent Donnefort 2021-09-08  489  	pd->flags |= EM_PERF_DOMAIN_SKIP_INEFFICIENCIES;
> e458716a92b57f Vincent Donnefort 2021-09-08  490  }
>

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

* Re: [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper
  2025-09-03  2:12     ` Zihuan Zhang
@ 2025-09-03  6:11       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 33+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-03  6:11 UTC (permalink / raw)
  To: Zihuan Zhang
  Cc: airlied, alim.akhtar, beata.michalska, ben.horgan, bp,
	catalin.marinas, cw00.choi, daniel.lezcano, dave.hansen,
	dri-devel, edubezval, festevam, imx, intel-gfx, j-keerthy,
	jani.nikula, kernel, kyungmin.park, lenb, linux-acpi,
	linux-arm-kernel, linux-kernel, linux-omap, linux-pm,
	linuxppc-dev, lukasz.luba, mpe, myungjoo.ham, pavel, ptsm, rafael,
	rodrigo.vivi, rui.zhang, s.hauer, shawnguo, simona,
	srinivas.pandruvada, sudeep.holla, sumitg, thierry.reding,
	tursulin, viresh.kumar, will, yangyicong, zhenglifeng1

On 03/09/2025 04:12, Zihuan Zhang wrote:
>> You are not improving the source code here. This is not how to use
>>  __free() and you clearly do not understand the source code.
> 
> Sorry for the problem, policy should be assigned after cpumask_test_cpu().
> 
> I actually realized earlier that __free() only frees at the end of the variable’s lifetime. 
> I had suggested using a braced macro in cpufreq.h to allow immediate release after use, 
> but I understand the maintainer’s advice to “keep it simple” and will follow that.
> 
>> What's more, you did not use standard tools which would tell you this is
>> buggy and wrong.
> 
> Could you please let me know which standard tools you recommend for detecting such issues? 
> 
> I’d like to use them to avoid similar mistakes in the future.
All standard tools used for kernel development, sparse, smatch, clang,
coccinelle, see my talk from OSSE25.

Best regards,
Krzysztof

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

* Re: [PATCH v3 03/12] cpufreq: intel_pstate: Use scope-based cleanup helper
  2025-09-03  0:51         ` Zihuan Zhang
@ 2025-09-03 11:04           ` Rafael J. Wysocki
  0 siblings, 0 replies; 33+ messages in thread
From: Rafael J. Wysocki @ 2025-09-03 11:04 UTC (permalink / raw)
  To: Zihuan Zhang
  Cc: Rafael J. Wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy, Ben Horgan, zhenglifeng, Zhang Rui,
	Len Brown, Lukasz Luba, Pengutronix Kernel Team, Beata Michalska,
	Fabio Estevam, Pavel Machek, Sumit Gupta, Prasanna Kumar T S M,
	Sudeep Holla, Yicong Yang, linux-pm, linux-acpi, linuxppc-dev,
	linux-arm-kernel, intel-gfx, dri-devel, imx, linux-omap,
	linux-kernel

On Wed, Sep 3, 2025 at 2:51 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>
>
> 在 2025/9/2 19:47, Rafael J. Wysocki 写道:
> > On Tue, Sep 2, 2025 at 12:33 PM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
> >>
> >> 在 2025/9/1 23:17, Rafael J. Wysocki 写道:
> >>> On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
> >>>> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
> >>>> annotation for policy references. This reduces the risk of reference
> >>>> counting mistakes and aligns the code with the latest kernel style.
> >>>>
> >>>> No functional change intended.
> >>>>
> >>>> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> >>>> ---
> >>>>    drivers/cpufreq/intel_pstate.c | 8 +++-----
> >>>>    1 file changed, 3 insertions(+), 5 deletions(-)
> >>>>
> >>>> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> >>>> index f366d35c5840..4abc1ef2d2b0 100644
> >>>> --- a/drivers/cpufreq/intel_pstate.c
> >>>> +++ b/drivers/cpufreq/intel_pstate.c
> >>>> @@ -1502,9 +1502,8 @@ static void __intel_pstate_update_max_freq(struct cpufreq_policy *policy,
> >>>>
> >>>>    static bool intel_pstate_update_max_freq(struct cpudata *cpudata)
> >>>>    {
> >>>> -       struct cpufreq_policy *policy __free(put_cpufreq_policy);
> >>>> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
> >>>>
> >>>> -       policy = cpufreq_cpu_get(cpudata->cpu);
> >>>>           if (!policy)
> >>>>                   return false;
> >>> The structure of the code is intentional here and there's no reason to
> >>> change it.
> >>
> >> Got it. Thanks for clarifying.
> >>
> >> So for this case the current structure is intentional -
> > Note that I'm talking about this particular change only.  The other
> > change in the $subject patch is fine.
> >
> >> should I also avoid similar changes in other drivers?
> > That depends on who maintains them, which is why I wanted you to split
> > the patch into smaller changes in the first place.
> >
> > My personal view is that code formatting changes, which effectively is
> > what this particular one is, are pointless unless they make the code
> > much easier to follow.
>
>
> UnderStood, Thanks!

Although I think that it would be cleaner to move the code executed in
each step of the for_each_possible_cpu() loop to a separate function.

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

* Re: [PATCH v3 02/12] ACPI: processor: thermal: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 02/12] ACPI: processor: thermal: " Zihuan Zhang
@ 2025-09-03 11:07   ` Rafael J. Wysocki
  0 siblings, 0 replies; 33+ messages in thread
From: Rafael J. Wysocki @ 2025-09-03 11:07 UTC (permalink / raw)
  To: Zihuan Zhang
  Cc: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy, Ben Horgan, zhenglifeng, Zhang Rui,
	Len Brown, Lukasz Luba, Pengutronix Kernel Team, Beata Michalska,
	Fabio Estevam, Pavel Machek, Sumit Gupta, Prasanna Kumar T S M,
	Sudeep Holla, Yicong Yang, linux-pm, linux-acpi, linuxppc-dev,
	linux-arm-kernel, intel-gfx, dri-devel, imx, linux-omap,
	linux-kernel

On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>
> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
> annotation for policy references. This reduces the risk of reference
> counting mistakes and aligns the code with the latest kernel style.
>
> No functional change intended.
>
> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> ---
>  drivers/acpi/processor_thermal.c | 18 ++++++------------
>  1 file changed, 6 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
> index 1219adb11ab9..3c8b57df9619 100644
> --- a/drivers/acpi/processor_thermal.c
> +++ b/drivers/acpi/processor_thermal.c
> @@ -62,19 +62,14 @@ static int phys_package_first_cpu(int cpu)
>         return 0;
>  }
>
> -static int cpu_has_cpufreq(unsigned int cpu)
> +static bool cpu_has_cpufreq(unsigned int cpu)
>  {
> -       struct cpufreq_policy *policy;
> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);
>
>         if (!acpi_processor_cpufreq_init)
>                 return 0;
>
> -       policy = cpufreq_cpu_get(cpu);
> -       if (policy) {
> -               cpufreq_cpu_put(policy);
> -               return 1;
> -       }
> -       return 0;
> +       return !!policy;
>  }
>
>  static int cpufreq_get_max_state(unsigned int cpu)
> @@ -95,7 +90,6 @@ static int cpufreq_get_cur_state(unsigned int cpu)
>
>  static int cpufreq_set_cur_state(unsigned int cpu, int state)
>  {
> -       struct cpufreq_policy *policy;
>         struct acpi_processor *pr;
>         unsigned long max_freq;
>         int i, ret;
> @@ -111,6 +105,9 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state)
>          * frequency.
>          */
>         for_each_online_cpu(i) {

I would still prefer the code below to be moved to a separate function
that would be called in each step of the for_each_online_cpu() loop.

> +               struct cpufreq_policy *policy __free(put_cpufreq_policy) =
> +                       cpufreq_cpu_get(i);
> +
>                 if (topology_physical_package_id(i) !=
>                     topology_physical_package_id(cpu))
>                         continue;
> @@ -120,15 +117,12 @@ static int cpufreq_set_cur_state(unsigned int cpu, int state)
>                 if (unlikely(!freq_qos_request_active(&pr->thermal_req)))
>                         continue;
>
> -               policy = cpufreq_cpu_get(i);
>                 if (!policy)
>                         return -EINVAL;
>
>                 max_freq = (policy->cpuinfo.max_freq *
>                             (100 - reduction_step(i) * cpufreq_thermal_reduction_pctg)) / 100;
>
> -               cpufreq_cpu_put(policy);
> -
>                 ret = freq_qos_update_request(&pr->thermal_req, max_freq);
>                 if (ret < 0) {
>                         pr_warn("Failed to update thermal freq constraint: CPU%d (%d)\n",
> --
> 2.25.1
>
>

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

* Re: [PATCH v3 09/12] powercap: dtpm_cpu: Use scope-based cleanup helper
  2025-09-01  8:57 ` [PATCH v3 09/12] powercap: dtpm_cpu: " Zihuan Zhang
@ 2025-09-03 11:43   ` Rafael J. Wysocki
  0 siblings, 0 replies; 33+ messages in thread
From: Rafael J. Wysocki @ 2025-09-03 11:43 UTC (permalink / raw)
  To: Zihuan Zhang
  Cc: Rafael J . wysocki, Viresh Kumar, Catalin Marinas, Will Deacon,
	Borislav Petkov, Dave Hansen, Srinivas Pandruvada,
	Michael Ellerman, Krzysztof Kozlowski, Alim Akhtar,
	Thierry Reding, MyungJoo Ham, Kyungmin Park, Chanwoo Choi,
	Jani Nikula, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Simona Vetter, Daniel Lezcano, Sascha Hauer, Shawn Guo,
	Eduardo Valentin, Keerthy, Ben Horgan, zhenglifeng, Zhang Rui,
	Len Brown, Lukasz Luba, Pengutronix Kernel Team, Beata Michalska,
	Fabio Estevam, Pavel Machek, Sumit Gupta, Prasanna Kumar T S M,
	Sudeep Holla, Yicong Yang, linux-pm, linux-acpi, linuxppc-dev,
	linux-arm-kernel, intel-gfx, dri-devel, imx, linux-omap,
	linux-kernel

On Mon, Sep 1, 2025 at 10:58 AM Zihuan Zhang <zhangzihuan@kylinos.cn> wrote:
>
> Replace the manual cpufreq_cpu_put() with __free(put_cpufreq_policy)
> annotation for policy references. This reduces the risk of reference
> counting mistakes and aligns the code with the latest kernel style.
>
> No functional change intended.
>
> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> ---
>  drivers/powercap/dtpm_cpu.c | 26 +++++++-------------------
>  1 file changed, 7 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/powercap/dtpm_cpu.c b/drivers/powercap/dtpm_cpu.c
> index 99390ec1481f..5e18438782f8 100644
> --- a/drivers/powercap/dtpm_cpu.c
> +++ b/drivers/powercap/dtpm_cpu.c
> @@ -144,19 +144,15 @@ static int update_pd_power_uw(struct dtpm *dtpm)
>  static void pd_release(struct dtpm *dtpm)
>  {
>         struct dtpm_cpu *dtpm_cpu = to_dtpm_cpu(dtpm);
> -       struct cpufreq_policy *policy;
> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(dtpm_cpu->cpu);
>
>         if (freq_qos_request_active(&dtpm_cpu->qos_req))
>                 freq_qos_remove_request(&dtpm_cpu->qos_req);
>
> -       policy = cpufreq_cpu_get(dtpm_cpu->cpu);

Since policy is not needed earlier, you may as well declare it here.

> -       if (policy) {
> +       if (policy)
>                 for_each_cpu(dtpm_cpu->cpu, policy->related_cpus)
>                         per_cpu(dtpm_per_cpu, dtpm_cpu->cpu) = NULL;
>
> -               cpufreq_cpu_put(policy);
> -       }
> -
>         kfree(dtpm_cpu);
>  }
>
> @@ -192,7 +188,7 @@ static int cpuhp_dtpm_cpu_online(unsigned int cpu)
>  static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
>  {
>         struct dtpm_cpu *dtpm_cpu;
> -       struct cpufreq_policy *policy;
> +       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpu);
>         struct em_perf_state *table;
>         struct em_perf_domain *pd;
>         char name[CPUFREQ_NAME_LEN];
> @@ -202,21 +198,16 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
>         if (dtpm_cpu)
>                 return 0;
>
> -       policy = cpufreq_cpu_get(cpu);

Ditto.

>         if (!policy)
>                 return 0;
>
>         pd = em_cpu_get(cpu);
> -       if (!pd || em_is_artificial(pd)) {
> -               ret = -EINVAL;
> -               goto release_policy;
> -       }
> +       if (!pd || em_is_artificial(pd))
> +               return -EINVAL;
>
>         dtpm_cpu = kzalloc(sizeof(*dtpm_cpu), GFP_KERNEL);
> -       if (!dtpm_cpu) {
> -               ret = -ENOMEM;
> -               goto release_policy;
> -       }
> +       if (!dtpm_cpu)
> +               return -ENOMEM;
>
>         dtpm_init(&dtpm_cpu->dtpm, &dtpm_ops);
>         dtpm_cpu->cpu = cpu;
> @@ -239,7 +230,6 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
>         if (ret < 0)
>                 goto out_dtpm_unregister;
>
> -       cpufreq_cpu_put(policy);
>         return 0;
>
>  out_dtpm_unregister:
> @@ -251,8 +241,6 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
>                 per_cpu(dtpm_per_cpu, cpu) = NULL;
>         kfree(dtpm_cpu);
>
> -release_policy:
> -       cpufreq_cpu_put(policy);
>         return ret;
>  }
>
> --

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

end of thread, other threads:[~2025-09-03 11:43 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-01  8:57 [PATCH v3 00/12] cpufreq: use __free() for all cpufreq_cpu_get() references Zihuan Zhang
2025-09-01  8:57 ` [PATCH v3 01/12] arm64: topology: Use scope-based cleanup helper Zihuan Zhang
2025-09-02  5:26   ` kernel test robot
2025-09-01  8:57 ` [PATCH v3 02/12] ACPI: processor: thermal: " Zihuan Zhang
2025-09-03 11:07   ` Rafael J. Wysocki
2025-09-01  8:57 ` [PATCH v3 03/12] cpufreq: intel_pstate: " Zihuan Zhang
2025-09-01 15:17   ` Rafael J. Wysocki
2025-09-02 10:32     ` Zihuan Zhang
2025-09-02 11:47       ` Rafael J. Wysocki
2025-09-03  0:51         ` Zihuan Zhang
2025-09-03 11:04           ` Rafael J. Wysocki
2025-09-01  8:57 ` [PATCH v3 04/12] cpufreq: longhaul: " Zihuan Zhang
2025-09-02 15:58   ` Krzysztof Kozlowski
2025-09-01  8:57 ` [PATCH v3 05/12] cpufreq: powernv: " Zihuan Zhang
2025-09-01  8:57 ` [PATCH v3 06/12] PM / devfreq: " Zihuan Zhang
2025-09-01  8:57 ` [PATCH v3 07/12] drm/i915: " Zihuan Zhang
2025-09-01  8:57 ` [PATCH v3 08/12] cpufreq: powerpc: macintosh: " Zihuan Zhang
2025-09-02 15:59   ` Krzysztof Kozlowski
2025-09-01  8:57 ` [PATCH v3 09/12] powercap: dtpm_cpu: " Zihuan Zhang
2025-09-03 11:43   ` Rafael J. Wysocki
2025-09-01  8:57 ` [PATCH v3 10/12] thermal: imx: " Zihuan Zhang
2025-09-02  6:30   ` kernel test robot
2025-09-01  8:57 ` [PATCH v3 11/12] thermal/drivers/ti-soc-thermal: " Zihuan Zhang
2025-09-02  6:19   ` kernel test robot
2025-09-01  8:57 ` [PATCH v3 12/12] PM: EM: " Zihuan Zhang
2025-09-02 15:57   ` Krzysztof Kozlowski
2025-09-03  2:12     ` Zihuan Zhang
2025-09-03  6:11       ` Krzysztof Kozlowski
2025-09-02 16:44 ` ✓ i915.CI.BAT: success for cpufreq: use __free() for all cpufreq_cpu_get() references (rev3) Patchwork
2025-09-03  0:41 ` ✗ i915.CI.Full: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2025-09-02 15:25 [PATCH v3 12/12] PM: EM: Use scope-based cleanup helper kernel test robot
2025-09-02 15:53 ` Dan Carpenter
2025-09-03  2:30 ` Zihuan Zhang

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.