* [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file
@ 2023-03-02 16:49 Jani Nikula
2023-03-02 17:03 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Jani Nikula @ 2023-03-02 16:49 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Split out the RPS parts so they can be conditionally compiled out later.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
.../gpu/drm/i915/display/intel_atomic_plane.c | 79 ++----------------
.../gpu/drm/i915/display/intel_display_rps.c | 81 +++++++++++++++++++
.../gpu/drm/i915/display/intel_display_rps.h | 22 +++++
4 files changed, 111 insertions(+), 72 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_display_rps.c
create mode 100644 drivers/gpu/drm/i915/display/intel_display_rps.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index b2f91a1f8268..8e46f57e4569 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -239,6 +239,7 @@ i915-y += \
display/intel_display_power.o \
display/intel_display_power_map.o \
display/intel_display_power_well.o \
+ display/intel_display_rps.o \
display/intel_dmc.o \
display/intel_dpio_phy.o \
display/intel_dpll.o \
diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
index 3bd8f7eb75a6..719a60e278f3 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
@@ -34,11 +34,10 @@
#include <drm/drm_atomic_helper.h>
#include <drm/drm_fourcc.h>
-#include "gt/intel_rps.h"
-
#include "i915_config.h"
#include "intel_atomic_plane.h"
#include "intel_cdclk.h"
+#include "intel_display_rps.h"
#include "intel_display_trace.h"
#include "intel_display_types.h"
#include "intel_fb.h"
@@ -941,64 +940,6 @@ int intel_atomic_plane_check_clipping(struct intel_plane_state *plane_state,
return 0;
}
-struct wait_rps_boost {
- struct wait_queue_entry wait;
-
- struct drm_crtc *crtc;
- struct i915_request *request;
-};
-
-static int do_rps_boost(struct wait_queue_entry *_wait,
- unsigned mode, int sync, void *key)
-{
- struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
- struct i915_request *rq = wait->request;
-
- /*
- * If we missed the vblank, but the request is already running it
- * is reasonable to assume that it will complete before the next
- * vblank without our intervention, so leave RPS alone.
- */
- if (!i915_request_started(rq))
- intel_rps_boost(rq);
- i915_request_put(rq);
-
- drm_crtc_vblank_put(wait->crtc);
-
- list_del(&wait->wait.entry);
- kfree(wait);
- return 1;
-}
-
-static void add_rps_boost_after_vblank(struct drm_crtc *crtc,
- struct dma_fence *fence)
-{
- struct wait_rps_boost *wait;
-
- if (!dma_fence_is_i915(fence))
- return;
-
- if (DISPLAY_VER(to_i915(crtc->dev)) < 6)
- return;
-
- if (drm_crtc_vblank_get(crtc))
- return;
-
- wait = kmalloc(sizeof(*wait), GFP_KERNEL);
- if (!wait) {
- drm_crtc_vblank_put(crtc);
- return;
- }
-
- wait->request = to_request(dma_fence_get(fence));
- wait->crtc = crtc;
-
- wait->wait.func = do_rps_boost;
- wait->wait.flags = 0;
-
- add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
-}
-
/**
* intel_prepare_plane_fb - Prepare fb for usage on plane
* @_plane: drm plane to prepare for
@@ -1089,13 +1030,13 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
dma_resv_iter_begin(&cursor, obj->base.resv,
DMA_RESV_USAGE_WRITE);
dma_resv_for_each_fence_unlocked(&cursor, fence) {
- add_rps_boost_after_vblank(new_plane_state->hw.crtc,
- fence);
+ intel_display_rps_boost_after_vblank(new_plane_state->hw.crtc,
+ fence);
}
dma_resv_iter_end(&cursor);
} else {
- add_rps_boost_after_vblank(new_plane_state->hw.crtc,
- new_plane_state->uapi.fence);
+ intel_display_rps_boost_after_vblank(new_plane_state->hw.crtc,
+ new_plane_state->uapi.fence);
}
/*
@@ -1106,10 +1047,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
* that are not quite steady state without resorting to forcing
* maximum clocks following a vblank miss (see do_rps_boost()).
*/
- if (!state->rps_interactive) {
- intel_rps_mark_interactive(&to_gt(dev_priv)->rps, true);
- state->rps_interactive = true;
- }
+ intel_display_rps_mark_interactive(dev_priv, state, true);
return 0;
@@ -1140,10 +1078,7 @@ intel_cleanup_plane_fb(struct drm_plane *plane,
if (!obj)
return;
- if (state->rps_interactive) {
- intel_rps_mark_interactive(&to_gt(dev_priv)->rps, false);
- state->rps_interactive = false;
- }
+ intel_display_rps_mark_interactive(dev_priv, state, false);
/* Should only be called after a successful intel_prepare_plane_fb()! */
intel_plane_unpin_fb(old_plane_state);
diff --git a/drivers/gpu/drm/i915/display/intel_display_rps.c b/drivers/gpu/drm/i915/display/intel_display_rps.c
new file mode 100644
index 000000000000..918d0327169a
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_display_rps.c
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include <drm/drm_crtc.h>
+#include <drm/drm_vblank.h>
+
+#include "gt/intel_rps.h"
+#include "i915_drv.h"
+#include "intel_display_rps.h"
+#include "intel_display_types.h"
+
+struct wait_rps_boost {
+ struct wait_queue_entry wait;
+
+ struct drm_crtc *crtc;
+ struct i915_request *request;
+};
+
+static int do_rps_boost(struct wait_queue_entry *_wait,
+ unsigned mode, int sync, void *key)
+{
+ struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
+ struct i915_request *rq = wait->request;
+
+ /*
+ * If we missed the vblank, but the request is already running it
+ * is reasonable to assume that it will complete before the next
+ * vblank without our intervention, so leave RPS alone.
+ */
+ if (!i915_request_started(rq))
+ intel_rps_boost(rq);
+ i915_request_put(rq);
+
+ drm_crtc_vblank_put(wait->crtc);
+
+ list_del(&wait->wait.entry);
+ kfree(wait);
+ return 1;
+}
+
+void intel_display_rps_boost_after_vblank(struct drm_crtc *crtc,
+ struct dma_fence *fence)
+{
+ struct wait_rps_boost *wait;
+
+ if (!dma_fence_is_i915(fence))
+ return;
+
+ if (DISPLAY_VER(to_i915(crtc->dev)) < 6)
+ return;
+
+ if (drm_crtc_vblank_get(crtc))
+ return;
+
+ wait = kmalloc(sizeof(*wait), GFP_KERNEL);
+ if (!wait) {
+ drm_crtc_vblank_put(crtc);
+ return;
+ }
+
+ wait->request = to_request(dma_fence_get(fence));
+ wait->crtc = crtc;
+
+ wait->wait.func = do_rps_boost;
+ wait->wait.flags = 0;
+
+ add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
+}
+
+void intel_display_rps_mark_interactive(struct drm_i915_private *i915,
+ struct intel_atomic_state *state,
+ bool interactive)
+{
+ if (state->rps_interactive == interactive)
+ return;
+
+ intel_rps_mark_interactive(&to_gt(i915)->rps, interactive);
+ state->rps_interactive = interactive;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_rps.h b/drivers/gpu/drm/i915/display/intel_display_rps.h
new file mode 100644
index 000000000000..e19009c2371a
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_display_rps.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef __INTEL_DISPLAY_RPS_H__
+#define __INTEL_DISPLAY_RPS_H__
+
+#include <linux/types.h>
+
+struct dma_fence;
+struct drm_crtc;
+struct drm_i915_private;
+struct intel_atomic_state;
+
+void intel_display_rps_boost_after_vblank(struct drm_crtc *crtc,
+ struct dma_fence *fence);
+void intel_display_rps_mark_interactive(struct drm_i915_private *i915,
+ struct intel_atomic_state *state,
+ bool interactive);
+
+#endif /* __INTEL_DISPLAY_RPS_H__ */
--
2.39.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/rps: split out display rps parts to a separate file
2023-03-02 16:49 [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file Jani Nikula
@ 2023-03-02 17:03 ` Patchwork
2023-03-02 17:22 ` [Intel-gfx] [PATCH] " Ville Syrjälä
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-03-02 17:03 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/rps: split out display rps parts to a separate file
URL : https://patchwork.freedesktop.org/series/114581/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
+./arch/x86/include/asm/bitops.h:117:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:148:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:150:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:154:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:156:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:156:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:174:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:176:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:180:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:182:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:182:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:186:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:188:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:192:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:195:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:195:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:237:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:239:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file
2023-03-02 16:49 [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file Jani Nikula
2023-03-02 17:03 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
@ 2023-03-02 17:22 ` Ville Syrjälä
2023-03-06 18:22 ` Jani Nikula
2023-03-03 4:33 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2023-03-06 14:31 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
3 siblings, 1 reply; 6+ messages in thread
From: Ville Syrjälä @ 2023-03-02 17:22 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Thu, Mar 02, 2023 at 06:49:36PM +0200, Jani Nikula wrote:
> Split out the RPS parts so they can be conditionally compiled out later.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/Makefile | 1 +
> .../gpu/drm/i915/display/intel_atomic_plane.c | 79 ++----------------
> .../gpu/drm/i915/display/intel_display_rps.c | 81 +++++++++++++++++++
> .../gpu/drm/i915/display/intel_display_rps.h | 22 +++++
> 4 files changed, 111 insertions(+), 72 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/display/intel_display_rps.c
> create mode 100644 drivers/gpu/drm/i915/display/intel_display_rps.h
>
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index b2f91a1f8268..8e46f57e4569 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -239,6 +239,7 @@ i915-y += \
> display/intel_display_power.o \
> display/intel_display_power_map.o \
> display/intel_display_power_well.o \
> + display/intel_display_rps.o \
> display/intel_dmc.o \
> display/intel_dpio_phy.o \
> display/intel_dpll.o \
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> index 3bd8f7eb75a6..719a60e278f3 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> @@ -34,11 +34,10 @@
> #include <drm/drm_atomic_helper.h>
> #include <drm/drm_fourcc.h>
>
> -#include "gt/intel_rps.h"
> -
> #include "i915_config.h"
> #include "intel_atomic_plane.h"
> #include "intel_cdclk.h"
> +#include "intel_display_rps.h"
> #include "intel_display_trace.h"
> #include "intel_display_types.h"
> #include "intel_fb.h"
> @@ -941,64 +940,6 @@ int intel_atomic_plane_check_clipping(struct intel_plane_state *plane_state,
> return 0;
> }
>
> -struct wait_rps_boost {
> - struct wait_queue_entry wait;
> -
> - struct drm_crtc *crtc;
> - struct i915_request *request;
> -};
> -
> -static int do_rps_boost(struct wait_queue_entry *_wait,
> - unsigned mode, int sync, void *key)
> -{
> - struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
> - struct i915_request *rq = wait->request;
> -
> - /*
> - * If we missed the vblank, but the request is already running it
> - * is reasonable to assume that it will complete before the next
> - * vblank without our intervention, so leave RPS alone.
> - */
> - if (!i915_request_started(rq))
> - intel_rps_boost(rq);
> - i915_request_put(rq);
> -
> - drm_crtc_vblank_put(wait->crtc);
> -
> - list_del(&wait->wait.entry);
> - kfree(wait);
> - return 1;
> -}
> -
> -static void add_rps_boost_after_vblank(struct drm_crtc *crtc,
> - struct dma_fence *fence)
> -{
> - struct wait_rps_boost *wait;
> -
> - if (!dma_fence_is_i915(fence))
> - return;
> -
> - if (DISPLAY_VER(to_i915(crtc->dev)) < 6)
> - return;
> -
> - if (drm_crtc_vblank_get(crtc))
> - return;
> -
> - wait = kmalloc(sizeof(*wait), GFP_KERNEL);
> - if (!wait) {
> - drm_crtc_vblank_put(crtc);
> - return;
> - }
> -
> - wait->request = to_request(dma_fence_get(fence));
> - wait->crtc = crtc;
> -
> - wait->wait.func = do_rps_boost;
> - wait->wait.flags = 0;
> -
> - add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
> -}
> -
> /**
> * intel_prepare_plane_fb - Prepare fb for usage on plane
> * @_plane: drm plane to prepare for
> @@ -1089,13 +1030,13 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
> dma_resv_iter_begin(&cursor, obj->base.resv,
> DMA_RESV_USAGE_WRITE);
> dma_resv_for_each_fence_unlocked(&cursor, fence) {
> - add_rps_boost_after_vblank(new_plane_state->hw.crtc,
> - fence);
> + intel_display_rps_boost_after_vblank(new_plane_state->hw.crtc,
> + fence);
> }
> dma_resv_iter_end(&cursor);
> } else {
> - add_rps_boost_after_vblank(new_plane_state->hw.crtc,
> - new_plane_state->uapi.fence);
> + intel_display_rps_boost_after_vblank(new_plane_state->hw.crtc,
> + new_plane_state->uapi.fence);
> }
>
> /*
> @@ -1106,10 +1047,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
> * that are not quite steady state without resorting to forcing
> * maximum clocks following a vblank miss (see do_rps_boost()).
> */
> - if (!state->rps_interactive) {
> - intel_rps_mark_interactive(&to_gt(dev_priv)->rps, true);
> - state->rps_interactive = true;
> - }
> + intel_display_rps_mark_interactive(dev_priv, state, true);
>
> return 0;
>
> @@ -1140,10 +1078,7 @@ intel_cleanup_plane_fb(struct drm_plane *plane,
> if (!obj)
> return;
>
> - if (state->rps_interactive) {
> - intel_rps_mark_interactive(&to_gt(dev_priv)->rps, false);
> - state->rps_interactive = false;
> - }
> + intel_display_rps_mark_interactive(dev_priv, state, false);
>
> /* Should only be called after a successful intel_prepare_plane_fb()! */
> intel_plane_unpin_fb(old_plane_state);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_rps.c b/drivers/gpu/drm/i915/display/intel_display_rps.c
> new file mode 100644
> index 000000000000..918d0327169a
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_display_rps.c
> @@ -0,0 +1,81 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include <drm/drm_crtc.h>
> +#include <drm/drm_vblank.h>
> +
> +#include "gt/intel_rps.h"
> +#include "i915_drv.h"
> +#include "intel_display_rps.h"
> +#include "intel_display_types.h"
> +
> +struct wait_rps_boost {
> + struct wait_queue_entry wait;
> +
> + struct drm_crtc *crtc;
> + struct i915_request *request;
> +};
> +
> +static int do_rps_boost(struct wait_queue_entry *_wait,
> + unsigned mode, int sync, void *key)
> +{
> + struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
> + struct i915_request *rq = wait->request;
> +
> + /*
> + * If we missed the vblank, but the request is already running it
> + * is reasonable to assume that it will complete before the next
> + * vblank without our intervention, so leave RPS alone.
> + */
> + if (!i915_request_started(rq))
> + intel_rps_boost(rq);
> + i915_request_put(rq);
> +
> + drm_crtc_vblank_put(wait->crtc);
> +
> + list_del(&wait->wait.entry);
> + kfree(wait);
> + return 1;
> +}
> +
> +void intel_display_rps_boost_after_vblank(struct drm_crtc *crtc,
> + struct dma_fence *fence)
> +{
> + struct wait_rps_boost *wait;
> +
> + if (!dma_fence_is_i915(fence))
> + return;
> +
> + if (DISPLAY_VER(to_i915(crtc->dev)) < 6)
> + return;
> +
> + if (drm_crtc_vblank_get(crtc))
> + return;
> +
> + wait = kmalloc(sizeof(*wait), GFP_KERNEL);
> + if (!wait) {
> + drm_crtc_vblank_put(crtc);
> + return;
> + }
> +
> + wait->request = to_request(dma_fence_get(fence));
> + wait->crtc = crtc;
> +
> + wait->wait.func = do_rps_boost;
> + wait->wait.flags = 0;
> +
> + add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
> +}
> +
> +void intel_display_rps_mark_interactive(struct drm_i915_private *i915,
> + struct intel_atomic_state *state,
> + bool interactive)
> +{
> + if (state->rps_interactive == interactive)
> + return;
> +
> + intel_rps_mark_interactive(&to_gt(i915)->rps, interactive);
> + state->rps_interactive = interactive;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_display_rps.h b/drivers/gpu/drm/i915/display/intel_display_rps.h
> new file mode 100644
> index 000000000000..e19009c2371a
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_display_rps.h
> @@ -0,0 +1,22 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef __INTEL_DISPLAY_RPS_H__
> +#define __INTEL_DISPLAY_RPS_H__
> +
> +#include <linux/types.h>
> +
> +struct dma_fence;
> +struct drm_crtc;
> +struct drm_i915_private;
> +struct intel_atomic_state;
> +
> +void intel_display_rps_boost_after_vblank(struct drm_crtc *crtc,
> + struct dma_fence *fence);
> +void intel_display_rps_mark_interactive(struct drm_i915_private *i915,
> + struct intel_atomic_state *state,
> + bool interactive);
> +
> +#endif /* __INTEL_DISPLAY_RPS_H__ */
> --
> 2.39.1
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/rps: split out display rps parts to a separate file
2023-03-02 16:49 [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file Jani Nikula
2023-03-02 17:03 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
2023-03-02 17:22 ` [Intel-gfx] [PATCH] " Ville Syrjälä
@ 2023-03-03 4:33 ` Patchwork
2023-03-06 14:31 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-03-03 4:33 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 1687 bytes --]
== Series Details ==
Series: drm/i915/rps: split out display rps parts to a separate file
URL : https://patchwork.freedesktop.org/series/114581/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12801 -> Patchwork_114581v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/index.html
Participating hosts (3 -> 2)
------------------------------
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_114581v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_module_load@load:
- bat-atsm-1: [PASS][1] -> [ABORT][2] ([i915#8219])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/bat-atsm-1/igt@i915_module_load@load.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/bat-atsm-1/igt@i915_module_load@load.html
[i915#8219]: https://gitlab.freedesktop.org/drm/intel/issues/8219
Build changes
-------------
* Linux: CI_DRM_12801 -> Patchwork_114581v1
CI-20190529: 20190529
CI_DRM_12801: 6695d34a4e09a2371e6ad8a2ea8644bfa901744e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7178: ffe3f6670b91ab975f90799ab3fd0941b6eae019 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_114581v1: 6695d34a4e09a2371e6ad8a2ea8644bfa901744e @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
6bf468203cfa drm/i915/rps: split out display rps parts to a separate file
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/index.html
[-- Attachment #2: Type: text/html, Size: 2282 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/rps: split out display rps parts to a separate file
2023-03-02 16:49 [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file Jani Nikula
` (2 preceding siblings ...)
2023-03-03 4:33 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
@ 2023-03-06 14:31 ` Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-03-06 14:31 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 38986 bytes --]
== Series Details ==
Series: drm/i915/rps: split out display rps parts to a separate file
URL : https://patchwork.freedesktop.org/series/114581/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12801_full -> Patchwork_114581v1_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/index.html
Participating hosts (12 -> 11)
------------------------------
Missing (1): shard-dg2
Known issues
------------
Here are the changes found in Patchwork_114581v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@read:
- shard-tglu-9: NOTRUN -> [SKIP][1] ([i915#2582])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@fbdev@read.html
* igt@feature_discovery@display-2x:
- shard-tglu-10: NOTRUN -> [SKIP][2] ([i915#1839])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@feature_discovery@display-2x.html
* igt@gem_ccs@ctrl-surf-copy-new-ctx:
- shard-tglu-9: NOTRUN -> [SKIP][3] ([i915#5325])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
* igt@gem_ccs@suspend-resume:
- shard-tglu-10: NOTRUN -> [SKIP][4] ([i915#5325])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_ccs@suspend-resume.html
* igt@gem_ctx_sseu@mmap-args:
- shard-tglu-9: NOTRUN -> [SKIP][5] ([i915#280])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_exec_balancer@parallel-ordering:
- shard-tglu-10: NOTRUN -> [FAIL][6] ([i915#6117])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: [PASS][7] -> [FAIL][8] ([i915#2842])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-apl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-apl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-tglu-10: NOTRUN -> [FAIL][9] ([i915#2842])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_exec_fair@basic-throttle@rcs0.html
* igt@gem_exec_params@secure-non-root:
- shard-tglu-10: NOTRUN -> [SKIP][10] ([fdo#112283]) +1 similar issue
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_exec_params@secure-non-root.html
* igt@gem_lmem_swapping@parallel-random-verify:
- shard-tglu-10: NOTRUN -> [SKIP][11] ([i915#4613]) +2 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_lmem_swapping@parallel-random-verify.html
* igt@gem_lmem_swapping@verify:
- shard-tglu-9: NOTRUN -> [SKIP][12] ([i915#4613]) +1 similar issue
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@gem_lmem_swapping@verify.html
* igt@gem_mmap_gtt@coherency:
- shard-tglu-10: NOTRUN -> [SKIP][13] ([fdo#111656])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_mmap_gtt@coherency.html
* igt@gem_mmap_gtt@fault-concurrent-x:
- shard-snb: [PASS][14] -> [ABORT][15] ([i915#5161])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-x.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-x.html
* igt@gem_pwrite@basic-exhaustion:
- shard-tglu-9: NOTRUN -> [WARN][16] ([i915#2658])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@reject-modify-context-protection-off-1:
- shard-tglu-10: NOTRUN -> [SKIP][17] ([i915#4270]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_pxp@reject-modify-context-protection-off-1.html
* igt@gem_userptr_blits@access-control:
- shard-tglu-10: NOTRUN -> [SKIP][18] ([i915#3297]) +4 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gem_userptr_blits@access-control.html
* igt@gen3_render_linear_blits:
- shard-tglu-9: NOTRUN -> [SKIP][19] ([fdo#109289]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@gen3_render_linear_blits.html
* igt@gen7_exec_parse@load-register-reg:
- shard-tglu-10: NOTRUN -> [SKIP][20] ([fdo#109289]) +1 similar issue
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gen7_exec_parse@load-register-reg.html
* igt@gen9_exec_parse@basic-rejected-ctx-param:
- shard-tglu-9: NOTRUN -> [SKIP][21] ([i915#2527] / [i915#2856]) +2 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@gen9_exec_parse@basic-rejected-ctx-param.html
* igt@gen9_exec_parse@bb-large:
- shard-tglu-10: NOTRUN -> [SKIP][22] ([i915#2527] / [i915#2856])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@gen9_exec_parse@bb-large.html
* igt@i915_module_load@resize-bar:
- shard-tglu-10: NOTRUN -> [SKIP][23] ([i915#6412])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@i915_module_load@resize-bar.html
* igt@i915_pm_backlight@bad-brightness:
- shard-tglu-9: NOTRUN -> [SKIP][24] ([i915#7561])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@i915_pm_backlight@bad-brightness.html
* igt@i915_pm_dc@dc6-dpms:
- shard-tglu-9: NOTRUN -> [FAIL][25] ([i915#3989] / [i915#454])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_pm_rpm@modeset-non-lpsp:
- shard-tglu-10: NOTRUN -> [SKIP][26] ([fdo#111644] / [i915#1397])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@i915_pm_rpm@modeset-non-lpsp.html
* igt@i915_pm_rpm@pm-tiling:
- shard-tglu-9: NOTRUN -> [SKIP][27] ([i915#3547])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@i915_pm_rpm@pm-tiling.html
* igt@i915_pm_sseu@full-enable:
- shard-tglu-10: NOTRUN -> [SKIP][28] ([i915#4387])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@i915_pm_sseu@full-enable.html
* igt@kms_big_fb@4-tiled-addfb-size-overflow:
- shard-tglu-10: NOTRUN -> [SKIP][29] ([i915#5286]) +2 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_big_fb@4-tiled-addfb-size-overflow.html
* igt@kms_big_fb@linear-16bpp-rotate-270:
- shard-tglu-10: NOTRUN -> [SKIP][30] ([fdo#111614]) +1 similar issue
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_big_fb@linear-16bpp-rotate-270.html
* igt@kms_big_fb@linear-32bpp-rotate-270:
- shard-tglu-9: NOTRUN -> [SKIP][31] ([i915#1845] / [i915#7651]) +48 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_big_fb@linear-32bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
- shard-tglu-10: NOTRUN -> [SKIP][32] ([fdo#111615]) +1 similar issue
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-tglu-9: NOTRUN -> [SKIP][33] ([fdo#111615] / [i915#1845] / [i915#7651]) +5 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_big_joiner@2x-modeset:
- shard-tglu-9: NOTRUN -> [SKIP][34] ([i915#2705])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_big_joiner@2x-modeset.html
* igt@kms_ccs@pipe-a-bad-pixel-format-4_tiled_dg2_mc_ccs:
- shard-tglu-10: NOTRUN -> [SKIP][35] ([i915#6095]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_ccs@pipe-a-bad-pixel-format-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][36] ([fdo#109271] / [i915#3886])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-apl3/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs:
- shard-tglu-10: NOTRUN -> [SKIP][37] ([i915#3689] / [i915#3886]) +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-bad-pixel-format-4_tiled_dg2_rc_ccs_cc:
- shard-tglu-10: NOTRUN -> [SKIP][38] ([i915#3689] / [i915#6095]) +4 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_ccs@pipe-c-bad-pixel-format-4_tiled_dg2_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs:
- shard-apl: NOTRUN -> [SKIP][39] ([fdo#109271]) +15 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-apl6/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs.html
* igt@kms_ccs@pipe-d-ccs-on-another-bo-yf_tiled_ccs:
- shard-tglu-10: NOTRUN -> [SKIP][40] ([fdo#111615] / [i915#3689]) +4 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_ccs@pipe-d-ccs-on-another-bo-yf_tiled_ccs.html
* igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
- shard-tglu-10: NOTRUN -> [SKIP][41] ([i915#3689]) +5 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-tglu-9: NOTRUN -> [SKIP][42] ([i915#3742])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@plane-scaling:
- shard-tglu-10: NOTRUN -> [SKIP][43] ([i915#3742])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium_color@ctm-limited-range:
- shard-tglu-10: NOTRUN -> [SKIP][44] ([fdo#111827]) +2 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_chamelium_color@ctm-limited-range.html
* igt@kms_chamelium_frames@hdmi-aspect-ratio:
- shard-tglu-10: NOTRUN -> [SKIP][45] ([i915#7828]) +3 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_chamelium_frames@hdmi-aspect-ratio.html
* igt@kms_chamelium_hpd@vga-hpd-without-ddc:
- shard-tglu-9: NOTRUN -> [SKIP][46] ([i915#7828]) +4 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_chamelium_hpd@vga-hpd-without-ddc.html
* igt@kms_color@ctm-0-25:
- shard-tglu-9: NOTRUN -> [SKIP][47] ([i915#3546])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_color@ctm-0-25.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-tglu-10: NOTRUN -> [SKIP][48] ([i915#3116] / [i915#3299])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-tglu-10: NOTRUN -> [SKIP][49] ([i915#3359])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
- shard-tglu-10: NOTRUN -> [SKIP][50] ([fdo#109274]) +4 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-tglu-9: NOTRUN -> [SKIP][51] ([i915#1845]) +8 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-tglu-10: NOTRUN -> [SKIP][52] ([i915#4103])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-tglu-10: NOTRUN -> [SKIP][53] ([i915#3804])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_flip@2x-blocking-absolute-wf_vblank:
- shard-tglu-10: NOTRUN -> [SKIP][54] ([fdo#109274] / [i915#3637]) +5 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-fences-interruptible:
- shard-tglu-9: NOTRUN -> [SKIP][55] ([fdo#109274] / [i915#3637]) +5 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_flip@2x-flip-vs-fences-interruptible.html
* igt@kms_flip@basic-flip-vs-dpms:
- shard-tglu-9: NOTRUN -> [SKIP][56] ([i915#3637]) +1 similar issue
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-tglu-9: NOTRUN -> [SKIP][57] ([i915#3555]) +6 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-tglu-10: NOTRUN -> [SKIP][58] ([i915#2587] / [i915#2672]) +2 similar issues
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_force_connector_basic@force-load-detect:
- shard-tglu-9: NOTRUN -> [SKIP][59] ([fdo#109285])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite:
- shard-tglu-9: NOTRUN -> [SKIP][60] ([i915#1849]) +29 similar issues
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-tglu-10: NOTRUN -> [SKIP][61] ([fdo#109280]) +29 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc:
- shard-tglu-10: NOTRUN -> [SKIP][62] ([fdo#110189]) +20 similar issues
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-snb: NOTRUN -> [SKIP][63] ([fdo#109271]) +98 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-snb1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-tglu-9: NOTRUN -> [SKIP][64] ([i915#1839])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-c-hdmi-a-1:
- shard-tglu-10: NOTRUN -> [SKIP][65] ([i915#5176]) +3 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-c-hdmi-a-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25:
- shard-tglu-9: NOTRUN -> [SKIP][66] ([i915#6953] / [i915#8152])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25.html
* igt@kms_prime@basic-crc-hybrid:
- shard-tglu-9: NOTRUN -> [SKIP][67] ([i915#6524])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@d3hot:
- shard-tglu-10: NOTRUN -> [SKIP][68] ([i915#6524])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf:
- shard-tglu-10: NOTRUN -> [SKIP][69] ([i915#658]) +1 similar issue
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
- shard-tglu-9: NOTRUN -> [SKIP][70] ([i915#658])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
- shard-tglu-10: NOTRUN -> [SKIP][71] ([fdo#111068] / [i915#658])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
- shard-tglu-9: NOTRUN -> [SKIP][72] ([fdo#111068] / [i915#658])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html
* igt@kms_psr@primary_mmap_gtt:
- shard-tglu-9: NOTRUN -> [SKIP][73] ([fdo#110189]) +2 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_psr@primary_mmap_gtt.html
* igt@kms_pwrite_crc:
- shard-tglu-9: NOTRUN -> [SKIP][74] ([fdo#109274] / [i915#1845])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_pwrite_crc.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-tglu-9: NOTRUN -> [SKIP][75] ([fdo#111615] / [i915#1845])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_scaling_modes@scaling-mode-full:
- shard-tglu-10: NOTRUN -> [SKIP][76] ([i915#3555]) +5 similar issues
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_scaling_modes@scaling-mode-full.html
* igt@kms_universal_plane@disable-primary-vs-flip-pipe-c:
- shard-tglu-9: NOTRUN -> [SKIP][77] ([fdo#109274])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@kms_universal_plane@disable-primary-vs-flip-pipe-c.html
* igt@kms_universal_plane@universal-plane-pipe-b-sanity:
- shard-snb: [PASS][78] -> [SKIP][79] ([fdo#109271])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-snb4/igt@kms_universal_plane@universal-plane-pipe-b-sanity.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-snb6/igt@kms_universal_plane@universal-plane-pipe-b-sanity.html
* igt@kms_writeback@writeback-fb-id:
- shard-tglu-10: NOTRUN -> [SKIP][80] ([i915#2437])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@kms_writeback@writeback-fb-id.html
* igt@prime_udl:
- shard-tglu-10: NOTRUN -> [SKIP][81] ([fdo#109291])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@prime_udl.html
* igt@prime_vgem@fence-write-hang:
- shard-tglu-10: NOTRUN -> [SKIP][82] ([fdo#109295])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@prime_vgem@fence-write-hang.html
* igt@v3d/v3d_mmap@mmap-bad-flags:
- shard-tglu-9: NOTRUN -> [SKIP][83] ([fdo#109315] / [i915#2575]) +2 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@v3d/v3d_mmap@mmap-bad-flags.html
* igt@v3d/v3d_perfmon@destroy-invalid-perfmon:
- shard-tglu-10: NOTRUN -> [SKIP][84] ([fdo#109315] / [i915#2575]) +2 similar issues
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@v3d/v3d_perfmon@destroy-invalid-perfmon.html
* igt@vc4/vc4_purgeable_bo@access-purgeable-bo-mem:
- shard-tglu-9: NOTRUN -> [SKIP][85] ([i915#2575]) +5 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-9/igt@vc4/vc4_purgeable_bo@access-purgeable-bo-mem.html
* igt@vc4/vc4_purgeable_bo@mark-willneed:
- shard-tglu-10: NOTRUN -> [SKIP][86] ([i915#2575]) +2 similar issues
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-tglu-10/igt@vc4/vc4_purgeable_bo@mark-willneed.html
#### Possible fixes ####
* igt@fbdev@unaligned-read:
- {shard-rkl}: [SKIP][87] ([i915#2582]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-4/igt@fbdev@unaligned-read.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-6/igt@fbdev@unaligned-read.html
* igt@gem_create@create-clear@smem0:
- {shard-rkl}: [ABORT][89] ([i915#7461]) -> [PASS][90]
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@gem_create@create-clear@smem0.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-5/igt@gem_create@create-clear@smem0.html
* igt@gem_ctx_exec@basic-nohangcheck:
- {shard-rkl}: [FAIL][91] ([i915#6268]) -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@gem_ctx_exec@basic-nohangcheck.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-4/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- {shard-rkl}: [FAIL][93] ([i915#2842]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@gem_exec_fair@basic-none-share@rcs0.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-5/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_reloc@basic-wc-read-noreloc:
- {shard-rkl}: [SKIP][95] ([i915#3281]) -> [PASS][96] +8 similar issues
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@gem_exec_reloc@basic-wc-read-noreloc.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-5/igt@gem_exec_reloc@basic-wc-read-noreloc.html
* igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
- {shard-rkl}: [SKIP][97] ([i915#3282]) -> [PASS][98] +4 similar issues
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
* igt@gen9_exec_parse@allowed-all:
- shard-apl: [ABORT][99] ([i915#5566]) -> [PASS][100] +1 similar issue
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-apl7/igt@gen9_exec_parse@allowed-all.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-apl3/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@unaligned-access:
- {shard-rkl}: [SKIP][101] ([i915#2527]) -> [PASS][102] +2 similar issues
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-6/igt@gen9_exec_parse@unaligned-access.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-5/igt@gen9_exec_parse@unaligned-access.html
* igt@i915_pm_rc6_residency@rc6-idle@bcs0:
- {shard-dg1}: [FAIL][103] ([i915#3591]) -> [PASS][104]
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-dg1-13/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
* igt@i915_pm_rpm@drm-resources-equal:
- {shard-rkl}: [SKIP][105] ([fdo#109308]) -> [PASS][106]
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@i915_pm_rpm@drm-resources-equal.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-6/igt@i915_pm_rpm@drm-resources-equal.html
* igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size:
- {shard-rkl}: [SKIP][107] ([i915#1845] / [i915#4098]) -> [PASS][108] +16 similar issues
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
- shard-apl: [FAIL][109] ([i915#2346]) -> [PASS][110] +1 similar issue
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- {shard-rkl}: [SKIP][111] ([i915#1849] / [i915#4098]) -> [PASS][112] +12 similar issues
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_psr@sprite_plane_onoff:
- {shard-rkl}: [SKIP][113] ([i915#1072]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-2/igt@kms_psr@sprite_plane_onoff.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-6/igt@kms_psr@sprite_plane_onoff.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- {shard-rkl}: [SKIP][115] ([i915#2436]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12801/shard-rkl-4/igt@perf@gen8-unprivileged-single-ctx-counters.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/shard-rkl-5/igt@perf@gen8-unprivileged-single-ctx-counters.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
[fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435
[i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3547]: https://gitlab.freedesktop.org/drm/intel/issues/3547
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
[i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
[i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
[i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
[i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
[i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
[i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
[i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6403]: https://gitlab.freedesktop.org/drm/intel/issues/6403
[i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7128]: https://gitlab.freedesktop.org/drm/intel/issues/7128
[i915#7294]: https://gitlab.freedesktop.org/drm/intel/issues/7294
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
[i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
[i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984
[i915#8152]: https://gitlab.freedesktop.org/drm/intel/issues/8152
[i915#8154]: https://gitlab.freedesktop.org/drm/intel/issues/8154
[i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
Build changes
-------------
* Linux: CI_DRM_12801 -> Patchwork_114581v1
CI-20190529: 20190529
CI_DRM_12801: 6695d34a4e09a2371e6ad8a2ea8644bfa901744e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7178: ffe3f6670b91ab975f90799ab3fd0941b6eae019 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_114581v1: 6695d34a4e09a2371e6ad8a2ea8644bfa901744e @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114581v1/index.html
[-- Attachment #2: Type: text/html, Size: 39745 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file
2023-03-02 17:22 ` [Intel-gfx] [PATCH] " Ville Syrjälä
@ 2023-03-06 18:22 ` Jani Nikula
0 siblings, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2023-03-06 18:22 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
On Thu, 02 Mar 2023, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Mar 02, 2023 at 06:49:36PM +0200, Jani Nikula wrote:
>> Split out the RPS parts so they can be conditionally compiled out later.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Thanks, pushed to din.
BR,
Jani.
>
>> ---
>> drivers/gpu/drm/i915/Makefile | 1 +
>> .../gpu/drm/i915/display/intel_atomic_plane.c | 79 ++----------------
>> .../gpu/drm/i915/display/intel_display_rps.c | 81 +++++++++++++++++++
>> .../gpu/drm/i915/display/intel_display_rps.h | 22 +++++
>> 4 files changed, 111 insertions(+), 72 deletions(-)
>> create mode 100644 drivers/gpu/drm/i915/display/intel_display_rps.c
>> create mode 100644 drivers/gpu/drm/i915/display/intel_display_rps.h
>>
>> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
>> index b2f91a1f8268..8e46f57e4569 100644
>> --- a/drivers/gpu/drm/i915/Makefile
>> +++ b/drivers/gpu/drm/i915/Makefile
>> @@ -239,6 +239,7 @@ i915-y += \
>> display/intel_display_power.o \
>> display/intel_display_power_map.o \
>> display/intel_display_power_well.o \
>> + display/intel_display_rps.o \
>> display/intel_dmc.o \
>> display/intel_dpio_phy.o \
>> display/intel_dpll.o \
>> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> index 3bd8f7eb75a6..719a60e278f3 100644
>> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> @@ -34,11 +34,10 @@
>> #include <drm/drm_atomic_helper.h>
>> #include <drm/drm_fourcc.h>
>>
>> -#include "gt/intel_rps.h"
>> -
>> #include "i915_config.h"
>> #include "intel_atomic_plane.h"
>> #include "intel_cdclk.h"
>> +#include "intel_display_rps.h"
>> #include "intel_display_trace.h"
>> #include "intel_display_types.h"
>> #include "intel_fb.h"
>> @@ -941,64 +940,6 @@ int intel_atomic_plane_check_clipping(struct intel_plane_state *plane_state,
>> return 0;
>> }
>>
>> -struct wait_rps_boost {
>> - struct wait_queue_entry wait;
>> -
>> - struct drm_crtc *crtc;
>> - struct i915_request *request;
>> -};
>> -
>> -static int do_rps_boost(struct wait_queue_entry *_wait,
>> - unsigned mode, int sync, void *key)
>> -{
>> - struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
>> - struct i915_request *rq = wait->request;
>> -
>> - /*
>> - * If we missed the vblank, but the request is already running it
>> - * is reasonable to assume that it will complete before the next
>> - * vblank without our intervention, so leave RPS alone.
>> - */
>> - if (!i915_request_started(rq))
>> - intel_rps_boost(rq);
>> - i915_request_put(rq);
>> -
>> - drm_crtc_vblank_put(wait->crtc);
>> -
>> - list_del(&wait->wait.entry);
>> - kfree(wait);
>> - return 1;
>> -}
>> -
>> -static void add_rps_boost_after_vblank(struct drm_crtc *crtc,
>> - struct dma_fence *fence)
>> -{
>> - struct wait_rps_boost *wait;
>> -
>> - if (!dma_fence_is_i915(fence))
>> - return;
>> -
>> - if (DISPLAY_VER(to_i915(crtc->dev)) < 6)
>> - return;
>> -
>> - if (drm_crtc_vblank_get(crtc))
>> - return;
>> -
>> - wait = kmalloc(sizeof(*wait), GFP_KERNEL);
>> - if (!wait) {
>> - drm_crtc_vblank_put(crtc);
>> - return;
>> - }
>> -
>> - wait->request = to_request(dma_fence_get(fence));
>> - wait->crtc = crtc;
>> -
>> - wait->wait.func = do_rps_boost;
>> - wait->wait.flags = 0;
>> -
>> - add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
>> -}
>> -
>> /**
>> * intel_prepare_plane_fb - Prepare fb for usage on plane
>> * @_plane: drm plane to prepare for
>> @@ -1089,13 +1030,13 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
>> dma_resv_iter_begin(&cursor, obj->base.resv,
>> DMA_RESV_USAGE_WRITE);
>> dma_resv_for_each_fence_unlocked(&cursor, fence) {
>> - add_rps_boost_after_vblank(new_plane_state->hw.crtc,
>> - fence);
>> + intel_display_rps_boost_after_vblank(new_plane_state->hw.crtc,
>> + fence);
>> }
>> dma_resv_iter_end(&cursor);
>> } else {
>> - add_rps_boost_after_vblank(new_plane_state->hw.crtc,
>> - new_plane_state->uapi.fence);
>> + intel_display_rps_boost_after_vblank(new_plane_state->hw.crtc,
>> + new_plane_state->uapi.fence);
>> }
>>
>> /*
>> @@ -1106,10 +1047,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
>> * that are not quite steady state without resorting to forcing
>> * maximum clocks following a vblank miss (see do_rps_boost()).
>> */
>> - if (!state->rps_interactive) {
>> - intel_rps_mark_interactive(&to_gt(dev_priv)->rps, true);
>> - state->rps_interactive = true;
>> - }
>> + intel_display_rps_mark_interactive(dev_priv, state, true);
>>
>> return 0;
>>
>> @@ -1140,10 +1078,7 @@ intel_cleanup_plane_fb(struct drm_plane *plane,
>> if (!obj)
>> return;
>>
>> - if (state->rps_interactive) {
>> - intel_rps_mark_interactive(&to_gt(dev_priv)->rps, false);
>> - state->rps_interactive = false;
>> - }
>> + intel_display_rps_mark_interactive(dev_priv, state, false);
>>
>> /* Should only be called after a successful intel_prepare_plane_fb()! */
>> intel_plane_unpin_fb(old_plane_state);
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_rps.c b/drivers/gpu/drm/i915/display/intel_display_rps.c
>> new file mode 100644
>> index 000000000000..918d0327169a
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/display/intel_display_rps.c
>> @@ -0,0 +1,81 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#include <drm/drm_crtc.h>
>> +#include <drm/drm_vblank.h>
>> +
>> +#include "gt/intel_rps.h"
>> +#include "i915_drv.h"
>> +#include "intel_display_rps.h"
>> +#include "intel_display_types.h"
>> +
>> +struct wait_rps_boost {
>> + struct wait_queue_entry wait;
>> +
>> + struct drm_crtc *crtc;
>> + struct i915_request *request;
>> +};
>> +
>> +static int do_rps_boost(struct wait_queue_entry *_wait,
>> + unsigned mode, int sync, void *key)
>> +{
>> + struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
>> + struct i915_request *rq = wait->request;
>> +
>> + /*
>> + * If we missed the vblank, but the request is already running it
>> + * is reasonable to assume that it will complete before the next
>> + * vblank without our intervention, so leave RPS alone.
>> + */
>> + if (!i915_request_started(rq))
>> + intel_rps_boost(rq);
>> + i915_request_put(rq);
>> +
>> + drm_crtc_vblank_put(wait->crtc);
>> +
>> + list_del(&wait->wait.entry);
>> + kfree(wait);
>> + return 1;
>> +}
>> +
>> +void intel_display_rps_boost_after_vblank(struct drm_crtc *crtc,
>> + struct dma_fence *fence)
>> +{
>> + struct wait_rps_boost *wait;
>> +
>> + if (!dma_fence_is_i915(fence))
>> + return;
>> +
>> + if (DISPLAY_VER(to_i915(crtc->dev)) < 6)
>> + return;
>> +
>> + if (drm_crtc_vblank_get(crtc))
>> + return;
>> +
>> + wait = kmalloc(sizeof(*wait), GFP_KERNEL);
>> + if (!wait) {
>> + drm_crtc_vblank_put(crtc);
>> + return;
>> + }
>> +
>> + wait->request = to_request(dma_fence_get(fence));
>> + wait->crtc = crtc;
>> +
>> + wait->wait.func = do_rps_boost;
>> + wait->wait.flags = 0;
>> +
>> + add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
>> +}
>> +
>> +void intel_display_rps_mark_interactive(struct drm_i915_private *i915,
>> + struct intel_atomic_state *state,
>> + bool interactive)
>> +{
>> + if (state->rps_interactive == interactive)
>> + return;
>> +
>> + intel_rps_mark_interactive(&to_gt(i915)->rps, interactive);
>> + state->rps_interactive = interactive;
>> +}
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_rps.h b/drivers/gpu/drm/i915/display/intel_display_rps.h
>> new file mode 100644
>> index 000000000000..e19009c2371a
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/display/intel_display_rps.h
>> @@ -0,0 +1,22 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#ifndef __INTEL_DISPLAY_RPS_H__
>> +#define __INTEL_DISPLAY_RPS_H__
>> +
>> +#include <linux/types.h>
>> +
>> +struct dma_fence;
>> +struct drm_crtc;
>> +struct drm_i915_private;
>> +struct intel_atomic_state;
>> +
>> +void intel_display_rps_boost_after_vblank(struct drm_crtc *crtc,
>> + struct dma_fence *fence);
>> +void intel_display_rps_mark_interactive(struct drm_i915_private *i915,
>> + struct intel_atomic_state *state,
>> + bool interactive);
>> +
>> +#endif /* __INTEL_DISPLAY_RPS_H__ */
>> --
>> 2.39.1
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-06 18:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-02 16:49 [Intel-gfx] [PATCH] drm/i915/rps: split out display rps parts to a separate file Jani Nikula
2023-03-02 17:03 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
2023-03-02 17:22 ` [Intel-gfx] [PATCH] " Ville Syrjälä
2023-03-06 18:22 ` Jani Nikula
2023-03-03 4:33 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2023-03-06 14:31 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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.