* [PATCH v3 0/7] drm/i915: better high level abstraction for display
@ 2024-04-09 12:26 Jani Nikula
2024-04-09 12:26 ` [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer Jani Nikula
` (11 more replies)
0 siblings, 12 replies; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
v3 of [1], and no longer an RFC.
This is just initial plumbing, and not much in terms of usage (apart
from patch 7). We could start converting a number of places already, but
the main blocker atm is that I haven't figured out a decent solution for
the various IS_<PLATFORM>() check macros.
I'm intentionally keeping the patches small and independent, because
they could conceivably be backported to stable as dependencies, so we
don't cause a huge problem for backports.
Anyway, we could start moving things forward with this.
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1709727127.git.jani.nikula@intel.com
Jani Nikula (7):
drm/i915/display: add intel_display -> drm_device backpointer
drm/i915/display: add generic to_intel_display() macro
drm/i915: add generic __to_intel_display()
drm/xe/display: add generic __to_intel_display()
drm/i915/display: accept either i915 or display for feature tests
drm/i915/de: allow intel_display and drm_i915_private for de functions
drm/i915/quirks: convert struct drm_i915_private to struct
intel_display
.../gpu/drm/i915/display/intel_backlight.c | 40 +++----
drivers/gpu/drm/i915/display/intel_ddi.c | 6 +-
drivers/gpu/drm/i915/display/intel_de.h | 102 +++++++++++-------
.../gpu/drm/i915/display/intel_display_core.h | 3 +
.../drm/i915/display/intel_display_device.c | 3 +
.../drm/i915/display/intel_display_device.h | 4 +-
.../drm/i915/display/intel_display_driver.c | 3 +-
.../drm/i915/display/intel_display_types.h | 37 +++++++
drivers/gpu/drm/i915/display/intel_panel.c | 10 +-
drivers/gpu/drm/i915/display/intel_pps.c | 6 +-
drivers/gpu/drm/i915/display/intel_quirks.c | 56 +++++-----
drivers/gpu/drm/i915/display/intel_quirks.h | 6 +-
drivers/gpu/drm/i915/i915_drv.h | 11 ++
.../gpu/drm/xe/compat-i915-headers/i915_drv.h | 11 ++
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 1 +
15 files changed, 197 insertions(+), 102 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:05 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 2/7] drm/i915/display: add generic to_intel_display() macro Jani Nikula
` (10 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
As a baby step towards making struct intel_display the main data
structure for display, add a backpointer to struct drm_device that can
be used instead of &i915->drm.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_core.h | 3 +++
drivers/gpu/drm/i915/display/intel_display_device.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index db9b6492758e..368a4953bc1b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -282,6 +282,9 @@ struct intel_wm {
};
struct intel_display {
+ /* drm device backpointer */
+ struct drm_device *drm;
+
/* Display functions */
struct {
/* Top level crtc-ish functions */
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index b8903bd0e82a..120e209ee74a 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -927,6 +927,9 @@ void intel_display_device_probe(struct drm_i915_private *i915)
const struct intel_display_device_info *info;
u16 ver, rel, step;
+ /* Add drm device backpointer as early as possible. */
+ i915->display.drm = &i915->drm;
+
if (HAS_GMD_ID(i915))
info = probe_gmdid_display(i915, &ver, &rel, &step);
else
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v3 2/7] drm/i915/display: add generic to_intel_display() macro
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
2024-04-09 12:26 ` [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:06 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 3/7] drm/i915: add generic __to_intel_display() Jani Nikula
` (9 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
Convert various pointers to struct intel_display * using _Generic().
Add some macro magic to make adding new conversions easier, and somewhat
abstract the need to cast each generic association. The cast is required
because all associations needs to compile, regardless of the type and
the generic selection.
The use of *p in the generic selection assignment expression removes the
need to add separate associations for const pointers.
Note: This intentionally does *not* cover struct drm_i915_private or
struct xe_device. They are not to be used in the long run, so avoid
using this macro for them.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_types.h | 37 +++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 0f4bd5710796..1be98c4219b0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -2197,4 +2197,41 @@ static inline int to_bpp_x16(int bpp)
return bpp << 4;
}
+/*
+ * Conversion functions/macros from various pointer types to struct
+ * intel_display pointer.
+ */
+#define __drm_device_to_intel_display(p) \
+ (&to_i915(p)->display)
+#define __intel_connector_to_intel_display(p) \
+ __drm_device_to_intel_display((p)->base.dev)
+#define __intel_crtc_to_intel_display(p) \
+ __drm_device_to_intel_display((p)->base.dev)
+#define __intel_crtc_state_to_intel_display(p) \
+ __drm_device_to_intel_display((p)->uapi.crtc->dev)
+#define __intel_digital_port_to_intel_display(p) \
+ __drm_device_to_intel_display((p)->base.base.dev)
+#define __intel_dp_to_intel_display(p) \
+ __drm_device_to_intel_display(dp_to_dig_port(p)->base.base.dev)
+#define __intel_encoder_to_intel_display(p) \
+ __drm_device_to_intel_display((p)->base.dev)
+#define __intel_hdmi_to_intel_display(p) \
+ __drm_device_to_intel_display(hdmi_to_dig_port(p)->base.base.dev)
+
+/* Helper for generic association. Map types to conversion functions/macros. */
+#define __assoc(type, p) \
+ struct type: __##type##_to_intel_display((struct type *)(p))
+
+/* Convert various pointer types to struct intel_display pointer. */
+#define to_intel_display(p) \
+ _Generic(*p, \
+ __assoc(drm_device, p), \
+ __assoc(intel_connector, p), \
+ __assoc(intel_crtc, p), \
+ __assoc(intel_crtc_state, p), \
+ __assoc(intel_digital_port, p), \
+ __assoc(intel_dp, p), \
+ __assoc(intel_encoder, p), \
+ __assoc(intel_hdmi, p))
+
#endif /* __INTEL_DISPLAY_TYPES_H__ */
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v3 3/7] drm/i915: add generic __to_intel_display()
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
2024-04-09 12:26 ` [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer Jani Nikula
2024-04-09 12:26 ` [PATCH v3 2/7] drm/i915/display: add generic to_intel_display() macro Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:08 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 4/7] drm/xe/display: " Jani Nikula
` (8 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
Add generic __to_intel_display() macro that accepts either struct
drm_i915_private * or struct intel_display *. This is to be used for
transitional stuff that eventually needs to be converted to use struct
intel_display *, and therefore is not part of to_intel_display().
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ee0d7d5f135d..4819f80942d3 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -357,6 +357,17 @@ struct drm_i915_private {
*/
};
+/*
+ * Transitional macro to optionally convert struct drm_i915_private * to struct
+ * intel_display *, also accepting the latter.
+ */
+#define __to_intel_display(p) \
+ _Generic(p, \
+ const struct drm_i915_private *: (&((const struct drm_i915_private *)(p))->display), \
+ struct drm_i915_private *: (&((struct drm_i915_private *)(p))->display), \
+ const struct intel_display *: (p), \
+ struct intel_display *: (p))
+
static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
{
return container_of(dev, struct drm_i915_private, drm);
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v3 4/7] drm/xe/display: add generic __to_intel_display()
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (2 preceding siblings ...)
2024-04-09 12:26 ` [PATCH v3 3/7] drm/i915: add generic __to_intel_display() Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:10 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests Jani Nikula
` (7 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
Add generic __to_intel_display() macro that accepts either struct
xe_device * or struct intel_display *. This is to be used for
transitional stuff that eventually needs to be converted to use struct
intel_display *, and therefore is not part of to_intel_display().
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
| 11 +++++++++++
1 file changed, 11 insertions(+)
--git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
index 2792a497257e..4448eda8b2a4 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
@@ -29,6 +29,17 @@
#include "intel_runtime_pm.h"
#include <linux/pm_runtime.h>
+/*
+ * Transitional macro to optionally convert struct xe_device * to struct
+ * intel_display *, also accepting the latter.
+ */
+#define __to_intel_display(p) \
+ _Generic(p, \
+ const struct xe_device *: (&((const struct xe_device *)(p))->display), \
+ struct xe_device *: (&((struct xe_device *)(p))->display), \
+ const struct intel_display *: (p), \
+ struct intel_display *: (p))
+
static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
{
return container_of(dev, struct drm_i915_private, drm);
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (3 preceding siblings ...)
2024-04-09 12:26 ` [PATCH v3 4/7] drm/xe/display: " Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:14 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions Jani Nikula
` (6 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
Use the generic __to_intel_display() to allow passing either struct
drm_i915_private * or struct intel_display * to the feature test macros.
Unfortunately, this requires including i915_drv.h in xe display
code. This is still better than polluting the main xe_device.h or
xe_device_types.h files with the __to_intel_display() macro definition.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_device.h | 4 ++--
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 66b51de86e38..01c6a4bef179 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -100,8 +100,8 @@ struct drm_printer;
(IS_DISPLAY_IP_RANGE((__i915), (ipver), (ipver)) && \
IS_DISPLAY_STEP((__i915), (from), (until)))
-#define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
-#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
+#define DISPLAY_INFO(i915) (__to_intel_display(i915)->info.__device_info)
+#define DISPLAY_RUNTIME_INFO(i915) (&__to_intel_display(i915)->info.__runtime_info)
#define DISPLAY_VER(i915) (DISPLAY_RUNTIME_INFO(i915)->ip.ver)
#define DISPLAY_VER_FULL(i915) IP_VER(DISPLAY_RUNTIME_INFO(i915)->ip.ver, \
diff --git a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
index ac4b870f73fa..54314760f47a 100644
--- a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
+++ b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
@@ -19,6 +19,7 @@
#include "xe_map.h"
#include "xe_pm.h"
#include "xe_uc_fw.h"
+#include "i915_drv.h"
#define HECI_MEADDRESS_HDCP 18
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (4 preceding siblings ...)
2024-04-09 12:26 ` [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:16 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 7/7] drm/i915/quirks: convert struct drm_i915_private to struct intel_display Jani Nikula
` (5 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
It would be too much noise to convert the intel_de_* functions from
using struct drm_i915_private to struct intel_display all at once. Add
generic wrappers using __to_intel_display() to accept both.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
This was done using a cocci + shell script combo.
---
drivers/gpu/drm/i915/display/intel_de.h | 102 +++++++++++++++---------
1 file changed, 64 insertions(+), 38 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_de.h b/drivers/gpu/drm/i915/display/intel_de.h
index ba7a1c6ebc2a..a08f8ef630f3 100644
--- a/drivers/gpu/drm/i915/display/intel_de.h
+++ b/drivers/gpu/drm/i915/display/intel_de.h
@@ -10,80 +10,101 @@
#include "i915_trace.h"
#include "intel_uncore.h"
+static inline struct intel_uncore *__to_uncore(struct intel_display *display)
+{
+ return &to_i915(display->drm)->uncore;
+}
+
static inline u32
-intel_de_read(struct drm_i915_private *i915, i915_reg_t reg)
+__intel_de_read(struct intel_display *display, i915_reg_t reg)
{
- return intel_uncore_read(&i915->uncore, reg);
+ return intel_uncore_read(__to_uncore(display), reg);
}
+#define intel_de_read(p,...) __intel_de_read(__to_intel_display(p), __VA_ARGS__)
static inline u8
-intel_de_read8(struct drm_i915_private *i915, i915_reg_t reg)
+__intel_de_read8(struct intel_display *display, i915_reg_t reg)
{
- return intel_uncore_read8(&i915->uncore, reg);
+ return intel_uncore_read8(__to_uncore(display), reg);
}
+#define intel_de_read8(p,...) __intel_de_read8(__to_intel_display(p), __VA_ARGS__)
static inline u64
-intel_de_read64_2x32(struct drm_i915_private *i915,
- i915_reg_t lower_reg, i915_reg_t upper_reg)
+__intel_de_read64_2x32(struct intel_display *display,
+ i915_reg_t lower_reg, i915_reg_t upper_reg)
{
- return intel_uncore_read64_2x32(&i915->uncore, lower_reg, upper_reg);
+ return intel_uncore_read64_2x32(__to_uncore(display), lower_reg,
+ upper_reg);
}
+#define intel_de_read64_2x32(p,...) __intel_de_read64_2x32(__to_intel_display(p), __VA_ARGS__)
static inline void
-intel_de_posting_read(struct drm_i915_private *i915, i915_reg_t reg)
+__intel_de_posting_read(struct intel_display *display, i915_reg_t reg)
{
- intel_uncore_posting_read(&i915->uncore, reg);
+ intel_uncore_posting_read(__to_uncore(display), reg);
}
+#define intel_de_posting_read(p,...) __intel_de_posting_read(__to_intel_display(p), __VA_ARGS__)
static inline void
-intel_de_write(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
+__intel_de_write(struct intel_display *display, i915_reg_t reg, u32 val)
{
- intel_uncore_write(&i915->uncore, reg, val);
+ intel_uncore_write(__to_uncore(display), reg, val);
}
+#define intel_de_write(p,...) __intel_de_write(__to_intel_display(p), __VA_ARGS__)
static inline u32
-intel_de_rmw(struct drm_i915_private *i915, i915_reg_t reg, u32 clear, u32 set)
+__intel_de_rmw(struct intel_display *display, i915_reg_t reg, u32 clear,
+ u32 set)
{
- return intel_uncore_rmw(&i915->uncore, reg, clear, set);
+ return intel_uncore_rmw(__to_uncore(display), reg, clear, set);
}
+#define intel_de_rmw(p,...) __intel_de_rmw(__to_intel_display(p), __VA_ARGS__)
static inline int
-intel_de_wait(struct drm_i915_private *i915, i915_reg_t reg,
- u32 mask, u32 value, unsigned int timeout)
+__intel_de_wait(struct intel_display *display, i915_reg_t reg,
+ u32 mask, u32 value, unsigned int timeout)
{
- return intel_wait_for_register(&i915->uncore, reg, mask, value, timeout);
+ return intel_wait_for_register(__to_uncore(display), reg, mask, value,
+ timeout);
}
+#define intel_de_wait(p,...) __intel_de_wait(__to_intel_display(p), __VA_ARGS__)
static inline int
-intel_de_wait_fw(struct drm_i915_private *i915, i915_reg_t reg,
- u32 mask, u32 value, unsigned int timeout)
+__intel_de_wait_fw(struct intel_display *display, i915_reg_t reg,
+ u32 mask, u32 value, unsigned int timeout)
{
- return intel_wait_for_register_fw(&i915->uncore, reg, mask, value, timeout);
+ return intel_wait_for_register_fw(__to_uncore(display), reg, mask,
+ value, timeout);
}
+#define intel_de_wait_fw(p,...) __intel_de_wait_fw(__to_intel_display(p), __VA_ARGS__)
static inline int
-intel_de_wait_custom(struct drm_i915_private *i915, i915_reg_t reg,
- u32 mask, u32 value,
- unsigned int fast_timeout_us,
- unsigned int slow_timeout_ms, u32 *out_value)
+__intel_de_wait_custom(struct intel_display *display, i915_reg_t reg,
+ u32 mask, u32 value,
+ unsigned int fast_timeout_us,
+ unsigned int slow_timeout_ms, u32 *out_value)
{
- return __intel_wait_for_register(&i915->uncore, reg, mask, value,
+ return __intel_wait_for_register(__to_uncore(display), reg, mask,
+ value,
fast_timeout_us, slow_timeout_ms, out_value);
}
+#define intel_de_wait_custom(p,...) __intel_de_wait_custom(__to_intel_display(p), __VA_ARGS__)
static inline int
-intel_de_wait_for_set(struct drm_i915_private *i915, i915_reg_t reg,
- u32 mask, unsigned int timeout)
+__intel_de_wait_for_set(struct intel_display *display, i915_reg_t reg,
+ u32 mask, unsigned int timeout)
{
- return intel_de_wait(i915, reg, mask, mask, timeout);
+ return intel_de_wait(display, reg, mask, mask, timeout);
}
+#define intel_de_wait_for_set(p,...) __intel_de_wait_for_set(__to_intel_display(p), __VA_ARGS__)
static inline int
-intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
- u32 mask, unsigned int timeout)
+__intel_de_wait_for_clear(struct intel_display *display, i915_reg_t reg,
+ u32 mask, unsigned int timeout)
{
- return intel_de_wait(i915, reg, mask, 0, timeout);
+ return intel_de_wait(display, reg, mask, 0, timeout);
}
+#define intel_de_wait_for_clear(p,...) __intel_de_wait_for_clear(__to_intel_display(p), __VA_ARGS__)
/*
* Unlocked mmio-accessors, think carefully before using these.
@@ -94,33 +115,38 @@ intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
* a more localised lock guarding all access to that bank of registers.
*/
static inline u32
-intel_de_read_fw(struct drm_i915_private *i915, i915_reg_t reg)
+__intel_de_read_fw(struct intel_display *display, i915_reg_t reg)
{
u32 val;
- val = intel_uncore_read_fw(&i915->uncore, reg);
+ val = intel_uncore_read_fw(__to_uncore(display), reg);
trace_i915_reg_rw(false, reg, val, sizeof(val), true);
return val;
}
+#define intel_de_read_fw(p,...) __intel_de_read_fw(__to_intel_display(p), __VA_ARGS__)
static inline void
-intel_de_write_fw(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
+__intel_de_write_fw(struct intel_display *display, i915_reg_t reg, u32 val)
{
trace_i915_reg_rw(true, reg, val, sizeof(val), true);
- intel_uncore_write_fw(&i915->uncore, reg, val);
+ intel_uncore_write_fw(__to_uncore(display), reg, val);
}
+#define intel_de_write_fw(p,...) __intel_de_write_fw(__to_intel_display(p), __VA_ARGS__)
static inline u32
-intel_de_read_notrace(struct drm_i915_private *i915, i915_reg_t reg)
+__intel_de_read_notrace(struct intel_display *display, i915_reg_t reg)
{
- return intel_uncore_read_notrace(&i915->uncore, reg);
+ return intel_uncore_read_notrace(__to_uncore(display), reg);
}
+#define intel_de_read_notrace(p,...) __intel_de_read_notrace(__to_intel_display(p), __VA_ARGS__)
static inline void
-intel_de_write_notrace(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
+__intel_de_write_notrace(struct intel_display *display, i915_reg_t reg,
+ u32 val)
{
- intel_uncore_write_notrace(&i915->uncore, reg, val);
+ intel_uncore_write_notrace(__to_uncore(display), reg, val);
}
+#define intel_de_write_notrace(p,...) __intel_de_write_notrace(__to_intel_display(p), __VA_ARGS__)
#endif /* __INTEL_DE_H__ */
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v3 7/7] drm/i915/quirks: convert struct drm_i915_private to struct intel_display
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (5 preceding siblings ...)
2024-04-09 12:26 ` [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions Jani Nikula
@ 2024-04-09 12:26 ` Jani Nikula
2024-04-16 16:17 ` Rodrigo Vivi
2024-04-09 15:40 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: better high level abstraction for display (rev2) Patchwork
` (4 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-09 12:26 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, lucas.demarchi, rodrigo.vivi, ville.syrjala,
joonas.lahtinen, tursulin
Use struct intel_display instead of struct drm_i915_private for
quirks. Also do drive-by conversions in call sites of intel_has_quirk().
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../gpu/drm/i915/display/intel_backlight.c | 40 ++++++-------
drivers/gpu/drm/i915/display/intel_ddi.c | 6 +-
.../drm/i915/display/intel_display_driver.c | 3 +-
drivers/gpu/drm/i915/display/intel_panel.c | 10 ++--
drivers/gpu/drm/i915/display/intel_pps.c | 6 +-
drivers/gpu/drm/i915/display/intel_quirks.c | 56 +++++++++----------
drivers/gpu/drm/i915/display/intel_quirks.h | 6 +-
7 files changed, 65 insertions(+), 62 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c
index 4d4330410b4d..071668bfe5d1 100644
--- a/drivers/gpu/drm/i915/display/intel_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_backlight.c
@@ -83,16 +83,16 @@ static u32 scale_hw_to_user(struct intel_connector *connector,
u32 intel_backlight_invert_pwm_level(struct intel_connector *connector, u32 val)
{
- struct drm_i915_private *i915 = to_i915(connector->base.dev);
+ struct intel_display *display = to_intel_display(connector);
struct intel_panel *panel = &connector->panel;
- drm_WARN_ON(&i915->drm, panel->backlight.pwm_level_max == 0);
+ drm_WARN_ON(display->drm, panel->backlight.pwm_level_max == 0);
- if (i915->display.params.invert_brightness < 0)
+ if (display->params.invert_brightness < 0)
return val;
- if (i915->display.params.invert_brightness > 0 ||
- intel_has_quirk(i915, QUIRK_INVERT_BRIGHTNESS)) {
+ if (display->params.invert_brightness > 0 ||
+ intel_has_quirk(display, QUIRK_INVERT_BRIGHTNESS)) {
return panel->backlight.pwm_level_max - val + panel->backlight.pwm_level_min;
}
@@ -126,15 +126,15 @@ u32 intel_backlight_level_to_pwm(struct intel_connector *connector, u32 val)
u32 intel_backlight_level_from_pwm(struct intel_connector *connector, u32 val)
{
- struct drm_i915_private *i915 = to_i915(connector->base.dev);
+ struct intel_display *display = to_intel_display(connector);
struct intel_panel *panel = &connector->panel;
- drm_WARN_ON_ONCE(&i915->drm,
+ drm_WARN_ON_ONCE(display->drm,
panel->backlight.max == 0 || panel->backlight.pwm_level_max == 0);
- if (i915->display.params.invert_brightness > 0 ||
- (i915->display.params.invert_brightness == 0 &&
- intel_has_quirk(i915, QUIRK_INVERT_BRIGHTNESS)))
+ if (display->params.invert_brightness > 0 ||
+ (display->params.invert_brightness == 0 &&
+ intel_has_quirk(display, QUIRK_INVERT_BRIGHTNESS)))
val = panel->backlight.pwm_level_max - (val - panel->backlight.pwm_level_min);
return scale(val, panel->backlight.pwm_level_min, panel->backlight.pwm_level_max,
@@ -1642,17 +1642,17 @@ void intel_backlight_update(struct intel_atomic_state *state,
int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
{
- struct drm_i915_private *i915 = to_i915(connector->base.dev);
+ struct intel_display *display = to_intel_display(connector);
struct intel_panel *panel = &connector->panel;
int ret;
if (!connector->panel.vbt.backlight.present) {
- if (intel_has_quirk(i915, QUIRK_BACKLIGHT_PRESENT)) {
- drm_dbg_kms(&i915->drm,
+ if (intel_has_quirk(display, QUIRK_BACKLIGHT_PRESENT)) {
+ drm_dbg_kms(display->drm,
"[CONNECTOR:%d:%s] no backlight present per VBT, but present per quirk\n",
connector->base.base.id, connector->base.name);
} else {
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"[CONNECTOR:%d:%s] no backlight present per VBT\n",
connector->base.base.id, connector->base.name);
return 0;
@@ -1660,16 +1660,16 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
}
/* ensure intel_panel has been initialized first */
- if (drm_WARN_ON(&i915->drm, !panel->backlight.funcs))
+ if (drm_WARN_ON(display->drm, !panel->backlight.funcs))
return -ENODEV;
/* set level and max in panel struct */
- mutex_lock(&i915->display.backlight.lock);
+ mutex_lock(&display->backlight.lock);
ret = panel->backlight.funcs->setup(connector, pipe);
- mutex_unlock(&i915->display.backlight.lock);
+ mutex_unlock(&display->backlight.lock);
if (ret) {
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"[CONNECTOR:%d:%s] failed to setup backlight\n",
connector->base.base.id, connector->base.name);
return ret;
@@ -1677,7 +1677,7 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
panel->backlight.present = true;
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"[CONNECTOR:%d:%s] backlight initialized, %s, brightness %u/%u\n",
connector->base.base.id, connector->base.name,
str_enabled_disabled(panel->backlight.enabled),
@@ -1821,7 +1821,7 @@ void intel_backlight_init_funcs(struct intel_panel *panel)
if (intel_dp_aux_init_backlight_funcs(connector) == 0)
return;
- if (!intel_has_quirk(i915, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK))
+ if (!intel_has_quirk(&i915->display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK))
connector->panel.backlight.power = intel_pps_backlight_power;
}
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 793ef3e387c6..49d947f4ccde 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -631,6 +631,7 @@ intel_ddi_config_transcoder_func(struct intel_encoder *encoder,
void intel_ddi_disable_transcoder_func(const struct intel_crtc_state *crtc_state)
{
+ struct intel_display *display = to_intel_display(crtc_state);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
@@ -661,10 +662,9 @@ void intel_ddi_disable_transcoder_func(const struct intel_crtc_state *crtc_state
intel_de_write(dev_priv, TRANS_DDI_FUNC_CTL(cpu_transcoder), ctl);
- if (intel_has_quirk(dev_priv, QUIRK_INCREASE_DDI_DISABLED_TIME) &&
+ if (intel_has_quirk(display, QUIRK_INCREASE_DDI_DISABLED_TIME) &&
intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI)) {
- drm_dbg_kms(&dev_priv->drm,
- "Quirk Increase DDI disabled time\n");
+ drm_dbg_kms(display->drm, "Quirk Increase DDI disabled time\n");
/* Quirk time at 100ms for reliable operation */
msleep(100);
}
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 87dd07e0d138..0b05c3b732e9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -203,6 +203,7 @@ void intel_display_driver_early_probe(struct drm_i915_private *i915)
/* part #1: call before irq install */
int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
{
+ struct intel_display *display = &i915->display;
int ret;
if (i915_inject_probe_failure(i915))
@@ -261,7 +262,7 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
if (ret)
goto cleanup_vga_client_pw_domain_dmc;
- intel_init_quirks(i915);
+ intel_init_quirks(display);
intel_fbc_init(i915);
diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i915/display/intel_panel.c
index 073ea3166c36..6f4ff6a89c32 100644
--- a/drivers/gpu/drm/i915/display/intel_panel.c
+++ b/drivers/gpu/drm/i915/display/intel_panel.c
@@ -47,10 +47,12 @@
bool intel_panel_use_ssc(struct drm_i915_private *i915)
{
- if (i915->display.params.panel_use_ssc >= 0)
- return i915->display.params.panel_use_ssc != 0;
- return i915->display.vbt.lvds_use_ssc &&
- !intel_has_quirk(i915, QUIRK_LVDS_SSC_DISABLE);
+ struct intel_display *display = &i915->display;
+
+ if (display->params.panel_use_ssc >= 0)
+ return display->params.panel_use_ssc != 0;
+ return display->vbt.lvds_use_ssc &&
+ !intel_has_quirk(display, QUIRK_LVDS_SSC_DISABLE);
}
const struct drm_display_mode *
diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c
index b5d9920f8341..052f4ee406b5 100644
--- a/drivers/gpu/drm/i915/display/intel_pps.c
+++ b/drivers/gpu/drm/i915/display/intel_pps.c
@@ -1350,7 +1350,7 @@ static void pps_init_delays_bios(struct intel_dp *intel_dp,
static void pps_init_delays_vbt(struct intel_dp *intel_dp,
struct edp_power_seq *vbt)
{
- struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+ struct intel_display *display = to_intel_display(intel_dp);
struct intel_connector *connector = intel_dp->attached_connector;
*vbt = connector->panel.vbt.edp.pps;
@@ -1363,9 +1363,9 @@ static void pps_init_delays_vbt(struct intel_dp *intel_dp,
* just fails to power back on. Increasing the delay to 800ms
* seems sufficient to avoid this problem.
*/
- if (intel_has_quirk(dev_priv, QUIRK_INCREASE_T12_DELAY)) {
+ if (intel_has_quirk(display, QUIRK_INCREASE_T12_DELAY)) {
vbt->t11_t12 = max_t(u16, vbt->t11_t12, 1300 * 10);
- drm_dbg_kms(&dev_priv->drm,
+ drm_dbg_kms(display->drm,
"Increasing T12 panel delay as per the quirk to %d\n",
vbt->t11_t12);
}
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
index a280448df771..14d5fefc9c5b 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.c
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c
@@ -9,72 +9,72 @@
#include "intel_display_types.h"
#include "intel_quirks.h"
-static void intel_set_quirk(struct drm_i915_private *i915, enum intel_quirk_id quirk)
+static void intel_set_quirk(struct intel_display *display, enum intel_quirk_id quirk)
{
- i915->display.quirks.mask |= BIT(quirk);
+ display->quirks.mask |= BIT(quirk);
}
/*
* Some machines (Lenovo U160) do not work with SSC on LVDS for some reason
*/
-static void quirk_ssc_force_disable(struct drm_i915_private *i915)
+static void quirk_ssc_force_disable(struct intel_display *display)
{
- intel_set_quirk(i915, QUIRK_LVDS_SSC_DISABLE);
- drm_info(&i915->drm, "applying lvds SSC disable quirk\n");
+ intel_set_quirk(display, QUIRK_LVDS_SSC_DISABLE);
+ drm_info(display->drm, "applying lvds SSC disable quirk\n");
}
/*
* A machine (e.g. Acer Aspire 5734Z) may need to invert the panel backlight
* brightness value
*/
-static void quirk_invert_brightness(struct drm_i915_private *i915)
+static void quirk_invert_brightness(struct intel_display *display)
{
- intel_set_quirk(i915, QUIRK_INVERT_BRIGHTNESS);
- drm_info(&i915->drm, "applying inverted panel brightness quirk\n");
+ intel_set_quirk(display, QUIRK_INVERT_BRIGHTNESS);
+ drm_info(display->drm, "applying inverted panel brightness quirk\n");
}
/* Some VBT's incorrectly indicate no backlight is present */
-static void quirk_backlight_present(struct drm_i915_private *i915)
+static void quirk_backlight_present(struct intel_display *display)
{
- intel_set_quirk(i915, QUIRK_BACKLIGHT_PRESENT);
- drm_info(&i915->drm, "applying backlight present quirk\n");
+ intel_set_quirk(display, QUIRK_BACKLIGHT_PRESENT);
+ drm_info(display->drm, "applying backlight present quirk\n");
}
/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
* which is 300 ms greater than eDP spec T12 min.
*/
-static void quirk_increase_t12_delay(struct drm_i915_private *i915)
+static void quirk_increase_t12_delay(struct intel_display *display)
{
- intel_set_quirk(i915, QUIRK_INCREASE_T12_DELAY);
- drm_info(&i915->drm, "Applying T12 delay quirk\n");
+ intel_set_quirk(display, QUIRK_INCREASE_T12_DELAY);
+ drm_info(display->drm, "Applying T12 delay quirk\n");
}
/*
* GeminiLake NUC HDMI outputs require additional off time
* this allows the onboard retimer to correctly sync to signal
*/
-static void quirk_increase_ddi_disabled_time(struct drm_i915_private *i915)
+static void quirk_increase_ddi_disabled_time(struct intel_display *display)
{
- intel_set_quirk(i915, QUIRK_INCREASE_DDI_DISABLED_TIME);
- drm_info(&i915->drm, "Applying Increase DDI Disabled quirk\n");
+ intel_set_quirk(display, QUIRK_INCREASE_DDI_DISABLED_TIME);
+ drm_info(display->drm, "Applying Increase DDI Disabled quirk\n");
}
-static void quirk_no_pps_backlight_power_hook(struct drm_i915_private *i915)
+static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
{
- intel_set_quirk(i915, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK);
- drm_info(&i915->drm, "Applying no pps backlight power quirk\n");
+ intel_set_quirk(display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK);
+ drm_info(display->drm, "Applying no pps backlight power quirk\n");
}
struct intel_quirk {
int device;
int subsystem_vendor;
int subsystem_device;
- void (*hook)(struct drm_i915_private *i915);
+ void (*hook)(struct intel_display *display);
};
/* For systems that don't have a meaningful PCI subdevice/subvendor ID */
struct intel_dmi_quirk {
- void (*hook)(struct drm_i915_private *i915);
+ void (*hook)(struct intel_display *display);
const struct dmi_system_id (*dmi_id_list)[];
};
@@ -203,9 +203,9 @@ static struct intel_quirk intel_quirks[] = {
{ 0x0f31, 0x103c, 0x220f, quirk_invert_brightness },
};
-void intel_init_quirks(struct drm_i915_private *i915)
+void intel_init_quirks(struct intel_display *display)
{
- struct pci_dev *d = to_pci_dev(i915->drm.dev);
+ struct pci_dev *d = to_pci_dev(display->drm->dev);
int i;
for (i = 0; i < ARRAY_SIZE(intel_quirks); i++) {
@@ -216,15 +216,15 @@ void intel_init_quirks(struct drm_i915_private *i915)
q->subsystem_vendor == PCI_ANY_ID) &&
(d->subsystem_device == q->subsystem_device ||
q->subsystem_device == PCI_ANY_ID))
- q->hook(i915);
+ q->hook(display);
}
for (i = 0; i < ARRAY_SIZE(intel_dmi_quirks); i++) {
if (dmi_check_system(*intel_dmi_quirks[i].dmi_id_list) != 0)
- intel_dmi_quirks[i].hook(i915);
+ intel_dmi_quirks[i].hook(display);
}
}
-bool intel_has_quirk(struct drm_i915_private *i915, enum intel_quirk_id quirk)
+bool intel_has_quirk(struct intel_display *display, enum intel_quirk_id quirk)
{
- return i915->display.quirks.mask & BIT(quirk);
+ return display->quirks.mask & BIT(quirk);
}
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
index 10a4d163149f..151c8f4ae576 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.h
+++ b/drivers/gpu/drm/i915/display/intel_quirks.h
@@ -8,7 +8,7 @@
#include <linux/types.h>
-struct drm_i915_private;
+struct intel_display;
enum intel_quirk_id {
QUIRK_BACKLIGHT_PRESENT,
@@ -19,7 +19,7 @@ enum intel_quirk_id {
QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
};
-void intel_init_quirks(struct drm_i915_private *i915);
-bool intel_has_quirk(struct drm_i915_private *i915, enum intel_quirk_id quirk);
+void intel_init_quirks(struct intel_display *display);
+bool intel_has_quirk(struct intel_display *display, enum intel_quirk_id quirk);
#endif /* __INTEL_QUIRKS_H__ */
--
2.39.2
^ permalink raw reply related [flat|nested] 24+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: better high level abstraction for display (rev2)
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (6 preceding siblings ...)
2024-04-09 12:26 ` [PATCH v3 7/7] drm/i915/quirks: convert struct drm_i915_private to struct intel_display Jani Nikula
@ 2024-04-09 15:40 ` Patchwork
2024-04-09 15:40 ` ✗ Fi.CI.SPARSE: " Patchwork
` (3 subsequent siblings)
11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-04-09 15:40 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: better high level abstraction for display (rev2)
URL : https://patchwork.freedesktop.org/series/130805/
State : warning
== Summary ==
Error: dim checkpatch failed
dac86e84fa8c drm/i915/display: add intel_display -> drm_device backpointer
40e8d033ff3c drm/i915/display: add generic to_intel_display() macro
-:53: ERROR:SPACING: spaces required around that ':' (ctx:VxW)
#53: FILE: drivers/gpu/drm/i915/display/intel_display_types.h:2223:
+ struct type: __##type##_to_intel_display((struct type *)(p))
^
-:56: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'p' - possible side-effects?
#56: FILE: drivers/gpu/drm/i915/display/intel_display_types.h:2226:
+#define to_intel_display(p) \
+ _Generic(*p, \
+ __assoc(drm_device, p), \
+ __assoc(intel_connector, p), \
+ __assoc(intel_crtc, p), \
+ __assoc(intel_crtc_state, p), \
+ __assoc(intel_digital_port, p), \
+ __assoc(intel_dp, p), \
+ __assoc(intel_encoder, p), \
+ __assoc(intel_hdmi, p))
-:56: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'p' may be better as '(p)' to avoid precedence issues
#56: FILE: drivers/gpu/drm/i915/display/intel_display_types.h:2226:
+#define to_intel_display(p) \
+ _Generic(*p, \
+ __assoc(drm_device, p), \
+ __assoc(intel_connector, p), \
+ __assoc(intel_crtc, p), \
+ __assoc(intel_crtc_state, p), \
+ __assoc(intel_digital_port, p), \
+ __assoc(intel_dp, p), \
+ __assoc(intel_encoder, p), \
+ __assoc(intel_hdmi, p))
-:57: CHECK:CAMELCASE: Avoid CamelCase: <_Generic>
#57: FILE: drivers/gpu/drm/i915/display/intel_display_types.h:2227:
+ _Generic(*p, \
total: 1 errors, 0 warnings, 3 checks, 41 lines checked
13c270690677 drm/i915: add generic __to_intel_display()
-:25: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'p' - possible side-effects?
#25: FILE: drivers/gpu/drm/i915/i915_drv.h:364:
+#define __to_intel_display(p) \
+ _Generic(p, \
+ const struct drm_i915_private *: (&((const struct drm_i915_private *)(p))->display), \
+ struct drm_i915_private *: (&((struct drm_i915_private *)(p))->display), \
+ const struct intel_display *: (p), \
+ struct intel_display *: (p))
-:26: CHECK:CAMELCASE: Avoid CamelCase: <_Generic>
#26: FILE: drivers/gpu/drm/i915/i915_drv.h:365:
+ _Generic(p, \
-:27: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#27: FILE: drivers/gpu/drm/i915/i915_drv.h:366:
+ const struct drm_i915_private *: (&((const struct drm_i915_private *)(p))->display), \
-:27: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#27: FILE: drivers/gpu/drm/i915/i915_drv.h:366:
+ const struct drm_i915_private *: (&((const struct drm_i915_private *)(p))->display), \
^
-:27: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#27: FILE: drivers/gpu/drm/i915/i915_drv.h:366:
+ const struct drm_i915_private *: (&((const struct drm_i915_private *)(p))->display), \
^
-:28: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#28: FILE: drivers/gpu/drm/i915/i915_drv.h:367:
+ struct drm_i915_private *: (&((struct drm_i915_private *)(p))->display), \
^
-:28: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#28: FILE: drivers/gpu/drm/i915/i915_drv.h:367:
+ struct drm_i915_private *: (&((struct drm_i915_private *)(p))->display), \
^
-:29: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#29: FILE: drivers/gpu/drm/i915/i915_drv.h:368:
+ const struct intel_display *: (p), \
^
-:29: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#29: FILE: drivers/gpu/drm/i915/i915_drv.h:368:
+ const struct intel_display *: (p), \
^
-:30: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#30: FILE: drivers/gpu/drm/i915/i915_drv.h:369:
+ struct intel_display *: (p))
^
-:30: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#30: FILE: drivers/gpu/drm/i915/i915_drv.h:369:
+ struct intel_display *: (p))
^
total: 4 errors, 1 warnings, 6 checks, 17 lines checked
ef7f7db6eac3 drm/xe/display: add generic __to_intel_display()
-:25: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'p' - possible side-effects?
#25: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:36:
+#define __to_intel_display(p) \
+ _Generic(p, \
+ const struct xe_device *: (&((const struct xe_device *)(p))->display), \
+ struct xe_device *: (&((struct xe_device *)(p))->display), \
+ const struct intel_display *: (p), \
+ struct intel_display *: (p))
-:26: CHECK:CAMELCASE: Avoid CamelCase: <_Generic>
#26: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:37:
+ _Generic(p, \
-:27: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#27: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:38:
+ const struct xe_device *: (&((const struct xe_device *)(p))->display), \
^
-:27: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#27: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:38:
+ const struct xe_device *: (&((const struct xe_device *)(p))->display), \
^
-:28: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#28: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:39:
+ struct xe_device *: (&((struct xe_device *)(p))->display), \
^
-:28: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#28: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:39:
+ struct xe_device *: (&((struct xe_device *)(p))->display), \
^
-:29: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#29: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:40:
+ const struct intel_display *: (p), \
^
-:29: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#29: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:40:
+ const struct intel_display *: (p), \
^
-:30: CHECK:SPACING: spaces preferred around that '*' (ctx:WxO)
#30: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:41:
+ struct intel_display *: (p))
^
-:30: ERROR:SPACING: spaces required around that ':' (ctx:OxW)
#30: FILE: drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:41:
+ struct intel_display *: (p))
^
total: 4 errors, 0 warnings, 6 checks, 17 lines checked
b92cebd0bd5d drm/i915/display: accept either i915 or display for feature tests
c9ce81cc4783 drm/i915/de: allow intel_display and drm_i915_private for de functions
-:33: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#33: FILE: drivers/gpu/drm/i915/display/intel_de.h:23:
}
+#define intel_de_read(p,...) __intel_de_read(__to_intel_display(p), __VA_ARGS__)
-:33: ERROR:SPACING: space required after that ',' (ctx:VxV)
#33: FILE: drivers/gpu/drm/i915/display/intel_de.h:23:
+#define intel_de_read(p,...) __intel_de_read(__to_intel_display(p), __VA_ARGS__)
^
-:42: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#42: FILE: drivers/gpu/drm/i915/display/intel_de.h:30:
}
+#define intel_de_read8(p,...) __intel_de_read8(__to_intel_display(p), __VA_ARGS__)
-:42: ERROR:SPACING: space required after that ',' (ctx:VxV)
#42: FILE: drivers/gpu/drm/i915/display/intel_de.h:30:
+#define intel_de_read8(p,...) __intel_de_read8(__to_intel_display(p), __VA_ARGS__)
^
-:54: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#54: FILE: drivers/gpu/drm/i915/display/intel_de.h:39:
}
+#define intel_de_read64_2x32(p,...) __intel_de_read64_2x32(__to_intel_display(p), __VA_ARGS__)
-:54: ERROR:SPACING: space required after that ',' (ctx:VxV)
#54: FILE: drivers/gpu/drm/i915/display/intel_de.h:39:
+#define intel_de_read64_2x32(p,...) __intel_de_read64_2x32(__to_intel_display(p), __VA_ARGS__)
^
-:63: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#63: FILE: drivers/gpu/drm/i915/display/intel_de.h:46:
}
+#define intel_de_posting_read(p,...) __intel_de_posting_read(__to_intel_display(p), __VA_ARGS__)
-:63: ERROR:SPACING: space required after that ',' (ctx:VxV)
#63: FILE: drivers/gpu/drm/i915/display/intel_de.h:46:
+#define intel_de_posting_read(p,...) __intel_de_posting_read(__to_intel_display(p), __VA_ARGS__)
^
-:72: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#72: FILE: drivers/gpu/drm/i915/display/intel_de.h:53:
}
+#define intel_de_write(p,...) __intel_de_write(__to_intel_display(p), __VA_ARGS__)
-:72: ERROR:SPACING: space required after that ',' (ctx:VxV)
#72: FILE: drivers/gpu/drm/i915/display/intel_de.h:53:
+#define intel_de_write(p,...) __intel_de_write(__to_intel_display(p), __VA_ARGS__)
^
-:82: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#82: FILE: drivers/gpu/drm/i915/display/intel_de.h:61:
}
+#define intel_de_rmw(p,...) __intel_de_rmw(__to_intel_display(p), __VA_ARGS__)
-:82: ERROR:SPACING: space required after that ',' (ctx:VxV)
#82: FILE: drivers/gpu/drm/i915/display/intel_de.h:61:
+#define intel_de_rmw(p,...) __intel_de_rmw(__to_intel_display(p), __VA_ARGS__)
^
-:94: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#94: FILE: drivers/gpu/drm/i915/display/intel_de.h:70:
}
+#define intel_de_wait(p,...) __intel_de_wait(__to_intel_display(p), __VA_ARGS__)
-:94: ERROR:SPACING: space required after that ',' (ctx:VxV)
#94: FILE: drivers/gpu/drm/i915/display/intel_de.h:70:
+#define intel_de_wait(p,...) __intel_de_wait(__to_intel_display(p), __VA_ARGS__)
^
-:106: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#106: FILE: drivers/gpu/drm/i915/display/intel_de.h:79:
}
+#define intel_de_wait_fw(p,...) __intel_de_wait_fw(__to_intel_display(p), __VA_ARGS__)
-:106: ERROR:SPACING: space required after that ',' (ctx:VxV)
#106: FILE: drivers/gpu/drm/i915/display/intel_de.h:79:
+#define intel_de_wait_fw(p,...) __intel_de_wait_fw(__to_intel_display(p), __VA_ARGS__)
^
-:123: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#123: FILE: drivers/gpu/drm/i915/display/intel_de.h:91:
}
+#define intel_de_wait_custom(p,...) __intel_de_wait_custom(__to_intel_display(p), __VA_ARGS__)
-:123: ERROR:SPACING: space required after that ',' (ctx:VxV)
#123: FILE: drivers/gpu/drm/i915/display/intel_de.h:91:
+#define intel_de_wait_custom(p,...) __intel_de_wait_custom(__to_intel_display(p), __VA_ARGS__)
^
-:134: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#134: FILE: drivers/gpu/drm/i915/display/intel_de.h:99:
}
+#define intel_de_wait_for_set(p,...) __intel_de_wait_for_set(__to_intel_display(p), __VA_ARGS__)
-:134: ERROR:SPACING: space required after that ',' (ctx:VxV)
#134: FILE: drivers/gpu/drm/i915/display/intel_de.h:99:
+#define intel_de_wait_for_set(p,...) __intel_de_wait_for_set(__to_intel_display(p), __VA_ARGS__)
^
-:145: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#145: FILE: drivers/gpu/drm/i915/display/intel_de.h:107:
}
+#define intel_de_wait_for_clear(p,...) __intel_de_wait_for_clear(__to_intel_display(p), __VA_ARGS__)
-:145: ERROR:SPACING: space required after that ',' (ctx:VxV)
#145: FILE: drivers/gpu/drm/i915/display/intel_de.h:107:
+#define intel_de_wait_for_clear(p,...) __intel_de_wait_for_clear(__to_intel_display(p), __VA_ARGS__)
^
-:164: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#164: FILE: drivers/gpu/drm/i915/display/intel_de.h:127:
}
+#define intel_de_read_fw(p,...) __intel_de_read_fw(__to_intel_display(p), __VA_ARGS__)
-:164: ERROR:SPACING: space required after that ',' (ctx:VxV)
#164: FILE: drivers/gpu/drm/i915/display/intel_de.h:127:
+#define intel_de_read_fw(p,...) __intel_de_read_fw(__to_intel_display(p), __VA_ARGS__)
^
-:174: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#174: FILE: drivers/gpu/drm/i915/display/intel_de.h:135:
}
+#define intel_de_write_fw(p,...) __intel_de_write_fw(__to_intel_display(p), __VA_ARGS__)
-:174: ERROR:SPACING: space required after that ',' (ctx:VxV)
#174: FILE: drivers/gpu/drm/i915/display/intel_de.h:135:
+#define intel_de_write_fw(p,...) __intel_de_write_fw(__to_intel_display(p), __VA_ARGS__)
^
-:183: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#183: FILE: drivers/gpu/drm/i915/display/intel_de.h:142:
}
+#define intel_de_read_notrace(p,...) __intel_de_read_notrace(__to_intel_display(p), __VA_ARGS__)
-:183: ERROR:SPACING: space required after that ',' (ctx:VxV)
#183: FILE: drivers/gpu/drm/i915/display/intel_de.h:142:
+#define intel_de_read_notrace(p,...) __intel_de_read_notrace(__to_intel_display(p), __VA_ARGS__)
^
-:193: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#193: FILE: drivers/gpu/drm/i915/display/intel_de.h:150:
}
+#define intel_de_write_notrace(p,...) __intel_de_write_notrace(__to_intel_display(p), __VA_ARGS__)
-:193: ERROR:SPACING: space required after that ',' (ctx:VxV)
#193: FILE: drivers/gpu/drm/i915/display/intel_de.h:150:
+#define intel_de_write_notrace(p,...) __intel_de_write_notrace(__to_intel_display(p), __VA_ARGS__)
^
total: 15 errors, 0 warnings, 15 checks, 177 lines checked
b80637579560 drm/i915/quirks: convert struct drm_i915_private to struct intel_display
^ permalink raw reply [flat|nested] 24+ messages in thread
* ✗ Fi.CI.SPARSE: warning for drm/i915: better high level abstraction for display (rev2)
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (7 preceding siblings ...)
2024-04-09 15:40 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: better high level abstraction for display (rev2) Patchwork
@ 2024-04-09 15:40 ` Patchwork
2024-04-09 15:54 ` ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-04-09 15:40 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: better high level abstraction for display (rev2)
URL : https://patchwork.freedesktop.org/series/130805/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 24+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: better high level abstraction for display (rev2)
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (8 preceding siblings ...)
2024-04-09 15:40 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-04-09 15:54 ` Patchwork
2024-04-10 17:22 ` ✓ Fi.CI.IGT: " Patchwork
2024-04-16 16:24 ` [PATCH v3 0/7] drm/i915: better high level abstraction for display Rodrigo Vivi
11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-04-09 15:54 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 13178 bytes --]
== Series Details ==
Series: drm/i915: better high level abstraction for display (rev2)
URL : https://patchwork.freedesktop.org/series/130805/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_14549 -> Patchwork_130805v2
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/index.html
Participating hosts (35 -> 36)
------------------------------
Additional (4): fi-kbl-7567u bat-dg1-7 fi-elk-e7500 bat-arls-3
Missing (3): bat-kbl-2 bat-dg2-11 fi-bsw-n3050
Known issues
------------
Here are the changes found in Patchwork_130805v2 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@debugfs_test@basic-hwmon:
- bat-arls-3: NOTRUN -> [SKIP][1] ([i915#9318])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@debugfs_test@basic-hwmon.html
* igt@gem_huc_copy@huc-copy:
- fi-kbl-7567u: NOTRUN -> [SKIP][2] ([i915#2190])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/fi-kbl-7567u/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- fi-kbl-7567u: NOTRUN -> [SKIP][3] ([i915#4613]) +3 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/fi-kbl-7567u/igt@gem_lmem_swapping@basic.html
* igt@gem_lmem_swapping@parallel-random-engines:
- bat-arls-3: NOTRUN -> [SKIP][4] ([i915#10213]) +3 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_mmap@basic:
- bat-dg1-7: NOTRUN -> [SKIP][5] ([i915#4083])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@gem_mmap@basic.html
- bat-arls-3: NOTRUN -> [SKIP][6] ([i915#4083])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@gem_mmap@basic.html
* igt@gem_render_tiled_blits@basic:
- bat-arls-3: NOTRUN -> [SKIP][7] ([i915#10197] / [i915#10211] / [i915#4079])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@gem_render_tiled_blits@basic.html
* igt@gem_tiled_blits@basic:
- bat-arls-3: NOTRUN -> [SKIP][8] ([i915#10196] / [i915#4077]) +2 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@gem_tiled_blits@basic.html
* igt@gem_tiled_fence_blits@basic:
- bat-dg1-7: NOTRUN -> [SKIP][9] ([i915#4077]) +2 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html
* igt@gem_tiled_pread_basic:
- bat-dg1-7: NOTRUN -> [SKIP][10] ([i915#4079]) +1 other test skip
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@gem_tiled_pread_basic.html
- bat-arls-3: NOTRUN -> [SKIP][11] ([i915#10206] / [i915#4079])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@gem_tiled_pread_basic.html
* igt@i915_pm_rps@basic-api:
- bat-dg1-7: NOTRUN -> [SKIP][12] ([i915#6621])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@i915_pm_rps@basic-api.html
- bat-arls-3: NOTRUN -> [SKIP][13] ([i915#10209])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@late_gt_pm:
- bat-dg2-9: [PASS][14] -> [ABORT][15] ([i915#10366])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/bat-dg2-9/igt@i915_selftest@live@late_gt_pm.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg2-9/igt@i915_selftest@live@late_gt_pm.html
* igt@i915_selftest@live@workarounds:
- bat-dg2-14: [PASS][16] -> [DMESG-FAIL][17] ([i915#9500])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/bat-dg2-14/igt@i915_selftest@live@workarounds.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg2-14/igt@i915_selftest@live@workarounds.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- bat-arls-3: NOTRUN -> [SKIP][18] ([i915#10200]) +9 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- bat-dg1-7: NOTRUN -> [SKIP][19] ([i915#4212]) +7 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-dg1-7: NOTRUN -> [SKIP][20] ([i915#4215])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- bat-arls-3: NOTRUN -> [SKIP][21] ([i915#10202]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-dg1-7: NOTRUN -> [SKIP][22] ([i915#4103] / [i915#4213]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_dsc@dsc-basic:
- bat-arls-3: NOTRUN -> [SKIP][23] ([i915#9886])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_dsc@dsc-basic.html
- bat-dg1-7: NOTRUN -> [SKIP][24] ([i915#3555] / [i915#3840])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_dsc@dsc-basic.html
* igt@kms_force_connector_basic@force-load-detect:
- fi-kbl-7567u: NOTRUN -> [SKIP][25] +11 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/fi-kbl-7567u/igt@kms_force_connector_basic@force-load-detect.html
- bat-arls-3: NOTRUN -> [SKIP][26] ([i915#10207])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg1-7: NOTRUN -> [SKIP][27]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_hdmi_inject@inject-audio:
- bat-dg1-7: NOTRUN -> [SKIP][28] ([i915#433])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_pm_backlight@basic-brightness:
- bat-dg1-7: NOTRUN -> [SKIP][29] ([i915#5354])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
- bat-arls-3: NOTRUN -> [SKIP][30] ([i915#9812])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_rpm@basic-pci-d3-state:
- fi-elk-e7500: NOTRUN -> [SKIP][31] +24 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/fi-elk-e7500/igt@kms_pm_rpm@basic-pci-d3-state.html
* igt@kms_psr@psr-primary-mmap-gtt:
- bat-arls-3: NOTRUN -> [SKIP][32] ([i915#9732]) +3 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_psr@psr-primary-mmap-gtt.html
* igt@kms_psr@psr-primary-page-flip:
- bat-dg1-7: NOTRUN -> [SKIP][33] ([i915#1072] / [i915#9732]) +3 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-arls-3: NOTRUN -> [SKIP][34] ([i915#10208] / [i915#8809])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: NOTRUN -> [SKIP][35] ([i915#3555])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-flip:
- bat-dg1-7: NOTRUN -> [SKIP][36] ([i915#3708]) +3 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-mmap:
- bat-dg1-7: NOTRUN -> [SKIP][37] ([i915#3708] / [i915#4077]) +1 other test skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
- bat-arls-3: NOTRUN -> [SKIP][38] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- bat-arls-3: NOTRUN -> [SKIP][39] ([i915#10212] / [i915#3708])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-read:
- bat-arls-3: NOTRUN -> [SKIP][40] ([i915#10214] / [i915#3708])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@prime_vgem@basic-read.html
* igt@prime_vgem@basic-write:
- bat-arls-3: NOTRUN -> [SKIP][41] ([i915#10216] / [i915#3708])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/bat-arls-3/igt@prime_vgem@basic-write.html
[i915#10196]: https://gitlab.freedesktop.org/drm/intel/issues/10196
[i915#10197]: https://gitlab.freedesktop.org/drm/intel/issues/10197
[i915#10200]: https://gitlab.freedesktop.org/drm/intel/issues/10200
[i915#10202]: https://gitlab.freedesktop.org/drm/intel/issues/10202
[i915#10206]: https://gitlab.freedesktop.org/drm/intel/issues/10206
[i915#10207]: https://gitlab.freedesktop.org/drm/intel/issues/10207
[i915#10208]: https://gitlab.freedesktop.org/drm/intel/issues/10208
[i915#10209]: https://gitlab.freedesktop.org/drm/intel/issues/10209
[i915#10211]: https://gitlab.freedesktop.org/drm/intel/issues/10211
[i915#10212]: https://gitlab.freedesktop.org/drm/intel/issues/10212
[i915#10213]: https://gitlab.freedesktop.org/drm/intel/issues/10213
[i915#10214]: https://gitlab.freedesktop.org/drm/intel/issues/10214
[i915#10216]: https://gitlab.freedesktop.org/drm/intel/issues/10216
[i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[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#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
[i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
[i915#9500]: https://gitlab.freedesktop.org/drm/intel/issues/9500
[i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
[i915#9812]: https://gitlab.freedesktop.org/drm/intel/issues/9812
[i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886
Build changes
-------------
* Linux: CI_DRM_14549 -> Patchwork_130805v2
CI-20190529: 20190529
CI_DRM_14549: 0fe728577b3313bce01b5d00c6b4c4075a80b5b3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7802: 7802
Patchwork_130805v2: 0fe728577b3313bce01b5d00c6b4c4075a80b5b3 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
492ef0c8e9f9 drm/i915/quirks: convert struct drm_i915_private to struct intel_display
0eaa7c64e711 drm/i915/de: allow intel_display and drm_i915_private for de functions
4bf485606c19 drm/i915/display: accept either i915 or display for feature tests
39e296e74007 drm/xe/display: add generic __to_intel_display()
dbe0b55aeb06 drm/i915: add generic __to_intel_display()
1b04c05b5a71 drm/i915/display: add generic to_intel_display() macro
8e101b98081d drm/i915/display: add intel_display -> drm_device backpointer
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/index.html
[-- Attachment #2: Type: text/html, Size: 15519 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: better high level abstraction for display (rev2)
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (9 preceding siblings ...)
2024-04-09 15:54 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-04-10 17:22 ` Patchwork
2024-04-16 16:24 ` [PATCH v3 0/7] drm/i915: better high level abstraction for display Rodrigo Vivi
11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-04-10 17:22 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 88873 bytes --]
== Series Details ==
Series: drm/i915: better high level abstraction for display (rev2)
URL : https://patchwork.freedesktop.org/series/130805/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_14549_full -> Patchwork_130805v2_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/index.html
Participating hosts (9 -> 10)
------------------------------
Additional (1): shard-snb-0
Known issues
------------
Here are the changes found in Patchwork_130805v2_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-purge-cache:
- shard-dg2: NOTRUN -> [SKIP][1] ([i915#8411])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@api_intel_bb@blit-reloc-purge-cache.html
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-rkl: NOTRUN -> [SKIP][2] ([i915#8411]) +1 other test skip
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@drm_fdinfo@busy-check-all@vecs1:
- shard-dg2: NOTRUN -> [SKIP][3] ([i915#8414]) +7 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@drm_fdinfo@busy-check-all@vecs1.html
* igt@drm_fdinfo@isolation@vecs0:
- shard-dg1: NOTRUN -> [SKIP][4] ([i915#8414]) +4 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@drm_fdinfo@isolation@vecs0.html
* igt@drm_fdinfo@most-busy-check-all@rcs0:
- shard-rkl: NOTRUN -> [FAIL][5] ([i915#7742])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-3/igt@drm_fdinfo@most-busy-check-all@rcs0.html
* igt@gem_basic@multigpu-create-close:
- shard-rkl: NOTRUN -> [SKIP][6] ([i915#7697])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gem_basic@multigpu-create-close.html
- shard-dg1: NOTRUN -> [SKIP][7] ([i915#7697])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@gem_basic@multigpu-create-close.html
- shard-mtlp: NOTRUN -> [SKIP][8] ([i915#7697])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@gem_basic@multigpu-create-close.html
* igt@gem_busy@close-race:
- shard-mtlp: [PASS][9] -> [INCOMPLETE][10] ([i915#10182])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-mtlp-3/igt@gem_busy@close-race.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@gem_busy@close-race.html
* igt@gem_ccs@block-copy-compressed:
- shard-dg1: NOTRUN -> [SKIP][11] ([i915#3555] / [i915#9323]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_ccs@block-copy-compressed.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-tglu: NOTRUN -> [SKIP][12] ([i915#7697])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_create@create-ext-set-pat:
- shard-dg1: NOTRUN -> [SKIP][13] ([i915#8562])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_create@create-ext-set-pat.html
* igt@gem_ctx_persistence@hang:
- shard-dg2: NOTRUN -> [SKIP][14] ([i915#8555])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@gem_ctx_persistence@hang.html
* igt@gem_ctx_persistence@smoketest:
- shard-dg2: [PASS][15] -> [TIMEOUT][16] ([i915#10552])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-1/igt@gem_ctx_persistence@smoketest.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_ctx_persistence@smoketest.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-dg2: NOTRUN -> [SKIP][17] ([i915#280])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/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_130805v2/shard-tglu-3/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_eio@reset-stress:
- shard-dg1: [PASS][19] -> [FAIL][20] ([i915#5784])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg1-17/igt@gem_eio@reset-stress.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@gem_eio@reset-stress.html
* igt@gem_eio@unwedge-stress:
- shard-dg1: NOTRUN -> [FAIL][21] ([i915#5784])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_balancer@bonded-dual:
- shard-dg1: NOTRUN -> [SKIP][22] ([i915#4771]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_exec_balancer@bonded-dual.html
* igt@gem_exec_balancer@bonded-false-hang:
- shard-mtlp: NOTRUN -> [SKIP][23] ([i915#4812])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@gem_exec_balancer@bonded-false-hang.html
* igt@gem_exec_balancer@bonded-pair:
- shard-mtlp: NOTRUN -> [SKIP][24] ([i915#4771]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@gem_exec_balancer@bonded-pair.html
* igt@gem_exec_balancer@bonded-sync:
- shard-dg2: NOTRUN -> [SKIP][25] ([i915#4771])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_exec_balancer@bonded-sync.html
* igt@gem_exec_balancer@parallel:
- shard-rkl: NOTRUN -> [SKIP][26] ([i915#4525])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@gem_exec_balancer@parallel.html
* igt@gem_exec_capture@capture-invisible@smem0:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#6334])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-3/igt@gem_exec_capture@capture-invisible@smem0.html
* igt@gem_exec_capture@capture-recoverable:
- shard-rkl: NOTRUN -> [SKIP][28] ([i915#6344])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gem_exec_capture@capture-recoverable.html
* igt@gem_exec_capture@many-4k-incremental:
- shard-glk: NOTRUN -> [FAIL][29] ([i915#9606])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk5/igt@gem_exec_capture@many-4k-incremental.html
* igt@gem_exec_fair@basic-deadline:
- shard-dg1: NOTRUN -> [SKIP][30] ([i915#3539] / [i915#4852]) +2 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-rrul:
- shard-dg2: NOTRUN -> [SKIP][31] ([i915#3539] / [i915#4852]) +3 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@gem_exec_fair@basic-none-rrul.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-tglu: NOTRUN -> [FAIL][32] ([i915#2842])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-none-vip@rcs0:
- shard-rkl: NOTRUN -> [FAIL][33] ([i915#2842])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gem_exec_fair@basic-none-vip@rcs0.html
* igt@gem_exec_fair@basic-none@rcs0:
- shard-glk: NOTRUN -> [FAIL][34] ([i915#2842]) +3 other tests fail
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk2/igt@gem_exec_fair@basic-none@rcs0.html
* igt@gem_exec_fair@basic-pace-share:
- shard-mtlp: NOTRUN -> [SKIP][35] ([i915#4473] / [i915#4771])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gem_exec_fair@basic-pace-share.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-rkl: [PASS][36] -> [FAIL][37] ([i915#2842])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-rkl-4/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
- shard-tglu: [PASS][38] -> [FAIL][39] ([i915#2842]) +1 other test fail
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-tglu-9/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-4/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_fence@submit:
- shard-dg1: NOTRUN -> [SKIP][40] ([i915#4812]) +3 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_exec_fence@submit.html
* igt@gem_exec_flush@basic-uc-prw-default:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#3539])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_exec_flush@basic-uc-prw-default.html
* igt@gem_exec_reloc@basic-cpu:
- shard-dg2: NOTRUN -> [SKIP][42] ([i915#3281]) +4 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@gem_exec_reloc@basic-cpu.html
* igt@gem_exec_reloc@basic-gtt-cpu:
- shard-rkl: NOTRUN -> [SKIP][43] ([i915#3281]) +9 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gem_exec_reloc@basic-gtt-cpu.html
* igt@gem_exec_reloc@basic-wc-noreloc:
- shard-mtlp: NOTRUN -> [SKIP][44] ([i915#3281]) +4 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@gem_exec_reloc@basic-wc-noreloc.html
* igt@gem_exec_reloc@basic-write-gtt-active:
- shard-dg1: NOTRUN -> [SKIP][45] ([i915#3281]) +6 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_exec_reloc@basic-write-gtt-active.html
* igt@gem_exec_schedule@semaphore-power:
- shard-dg2: NOTRUN -> [SKIP][46] ([i915#4537] / [i915#4812])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@gem_exec_schedule@semaphore-power.html
* igt@gem_fence_thrash@bo-write-verify-none:
- shard-dg1: NOTRUN -> [SKIP][47] ([i915#4860]) +1 other test skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_fence_thrash@bo-write-verify-none.html
* igt@gem_fenced_exec_thrash@2-spare-fences:
- shard-dg2: NOTRUN -> [SKIP][48] ([i915#4860]) +2 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_fenced_exec_thrash@2-spare-fences.html
* igt@gem_fenced_exec_thrash@too-many-fences:
- shard-mtlp: NOTRUN -> [SKIP][49] ([i915#4860]) +3 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gem_fenced_exec_thrash@too-many-fences.html
* igt@gem_huc_copy@huc-copy:
- shard-rkl: NOTRUN -> [SKIP][50] ([i915#2190])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs:
- shard-glk: NOTRUN -> [SKIP][51] ([i915#4613]) +2 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk2/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
- shard-mtlp: NOTRUN -> [SKIP][52] ([i915#4613]) +1 other test skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0:
- shard-dg2: NOTRUN -> [FAIL][53] ([i915#10378]) +1 other test fail
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0.html
* igt@gem_lmem_swapping@heavy-verify-random@lmem0:
- shard-dg2: [PASS][54] -> [FAIL][55] ([i915#10378])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-5/igt@gem_lmem_swapping@heavy-verify-random@lmem0.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-2/igt@gem_lmem_swapping@heavy-verify-random@lmem0.html
* igt@gem_lmem_swapping@parallel-random-verify:
- shard-tglu: NOTRUN -> [SKIP][56] ([i915#4613]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@gem_lmem_swapping@parallel-random-verify.html
* igt@gem_lmem_swapping@parallel-random-verify-ccs:
- shard-rkl: NOTRUN -> [SKIP][57] ([i915#4613]) +1 other test skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
* igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0:
- shard-dg1: NOTRUN -> [SKIP][58] ([i915#4565])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg1: [PASS][59] -> [TIMEOUT][60] ([i915#5493])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gem_mmap@bad-offset:
- shard-dg1: NOTRUN -> [SKIP][61] ([i915#4083]) +3 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_mmap@bad-offset.html
* igt@gem_mmap_gtt@big-copy-odd:
- shard-dg2: NOTRUN -> [SKIP][62] ([i915#4077]) +10 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@gem_mmap_gtt@big-copy-odd.html
* igt@gem_mmap_gtt@cpuset-basic-small-copy-odd:
- shard-dg1: NOTRUN -> [SKIP][63] ([i915#4077]) +11 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@gem_mmap_gtt@cpuset-basic-small-copy-odd.html
* igt@gem_mmap_gtt@fault-concurrent-y:
- shard-mtlp: NOTRUN -> [SKIP][64] ([i915#4077]) +9 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@gem_mmap_gtt@fault-concurrent-y.html
* igt@gem_mmap_wc@bad-offset:
- shard-mtlp: NOTRUN -> [SKIP][65] ([i915#4083])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gem_mmap_wc@bad-offset.html
* igt@gem_mmap_wc@set-cache-level:
- shard-dg2: NOTRUN -> [SKIP][66] ([i915#4083]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@gem_mmap_wc@set-cache-level.html
* igt@gem_partial_pwrite_pread@reads-display:
- shard-dg2: NOTRUN -> [SKIP][67] ([i915#3282]) +2 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@gem_partial_pwrite_pread@reads-display.html
* igt@gem_partial_pwrite_pread@write-display:
- shard-mtlp: NOTRUN -> [SKIP][68] ([i915#3282]) +1 other test skip
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@gem_partial_pwrite_pread@write-display.html
* igt@gem_pwrite@basic-self:
- shard-dg1: NOTRUN -> [SKIP][69] ([i915#3282]) +4 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_pwrite@basic-self.html
* igt@gem_pwrite_snooped:
- shard-rkl: NOTRUN -> [SKIP][70] ([i915#3282]) +10 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gem_pwrite_snooped.html
* igt@gem_pxp@create-regular-context-2:
- shard-tglu: NOTRUN -> [SKIP][71] ([i915#4270])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@gem_pxp@create-regular-context-2.html
* igt@gem_pxp@regular-baseline-src-copy-readible:
- shard-dg2: NOTRUN -> [SKIP][72] ([i915#4270]) +2 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@gem_pxp@regular-baseline-src-copy-readible.html
* igt@gem_pxp@reject-modify-context-protection-on:
- shard-rkl: NOTRUN -> [SKIP][73] ([i915#4270]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@gem_pxp@reject-modify-context-protection-on.html
- shard-dg1: NOTRUN -> [SKIP][74] ([i915#4270]) +4 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@gem_pxp@reject-modify-context-protection-on.html
* igt@gem_pxp@verify-pxp-stale-buf-execution:
- shard-mtlp: NOTRUN -> [SKIP][75] ([i915#4270]) +3 other tests skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gem_pxp@verify-pxp-stale-buf-execution.html
* igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-yf-tiled:
- shard-mtlp: NOTRUN -> [SKIP][76] ([i915#8428])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-yf-tiled.html
- shard-dg2: NOTRUN -> [SKIP][77] ([i915#5190] / [i915#8428]) +3 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-yf-tiled.html
* igt@gem_render_tiled_blits@basic:
- shard-dg2: NOTRUN -> [SKIP][78] ([i915#4079])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@gem_render_tiled_blits@basic.html
* igt@gem_softpin@evict-snoop:
- shard-dg2: NOTRUN -> [SKIP][79] ([i915#4885])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@gem_softpin@evict-snoop.html
* igt@gem_unfence_active_buffers:
- shard-dg1: NOTRUN -> [SKIP][80] ([i915#4879])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@gem_unfence_active_buffers.html
* igt@gem_userptr_blits@access-control:
- shard-tglu: NOTRUN -> [SKIP][81] ([i915#3297])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@gem_userptr_blits@access-control.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#3297]) +1 other test skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@invalid-mmap-offset-unsync:
- shard-mtlp: NOTRUN -> [SKIP][83] ([i915#3297]) +3 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html
* igt@gem_userptr_blits@map-fixed-invalidate-overlap:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#3297] / [i915#4880])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
* igt@gem_userptr_blits@unsync-unmap-after-close:
- shard-rkl: NOTRUN -> [SKIP][85] ([i915#3297]) +2 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@gem_userptr_blits@unsync-unmap-after-close.html
- shard-dg1: NOTRUN -> [SKIP][86] ([i915#3297]) +4 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@gem_userptr_blits@unsync-unmap-after-close.html
* igt@gen9_exec_parse@batch-invalid-length:
- shard-rkl: NOTRUN -> [SKIP][87] ([i915#2527]) +7 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@gen9_exec_parse@batch-invalid-length.html
* igt@gen9_exec_parse@batch-without-end:
- shard-mtlp: NOTRUN -> [SKIP][88] ([i915#2856]) +3 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@gen9_exec_parse@batch-without-end.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-dg1: NOTRUN -> [SKIP][89] ([i915#2527]) +4 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@gen9_exec_parse@bb-start-cmd.html
* igt@gen9_exec_parse@cmd-crossing-page:
- shard-tglu: NOTRUN -> [SKIP][90] ([i915#2527] / [i915#2856])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@gen9_exec_parse@cmd-crossing-page.html
* igt@gen9_exec_parse@secure-batches:
- shard-dg2: NOTRUN -> [SKIP][91] ([i915#2856]) +2 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@gen9_exec_parse@secure-batches.html
* igt@i915_module_load@load:
- shard-rkl: NOTRUN -> [SKIP][92] ([i915#6227])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@i915_module_load@load.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-snb: [PASS][93] -> [INCOMPLETE][94] ([i915#9849])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-snb7/igt@i915_module_load@reload-with-fault-injection.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-snb4/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_module_load@resize-bar:
- shard-rkl: NOTRUN -> [SKIP][95] ([i915#6412])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@i915_module_load@resize-bar.html
* igt@i915_pipe_stress@stress-xrgb8888-ytiled:
- shard-dg2: NOTRUN -> [SKIP][96] ([i915#7091])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html
- shard-mtlp: NOTRUN -> [SKIP][97] ([i915#8436])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-rkl: NOTRUN -> [SKIP][98] ([i915#8399])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@i915_pm_freq_api@freq-suspend.html
* igt@i915_pm_rps@min-max-config-idle:
- shard-dg1: NOTRUN -> [SKIP][99] ([i915#6621])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@i915_pm_rps@min-max-config-idle.html
- shard-mtlp: NOTRUN -> [SKIP][100] ([i915#6621])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@i915_pm_rps@min-max-config-idle.html
* igt@i915_selftest@live@dmabuf:
- shard-dg2: NOTRUN -> [ABORT][101] ([i915#10366])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-6/igt@i915_selftest@live@dmabuf.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-tglu: NOTRUN -> [INCOMPLETE][102] ([i915#7443])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@i915_suspend@basic-s3-without-i915.html
* igt@intel_hwmon@hwmon-write:
- shard-rkl: NOTRUN -> [SKIP][103] ([i915#7707]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@intel_hwmon@hwmon-write.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-dg2: NOTRUN -> [SKIP][104] ([i915#5190]) +1 other test skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- shard-dg1: NOTRUN -> [SKIP][105] ([i915#4215])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_addfb_basic@bo-too-small-due-to-tiling:
- shard-dg2: NOTRUN -> [SKIP][106] ([i915#4212])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-1-y-rc-ccs-cc:
- shard-rkl: NOTRUN -> [SKIP][107] ([i915#8709]) +3 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-1-y-rc-ccs-cc.html
* igt@kms_async_flips@test-cursor:
- shard-mtlp: NOTRUN -> [SKIP][108] ([i915#10333])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_async_flips@test-cursor.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-dg1: NOTRUN -> [SKIP][109] ([i915#1769] / [i915#3555])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-180:
- shard-tglu: NOTRUN -> [SKIP][110] ([i915#5286]) +2 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#5286]) +4 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_big_fb@4-tiled-addfb.html
- shard-dg1: NOTRUN -> [SKIP][112] ([i915#5286]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-dg1: NOTRUN -> [SKIP][113] ([i915#4538] / [i915#5286]) +3 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][114] ([i915#3638]) +4 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-tglu: [PASS][115] -> [FAIL][116] ([i915#3743]) +2 other tests fail
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-tglu-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][117] ([i915#3638]) +6 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][118] ([i915#4538] / [i915#5190]) +7 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-dg1: NOTRUN -> [SKIP][119] ([i915#4538]) +5 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-mtlp: NOTRUN -> [SKIP][120] ([i915#6187]) +1 other test skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_big_joiner@invalid-modeset:
- shard-rkl: NOTRUN -> [SKIP][121] ([i915#10656])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-3/igt@kms_big_joiner@invalid-modeset.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][122] ([i915#10307] / [i915#10434] / [i915#6095])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][123] ([i915#6095]) +63 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html
* igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs:
- shard-dg2: NOTRUN -> [SKIP][124] ([i915#10278]) +1 other test skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][125] ([i915#6095]) +31 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc@pipe-b-edp-1.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][126] ([i915#6095]) +23 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][127] ([i915#6095]) +77 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][128] ([i915#10307] / [i915#6095]) +154 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_cdclk@plane-scaling@pipe-d-dp-4:
- shard-dg2: NOTRUN -> [SKIP][129] ([i915#4087]) +3 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_cdclk@plane-scaling@pipe-d-dp-4.html
* igt@kms_chamelium_audio@dp-audio:
- shard-mtlp: NOTRUN -> [SKIP][130] ([i915#7828]) +7 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_chamelium_audio@dp-audio.html
* igt@kms_chamelium_edid@dp-edid-stress-resolution-4k:
- shard-rkl: NOTRUN -> [SKIP][131] ([i915#7828]) +8 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_chamelium_edid@dp-edid-stress-resolution-4k.html
* igt@kms_chamelium_frames@dp-crc-fast:
- shard-tglu: NOTRUN -> [SKIP][132] ([i915#7828]) +1 other test skip
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_chamelium_frames@dp-crc-fast.html
* igt@kms_chamelium_frames@dp-crc-multiple:
- shard-dg2: NOTRUN -> [SKIP][133] ([i915#7828]) +6 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_chamelium_frames@dp-crc-multiple.html
* igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
- shard-dg1: NOTRUN -> [SKIP][134] ([i915#7828]) +8 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html
* igt@kms_content_protection@atomic-dpms:
- shard-mtlp: NOTRUN -> [SKIP][135] ([i915#6944] / [i915#9424])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-tglu: NOTRUN -> [SKIP][136] ([i915#3116] / [i915#3299])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-dg2: NOTRUN -> [SKIP][137] ([i915#3299])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][138] ([i915#7173])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_content_protection@lic-type-0@pipe-a-dp-4.html
* igt@kms_content_protection@lic-type-1:
- shard-rkl: NOTRUN -> [SKIP][139] ([i915#9424])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@type1:
- shard-dg2: NOTRUN -> [SKIP][140] ([i915#7118] / [i915#9424])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_content_protection@type1.html
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- shard-mtlp: NOTRUN -> [SKIP][141] ([i915#3555] / [i915#8814]) +3 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_cursor_crc@cursor-offscreen-32x10.html
* igt@kms_cursor_crc@cursor-offscreen-32x32:
- shard-dg2: NOTRUN -> [SKIP][142] ([i915#3555]) +1 other test skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_cursor_crc@cursor-offscreen-32x32.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-rkl: NOTRUN -> [SKIP][143] ([i915#3359]) +1 other test skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-tglu: NOTRUN -> [SKIP][144] ([i915#3359])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-dg1: NOTRUN -> [SKIP][145] ([i915#3359]) +1 other test skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-rapid-movement-64x21:
- shard-mtlp: NOTRUN -> [SKIP][146] ([i915#8814]) +1 other test skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
- shard-mtlp: NOTRUN -> [SKIP][147] ([i915#9809]) +2 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-rkl: NOTRUN -> [SKIP][148] ([i915#4103])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- shard-dg2: NOTRUN -> [SKIP][149] ([i915#4103] / [i915#4213])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
- shard-mtlp: NOTRUN -> [SKIP][150] +15 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-rkl: NOTRUN -> [SKIP][151] ([i915#9723])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][152] ([i915#9723])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-dg2: NOTRUN -> [SKIP][153] ([i915#8588])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][154] ([i915#3804])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev:
- shard-dg2: NOTRUN -> [SKIP][155] ([i915#1257])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_dp_aux_dev.html
* igt@kms_draw_crc@draw-method-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][156] ([i915#8812])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_draw_crc@draw-method-mmap-gtt.html
* igt@kms_dsc@dsc-basic:
- shard-dg2: NOTRUN -> [SKIP][157] ([i915#3555] / [i915#3840])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_dsc@dsc-basic.html
- shard-mtlp: NOTRUN -> [SKIP][158] ([i915#3555] / [i915#3840] / [i915#9159])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-mtlp: NOTRUN -> [SKIP][159] ([i915#3840] / [i915#9688])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#3840])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
- shard-dg1: NOTRUN -> [SKIP][161] ([i915#3840])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
- shard-mtlp: NOTRUN -> [SKIP][162] ([i915#3840])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-dg1: NOTRUN -> [SKIP][163] ([i915#3555] / [i915#3840])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_dsc@dsc-with-formats:
- shard-rkl: NOTRUN -> [SKIP][164] ([i915#3555] / [i915#3840])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_dsc@dsc-with-formats.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-rkl: NOTRUN -> [SKIP][165] ([i915#3955])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html
- shard-dg1: NOTRUN -> [SKIP][166] ([i915#3469])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@display-2x:
- shard-tglu: NOTRUN -> [SKIP][167] ([i915#1839])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_feature_discovery@display-2x.html
* igt@kms_feature_discovery@display-3x:
- shard-dg2: NOTRUN -> [SKIP][168] ([i915#1839])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-rkl: NOTRUN -> [SKIP][169] ([i915#1839])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@2x-absolute-wf_vblank:
- shard-dg2: NOTRUN -> [SKIP][170] +13 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_flip@2x-absolute-wf_vblank.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-dg1: NOTRUN -> [SKIP][171] ([i915#9934]) +4 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_flip@2x-flip-vs-fences:
- shard-tglu: NOTRUN -> [SKIP][172] ([i915#3637]) +5 other tests skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_flip@2x-flip-vs-fences.html
* igt@kms_flip@2x-flip-vs-fences-interruptible:
- shard-dg1: NOTRUN -> [SKIP][173] ([i915#8381])
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_flip@2x-flip-vs-fences-interruptible.html
* igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
- shard-mtlp: NOTRUN -> [SKIP][174] ([i915#3637]) +4 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][175] ([i915#2672]) +4 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][176] ([i915#2587] / [i915#2672]) +2 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][177] ([i915#2587] / [i915#2672])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][178] ([i915#2672]) +2 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][179] ([i915#2672])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][180] ([i915#3555] / [i915#8810])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][181] ([i915#2672] / [i915#3555]) +1 other test skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode.html
* igt@kms_force_connector_basic@prune-stale-modes:
- shard-mtlp: NOTRUN -> [SKIP][182] ([i915#5274])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_force_connector_basic@prune-stale-modes.html
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#5274])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
- shard-mtlp: NOTRUN -> [SKIP][184] ([i915#1825]) +26 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render:
- shard-tglu: NOTRUN -> [SKIP][185] +40 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-rkl: NOTRUN -> [SKIP][186] ([i915#5439])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
- shard-dg1: NOTRUN -> [SKIP][187] ([i915#5439])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-dg2: NOTRUN -> [SKIP][188] ([i915#3458]) +11 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
- shard-rkl: NOTRUN -> [SKIP][189] ([i915#3023]) +29 other tests skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-rkl: NOTRUN -> [SKIP][190] ([i915#1825]) +41 other tests skip
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-move:
- shard-dg2: NOTRUN -> [SKIP][191] ([i915#5354]) +26 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-mtlp: NOTRUN -> [SKIP][192] ([i915#10055])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-dg2: NOTRUN -> [SKIP][193] ([i915#9766])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt:
- shard-dg1: NOTRUN -> [SKIP][194] ([i915#3458]) +18 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][195] ([i915#8708]) +6 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][196] ([i915#8708]) +16 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][197] ([i915#8708]) +6 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_hdr@static-toggle:
- shard-dg1: NOTRUN -> [SKIP][198] ([i915#3555] / [i915#8228]) +1 other test skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_hdr@static-toggle.html
* igt@kms_hdr@static-toggle-dpms:
- shard-dg2: NOTRUN -> [SKIP][199] ([i915#3555] / [i915#8228]) +2 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-3/igt@kms_hdr@static-toggle-dpms.html
- shard-rkl: NOTRUN -> [SKIP][200] ([i915#3555] / [i915#8228])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][201] ([i915#9457]) +3 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-rkl: NOTRUN -> [SKIP][202] ([i915#6301])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_panel_fitting@atomic-fastset.html
- shard-dg1: NOTRUN -> [SKIP][203] ([i915#6301])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [INCOMPLETE][204] ([i915#1982])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-4.html
* igt@kms_plane_lowres@tiling-y:
- shard-dg2: NOTRUN -> [SKIP][205] ([i915#8821])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_plane_lowres@tiling-y.html
* igt@kms_plane_multiple@tiling-y:
- shard-mtlp: NOTRUN -> [SKIP][206] ([i915#3555] / [i915#8806])
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_multiple@tiling-yf:
- shard-rkl: NOTRUN -> [SKIP][207] ([i915#3555]) +7 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_plane_multiple@tiling-yf.html
- shard-dg1: NOTRUN -> [SKIP][208] ([i915#3555]) +6 other tests skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [FAIL][209] ([i915#8292])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4:
- shard-dg1: [PASS][210] -> [FAIL][211] ([i915#8292])
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg1-14/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4.html
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][212] ([i915#9423]) +5 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][213] ([i915#9423]) +7 other tests skip
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-5/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b-hdmi-a-3.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][214] ([i915#5176]) +7 other tests skip
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers@pipe-b-edp-1.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][215] ([i915#9423]) +15 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-4.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][216] ([i915#9423]) +3 other tests skip
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][217] ([i915#5235]) +7 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-3/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][218] ([i915#5235]) +10 other tests skip
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-a-edp-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][219] ([i915#5235]) +3 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-hdmi-a-4.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][220] ([i915#5235] / [i915#9423]) +11 other tests skip
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][221] ([i915#3555] / [i915#5235])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-edp-1.html
* igt@kms_pm_backlight@fade:
- shard-dg1: NOTRUN -> [SKIP][222] ([i915#5354])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_pm_backlight@fade.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-rkl: NOTRUN -> [SKIP][223] ([i915#5354]) +1 other test skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-3/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc6-dpms:
- shard-rkl: NOTRUN -> [SKIP][224] ([i915#3361])
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-rkl: NOTRUN -> [SKIP][225] ([i915#8430])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_pm_lpsp@screens-disabled.html
- shard-dg1: NOTRUN -> [SKIP][226] ([i915#8430])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg2: [PASS][227] -> [SKIP][228] ([i915#9519])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-8/igt@kms_pm_rpm@dpms-lpsp.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-non-lpsp:
- shard-tglu: NOTRUN -> [SKIP][229] ([i915#9519])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-6/igt@kms_pm_rpm@dpms-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [PASS][230] -> [SKIP][231] ([i915#9519]) +2 other tests skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-rkl-3/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-rkl: NOTRUN -> [SKIP][232] ([i915#9519])
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_prime@basic-crc-hybrid:
- shard-rkl: NOTRUN -> [SKIP][233] ([i915#6524])
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@kms_prime@basic-crc-hybrid.html
- shard-dg1: NOTRUN -> [SKIP][234] ([i915#6524])
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-mtlp: NOTRUN -> [SKIP][235] ([i915#6524]) +1 other test skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_prime@basic-modeset-hybrid.html
- shard-dg2: NOTRUN -> [SKIP][236] ([i915#6524] / [i915#6805])
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
- shard-dg1: NOTRUN -> [SKIP][237] +49 other tests skip
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][238] ([i915#9808]) +1 other test skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-a-edp-1.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-dg1: NOTRUN -> [SKIP][239] ([i915#9683])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@fbc-pr-primary-blt:
- shard-mtlp: NOTRUN -> [SKIP][240] ([i915#9688]) +10 other tests skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_psr@fbc-pr-primary-blt.html
* igt@kms_psr@fbc-pr-sprite-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][241] ([i915#1072] / [i915#9732]) +10 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_psr@fbc-pr-sprite-mmap-gtt.html
* igt@kms_psr@fbc-psr-cursor-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][242] ([i915#1072] / [i915#9673] / [i915#9732]) +4 other tests skip
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_psr@fbc-psr-cursor-mmap-cpu.html
* igt@kms_psr@pr-sprite-plane-move:
- shard-tglu: NOTRUN -> [SKIP][243] ([i915#9732]) +9 other tests skip
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_psr@pr-sprite-plane-move.html
* igt@kms_psr@pr-sprite-plane-onoff:
- shard-dg1: NOTRUN -> [SKIP][244] ([i915#1072] / [i915#9732]) +20 other tests skip
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@kms_psr@pr-sprite-plane-onoff.html
* igt@kms_psr@psr2-cursor-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][245] ([i915#1072] / [i915#9732]) +25 other tests skip
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_psr@psr2-cursor-mmap-gtt.html
* igt@kms_psr@psr2-sprite-mmap-gtt@edp-1:
- shard-mtlp: NOTRUN -> [SKIP][246] ([i915#4077] / [i915#9688])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@kms_psr@psr2-sprite-mmap-gtt@edp-1.html
* igt@kms_psr@psr2-sprite-plane-onoff:
- shard-glk: NOTRUN -> [SKIP][247] +179 other tests skip
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk5/igt@kms_psr@psr2-sprite-plane-onoff.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-dg2: NOTRUN -> [SKIP][248] ([i915#9685])
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@exhaust-fences:
- shard-dg1: NOTRUN -> [SKIP][249] ([i915#4884])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@kms_rotation_crc@exhaust-fences.html
- shard-mtlp: NOTRUN -> [SKIP][250] ([i915#4235]) +2 other tests skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@kms_rotation_crc@exhaust-fences.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-dg2: NOTRUN -> [SKIP][251] ([i915#4235])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@kms_rotation_crc@primary-rotation-270.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-tglu: NOTRUN -> [SKIP][252] ([i915#5289])
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-dg2: NOTRUN -> [SKIP][253] ([i915#4235] / [i915#5190])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-mtlp: NOTRUN -> [SKIP][254] ([i915#3555] / [i915#8823])
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-mtlp: NOTRUN -> [SKIP][255] ([i915#8623])
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [FAIL][256] ([i915#9196])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-3.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
- shard-tglu: NOTRUN -> [FAIL][257] ([i915#9196])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
* igt@kms_vblank@wait-busy-hang@pipe-a-hdmi-a-1:
- shard-glk: [PASS][258] -> [INCOMPLETE][259] ([i915#9878])
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-glk8/igt@kms_vblank@wait-busy-hang@pipe-a-hdmi-a-1.html
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk8/igt@kms_vblank@wait-busy-hang@pipe-a-hdmi-a-1.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-rkl: NOTRUN -> [SKIP][260] ([i915#2437] / [i915#9412])
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@kms_writeback@writeback-check-output-xrgb2101010.html
- shard-dg1: NOTRUN -> [SKIP][261] ([i915#2437] / [i915#9412])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-18/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-mtlp: NOTRUN -> [SKIP][262] ([i915#2437] / [i915#9412])
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-glk: NOTRUN -> [SKIP][263] ([i915#2437])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk5/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- shard-rkl: NOTRUN -> [SKIP][264] ([i915#2436])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-1/igt@perf@gen8-unprivileged-single-ctx-counters.html
* igt@perf@mi-rpc:
- shard-dg2: NOTRUN -> [SKIP][265] ([i915#2434] / [i915#7387])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@perf@mi-rpc.html
- shard-mtlp: NOTRUN -> [SKIP][266] ([i915#2434] / [i915#7387])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@perf@mi-rpc.html
* igt@perf_pmu@event-wait@rcs0:
- shard-mtlp: NOTRUN -> [SKIP][267] ([i915#3555] / [i915#8807])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@perf_pmu@event-wait@rcs0.html
* igt@perf_pmu@rc6-all-gts:
- shard-tglu: NOTRUN -> [SKIP][268] ([i915#8516])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-7/igt@perf_pmu@rc6-all-gts.html
* igt@perf_pmu@rc6@other-idle-gt0:
- shard-rkl: NOTRUN -> [SKIP][269] ([i915#8516])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@perf_pmu@rc6@other-idle-gt0.html
* igt@prime_vgem@basic-fence-flip:
- shard-dg1: NOTRUN -> [SKIP][270] ([i915#3708])
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-mmap:
- shard-mtlp: NOTRUN -> [SKIP][271] ([i915#3708] / [i915#4077])
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@prime_vgem@basic-fence-mmap.html
- shard-dg1: NOTRUN -> [SKIP][272] ([i915#3708] / [i915#4077])
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@fence-write-hang:
- shard-mtlp: NOTRUN -> [SKIP][273] ([i915#3708]) +1 other test skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-6/igt@prime_vgem@fence-write-hang.html
- shard-dg2: NOTRUN -> [SKIP][274] ([i915#3708])
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@prime_vgem@fence-write-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-dg2: NOTRUN -> [SKIP][275] ([i915#9917])
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@syncobj_wait@invalid-wait-zero-handles:
- shard-mtlp: NOTRUN -> [FAIL][276] ([i915#9779])
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-4/igt@syncobj_wait@invalid-wait-zero-handles.html
- shard-rkl: NOTRUN -> [FAIL][277] ([i915#9779])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@syncobj_wait@invalid-wait-zero-handles.html
- shard-dg1: NOTRUN -> [FAIL][278] ([i915#9779])
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@syncobj_wait@invalid-wait-zero-handles.html
* igt@v3d/v3d_submit_cl@bad-multisync-extension:
- shard-tglu: NOTRUN -> [SKIP][279] ([i915#2575]) +7 other tests skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-6/igt@v3d/v3d_submit_cl@bad-multisync-extension.html
* igt@v3d/v3d_submit_cl@bad-pad:
- shard-rkl: NOTRUN -> [SKIP][280] +51 other tests skip
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@v3d/v3d_submit_cl@bad-pad.html
* igt@v3d/v3d_submit_cl@bad-perfmon:
- shard-snb: NOTRUN -> [SKIP][281] +1 other test skip
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-snb6/igt@v3d/v3d_submit_cl@bad-perfmon.html
* igt@v3d/v3d_submit_cl@valid-multisync-submission:
- shard-dg2: NOTRUN -> [SKIP][282] ([i915#2575]) +8 other tests skip
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@v3d/v3d_submit_cl@valid-multisync-submission.html
* igt@v3d/v3d_submit_cl@valid-submission:
- shard-mtlp: NOTRUN -> [SKIP][283] ([i915#2575]) +7 other tests skip
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@v3d/v3d_submit_cl@valid-submission.html
* igt@v3d/v3d_submit_csd@bad-perfmon:
- shard-dg1: NOTRUN -> [SKIP][284] ([i915#2575]) +11 other tests skip
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-17/igt@v3d/v3d_submit_csd@bad-perfmon.html
* igt@vc4/vc4_perfmon@create-perfmon-exceed:
- shard-mtlp: NOTRUN -> [SKIP][285] ([i915#7711]) +5 other tests skip
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-8/igt@vc4/vc4_perfmon@create-perfmon-exceed.html
* igt@vc4/vc4_purgeable_bo@access-purgeable-bo-mem:
- shard-dg1: NOTRUN -> [SKIP][286] ([i915#7711]) +7 other tests skip
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-16/igt@vc4/vc4_purgeable_bo@access-purgeable-bo-mem.html
* igt@vc4/vc4_purgeable_bo@mark-unpurgeable-check-retained:
- shard-dg2: NOTRUN -> [SKIP][287] ([i915#7711]) +5 other tests skip
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-check-retained.html
* igt@vc4/vc4_tiling@set-bad-handle:
- shard-rkl: NOTRUN -> [SKIP][288] ([i915#7711]) +8 other tests skip
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-4/igt@vc4/vc4_tiling@set-bad-handle.html
#### Possible fixes ####
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-tglu: [FAIL][289] ([i915#2842]) -> [PASS][290] +1 other test pass
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-tglu-6/igt@gem_exec_fair@basic-pace@rcs0.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-5/igt@gem_exec_fair@basic-pace@rcs0.html
* igt@gem_exec_fair@basic-pace@vecs0:
- shard-rkl: [FAIL][291] ([i915#2842]) -> [PASS][292] +1 other test pass
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-rkl-3/igt@gem_exec_fair@basic-pace@vecs0.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-5/igt@gem_exec_fair@basic-pace@vecs0.html
* igt@gem_exec_parallel@fds@vecs0:
- shard-dg1: [INCOMPLETE][293] -> [PASS][294]
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg1-13/igt@gem_exec_parallel@fds@vecs0.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_exec_parallel@fds@vecs0.html
* igt@gem_lmem_swapping@basic@lmem0:
- shard-dg2: [FAIL][295] ([i915#10378]) -> [PASS][296]
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-8/igt@gem_lmem_swapping@basic@lmem0.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-7/igt@gem_lmem_swapping@basic@lmem0.html
* igt@gem_lmem_swapping@heavy-multi@lmem0:
- shard-dg1: [FAIL][297] ([i915#10378]) -> [PASS][298]
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg1-16/igt@gem_lmem_swapping@heavy-multi@lmem0.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@gem_lmem_swapping@heavy-multi@lmem0.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0:
- shard-dg1: [FAIL][299] ([i915#3591]) -> [PASS][300]
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg1-13/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
* igt@i915_power@sanity:
- shard-mtlp: [SKIP][301] ([i915#7984]) -> [PASS][302]
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-mtlp-4/igt@i915_power@sanity.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-mtlp-3/igt@i915_power@sanity.html
* igt@i915_selftest@live@active:
- shard-dg2: [ABORT][303] ([i915#10366]) -> [PASS][304]
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-4/igt@i915_selftest@live@active.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-6/igt@i915_selftest@live@active.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-glk: [FAIL][305] ([i915#2346]) -> [PASS][306]
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@torture-bo@pipe-a:
- shard-tglu: [DMESG-WARN][307] ([i915#10166]) -> [PASS][308]
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-tglu-5/igt@kms_cursor_legacy@torture-bo@pipe-a.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-tglu-3/igt@kms_cursor_legacy@torture-bo@pipe-a.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a3:
- shard-dg2: [FAIL][309] ([i915#79]) -> [PASS][310]
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-5/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a3.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a3.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-dg2: [SKIP][311] ([i915#9519]) -> [PASS][312] +1 other test pass
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-2/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-10/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1:
- shard-snb: [FAIL][313] ([i915#9196]) -> [PASS][314]
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-snb2/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-snb5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
#### Warnings ####
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-dg2: [SKIP][315] ([i915#10433] / [i915#3458]) -> [SKIP][316] ([i915#3458]) +1 other test skip
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][317] ([i915#4816]) -> [SKIP][318] ([i915#4070] / [i915#4816])
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-rkl-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-rkl-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_psr@fbc-pr-primary-mmap-gtt:
- shard-dg2: [SKIP][319] ([i915#1072] / [i915#9732]) -> [SKIP][320] ([i915#1072] / [i915#9673] / [i915#9732]) +9 other tests skip
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-10/igt@kms_psr@fbc-pr-primary-mmap-gtt.html
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-11/igt@kms_psr@fbc-pr-primary-mmap-gtt.html
* igt@kms_psr@pr-cursor-mmap-cpu:
- shard-dg2: [SKIP][321] ([i915#1072] / [i915#9673] / [i915#9732]) -> [SKIP][322] ([i915#1072] / [i915#9732]) +4 other tests skip
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14549/shard-dg2-11/igt@kms_psr@pr-cursor-mmap-cpu.html
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130805v2/shard-dg2-3/igt@kms_psr@pr-cursor-mmap-cpu.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10055]: https://gitlab.freedesktop.org/drm/intel/issues/10055
[i915#10166]: https://gitlab.freedesktop.org/drm/intel/issues/10166
[i915#10182]: https://gitlab.freedesktop.org/drm/intel/issues/10182
[i915#10278]: https://gitlab.freedesktop.org/drm/intel/issues/10278
[i915#10307]: https://gitlab.freedesktop.org/drm/intel/issues/10307
[i915#10333]: https://gitlab.freedesktop.org/drm/intel/issues/10333
[i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
[i915#10378]: https://gitlab.freedesktop.org/drm/intel/issues/10378
[i915#10433]: https://gitlab.freedesktop.org/drm/intel/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/intel/issues/10434
[i915#10552]: https://gitlab.freedesktop.org/drm/intel/issues/10552
[i915#10656]: https://gitlab.freedesktop.org/drm/intel/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[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#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
[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#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[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#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[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#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#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[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#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
[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#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
[i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
[i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884
[i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6187]: https://gitlab.freedesktop.org/drm/intel/issues/6187
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
[i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6805]: https://gitlab.freedesktop.org/drm/intel/issues/6805
[i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
[i915#7091]: https://gitlab.freedesktop.org/drm/intel/issues/7091
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387
[i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[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#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984
[i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
[i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
[i915#8399]: https://gitlab.freedesktop.org/drm/intel/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
[i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/intel/issues/8430
[i915#8436]: https://gitlab.freedesktop.org/drm/intel/issues/8436
[i915#8516]: https://gitlab.freedesktop.org/drm/intel/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
[i915#8562]: https://gitlab.freedesktop.org/drm/intel/issues/8562
[i915#8588]: https://gitlab.freedesktop.org/drm/intel/issues/8588
[i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
[i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709
[i915#8806]: https://gitlab.freedesktop.org/drm/intel/issues/8806
[i915#8807]: https://gitlab.freedesktop.org/drm/intel/issues/8807
[i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810
[i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812
[i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814
[i915#8821]: https://gitlab.freedesktop.org/drm/intel/issues/8821
[i915#8823]: https://gitlab.freedesktop.org/drm/intel/issues/8823
[i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
[i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
[i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323
[i915#9412]: https://gitlab.freedesktop.org/drm/intel/issues/9412
[i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
[i915#9457]: https://gitlab.freedesktop.org/drm/intel/issues/9457
[i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
[i915#9606]: https://gitlab.freedesktop.org/drm/intel/issues/9606
[i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
[i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/intel/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
[i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
[i915#9766]: https://gitlab.freedesktop.org/drm/intel/issues/9766
[i915#9779]: https://gitlab.freedesktop.org/drm/intel/issues/9779
[i915#9808]: https://gitlab.freedesktop.org/drm/intel/issues/9808
[i915#9809]: https://gitlab.freedesktop.org/drm/intel/issues/9809
[i915#9849]: https://gitlab.freedesktop.org/drm/intel/issues/9849
[i915#9878]: https://gitlab.freedesktop.org/drm/intel/issues/9878
[i915#9917]: https://gitlab.freedesktop.org/drm/intel/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/intel/issues/9934
Build changes
-------------
* Linux: CI_DRM_14549 -> Patchwork_130805v2
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_14549: 0fe728577b3313bce01b5d00c6b4c4075a80b5b3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7802: 7802
Patchwork_130805v2: 0fe728577b3313bce01b5d00c6b4c4075a80b5b3 @ 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_130805v2/index.html
[-- Attachment #2: Type: text/html, Size: 108864 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer
2024-04-09 12:26 ` [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer Jani Nikula
@ 2024-04-16 16:05 ` Rodrigo Vivi
0 siblings, 0 replies; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:05 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:43PM +0300, Jani Nikula wrote:
> As a baby step towards making struct intel_display the main data
> structure for display, add a backpointer to struct drm_device that can
> be used instead of &i915->drm.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
I needed that a few weeks ago when doing that display metrics,
willing to add a drm_debug without having to go through
drm_i915_private.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_core.h | 3 +++
> drivers/gpu/drm/i915/display/intel_display_device.c | 3 +++
> 2 files changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index db9b6492758e..368a4953bc1b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -282,6 +282,9 @@ struct intel_wm {
> };
>
> struct intel_display {
> + /* drm device backpointer */
> + struct drm_device *drm;
> +
> /* Display functions */
> struct {
> /* Top level crtc-ish functions */
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index b8903bd0e82a..120e209ee74a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -927,6 +927,9 @@ void intel_display_device_probe(struct drm_i915_private *i915)
> const struct intel_display_device_info *info;
> u16 ver, rel, step;
>
> + /* Add drm device backpointer as early as possible. */
> + i915->display.drm = &i915->drm;
> +
> if (HAS_GMD_ID(i915))
> info = probe_gmdid_display(i915, &ver, &rel, &step);
> else
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 2/7] drm/i915/display: add generic to_intel_display() macro
2024-04-09 12:26 ` [PATCH v3 2/7] drm/i915/display: add generic to_intel_display() macro Jani Nikula
@ 2024-04-16 16:06 ` Rodrigo Vivi
0 siblings, 0 replies; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:06 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:44PM +0300, Jani Nikula wrote:
> Convert various pointers to struct intel_display * using _Generic().
>
> Add some macro magic to make adding new conversions easier, and somewhat
> abstract the need to cast each generic association. The cast is required
> because all associations needs to compile, regardless of the type and
> the generic selection.
>
> The use of *p in the generic selection assignment expression removes the
> need to add separate associations for const pointers.
>
> Note: This intentionally does *not* cover struct drm_i915_private or
> struct xe_device. They are not to be used in the long run, so avoid
> using this macro for them.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
I also missed this. This magic is great, let move with this already
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> .../drm/i915/display/intel_display_types.h | 37 +++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 0f4bd5710796..1be98c4219b0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -2197,4 +2197,41 @@ static inline int to_bpp_x16(int bpp)
> return bpp << 4;
> }
>
> +/*
> + * Conversion functions/macros from various pointer types to struct
> + * intel_display pointer.
> + */
> +#define __drm_device_to_intel_display(p) \
> + (&to_i915(p)->display)
> +#define __intel_connector_to_intel_display(p) \
> + __drm_device_to_intel_display((p)->base.dev)
> +#define __intel_crtc_to_intel_display(p) \
> + __drm_device_to_intel_display((p)->base.dev)
> +#define __intel_crtc_state_to_intel_display(p) \
> + __drm_device_to_intel_display((p)->uapi.crtc->dev)
> +#define __intel_digital_port_to_intel_display(p) \
> + __drm_device_to_intel_display((p)->base.base.dev)
> +#define __intel_dp_to_intel_display(p) \
> + __drm_device_to_intel_display(dp_to_dig_port(p)->base.base.dev)
> +#define __intel_encoder_to_intel_display(p) \
> + __drm_device_to_intel_display((p)->base.dev)
> +#define __intel_hdmi_to_intel_display(p) \
> + __drm_device_to_intel_display(hdmi_to_dig_port(p)->base.base.dev)
> +
> +/* Helper for generic association. Map types to conversion functions/macros. */
> +#define __assoc(type, p) \
> + struct type: __##type##_to_intel_display((struct type *)(p))
> +
> +/* Convert various pointer types to struct intel_display pointer. */
> +#define to_intel_display(p) \
> + _Generic(*p, \
> + __assoc(drm_device, p), \
> + __assoc(intel_connector, p), \
> + __assoc(intel_crtc, p), \
> + __assoc(intel_crtc_state, p), \
> + __assoc(intel_digital_port, p), \
> + __assoc(intel_dp, p), \
> + __assoc(intel_encoder, p), \
> + __assoc(intel_hdmi, p))
> +
> #endif /* __INTEL_DISPLAY_TYPES_H__ */
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 3/7] drm/i915: add generic __to_intel_display()
2024-04-09 12:26 ` [PATCH v3 3/7] drm/i915: add generic __to_intel_display() Jani Nikula
@ 2024-04-16 16:08 ` Rodrigo Vivi
0 siblings, 0 replies; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:08 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:45PM +0300, Jani Nikula wrote:
> Add generic __to_intel_display() macro that accepts either struct
> drm_i915_private * or struct intel_display *. This is to be used for
> transitional stuff that eventually needs to be converted to use struct
> intel_display *, and therefore is not part of to_intel_display().
I hope this doesn't backfire and end up delaying the conversion
like the dev_priv -> i915...
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index ee0d7d5f135d..4819f80942d3 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -357,6 +357,17 @@ struct drm_i915_private {
> */
> };
>
> +/*
> + * Transitional macro to optionally convert struct drm_i915_private * to struct
> + * intel_display *, also accepting the latter.
> + */
> +#define __to_intel_display(p) \
> + _Generic(p, \
> + const struct drm_i915_private *: (&((const struct drm_i915_private *)(p))->display), \
> + struct drm_i915_private *: (&((struct drm_i915_private *)(p))->display), \
> + const struct intel_display *: (p), \
> + struct intel_display *: (p))
> +
> static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
> {
> return container_of(dev, struct drm_i915_private, drm);
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 4/7] drm/xe/display: add generic __to_intel_display()
2024-04-09 12:26 ` [PATCH v3 4/7] drm/xe/display: " Jani Nikula
@ 2024-04-16 16:10 ` Rodrigo Vivi
2024-04-17 9:53 ` Jani Nikula
0 siblings, 1 reply; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:10 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:46PM +0300, Jani Nikula wrote:
> Add generic __to_intel_display() macro that accepts either struct
> xe_device * or struct intel_display *. This is to be used for
> transitional stuff that eventually needs to be converted to use struct
> intel_display *, and therefore is not part of to_intel_display().
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> index 2792a497257e..4448eda8b2a4 100644
> --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> @@ -29,6 +29,17 @@
> #include "intel_runtime_pm.h"
> #include <linux/pm_runtime.h>
>
> +/*
> + * Transitional macro to optionally convert struct xe_device * to struct
> + * intel_display *, also accepting the latter.
> + */
> +#define __to_intel_display(p) \
> + _Generic(p, \
> + const struct xe_device *: (&((const struct xe_device *)(p))->display), \
> + struct xe_device *: (&((struct xe_device *)(p))->display), \
> + const struct intel_display *: (p), \
> + struct intel_display *: (p))
hmmm... I thought that with our make magic we didn't need this.
but well, at least more awareness and trying to get rid of the make magic
earlier?
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> +
> static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
> {
> return container_of(dev, struct drm_i915_private, drm);
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests
2024-04-09 12:26 ` [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests Jani Nikula
@ 2024-04-16 16:14 ` Rodrigo Vivi
2024-04-17 13:05 ` Jani Nikula
0 siblings, 1 reply; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:14 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:47PM +0300, Jani Nikula wrote:
> Use the generic __to_intel_display() to allow passing either struct
> drm_i915_private * or struct intel_display * to the feature test macros.
>
> Unfortunately, this requires including i915_drv.h in xe display
> code. This is still better than polluting the main xe_device.h or
> xe_device_types.h files with the __to_intel_display() macro definition.
what about just duplicating these 2 lines in a compat layer
(perhaps a new temporary one?) and the only including that
instead of bringing it entirely?
or what else wouldbe needed?
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_device.h | 4 ++--
> drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 1 +
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 66b51de86e38..01c6a4bef179 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -100,8 +100,8 @@ struct drm_printer;
> (IS_DISPLAY_IP_RANGE((__i915), (ipver), (ipver)) && \
> IS_DISPLAY_STEP((__i915), (from), (until)))
>
> -#define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
> -#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
> +#define DISPLAY_INFO(i915) (__to_intel_display(i915)->info.__device_info)
> +#define DISPLAY_RUNTIME_INFO(i915) (&__to_intel_display(i915)->info.__runtime_info)
>
> #define DISPLAY_VER(i915) (DISPLAY_RUNTIME_INFO(i915)->ip.ver)
> #define DISPLAY_VER_FULL(i915) IP_VER(DISPLAY_RUNTIME_INFO(i915)->ip.ver, \
> diff --git a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
> index ac4b870f73fa..54314760f47a 100644
> --- a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
> +++ b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
> @@ -19,6 +19,7 @@
> #include "xe_map.h"
> #include "xe_pm.h"
> #include "xe_uc_fw.h"
> +#include "i915_drv.h"
>
> #define HECI_MEADDRESS_HDCP 18
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions
2024-04-09 12:26 ` [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions Jani Nikula
@ 2024-04-16 16:16 ` Rodrigo Vivi
2024-04-17 13:05 ` Jani Nikula
0 siblings, 1 reply; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:16 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:48PM +0300, Jani Nikula wrote:
> It would be too much noise to convert the intel_de_* functions from
> using struct drm_i915_private to struct intel_display all at once. Add
> generic wrappers using __to_intel_display() to accept both.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> ---
>
> This was done using a cocci + shell script combo.
the conversion below seems sane.
would you mind sharing the scripts in the commit message,
so scripts could be used when porting this patch to other
trees?
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_de.h | 102 +++++++++++++++---------
> 1 file changed, 64 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_de.h b/drivers/gpu/drm/i915/display/intel_de.h
> index ba7a1c6ebc2a..a08f8ef630f3 100644
> --- a/drivers/gpu/drm/i915/display/intel_de.h
> +++ b/drivers/gpu/drm/i915/display/intel_de.h
> @@ -10,80 +10,101 @@
> #include "i915_trace.h"
> #include "intel_uncore.h"
>
> +static inline struct intel_uncore *__to_uncore(struct intel_display *display)
> +{
> + return &to_i915(display->drm)->uncore;
> +}
> +
> static inline u32
> -intel_de_read(struct drm_i915_private *i915, i915_reg_t reg)
> +__intel_de_read(struct intel_display *display, i915_reg_t reg)
> {
> - return intel_uncore_read(&i915->uncore, reg);
> + return intel_uncore_read(__to_uncore(display), reg);
> }
> +#define intel_de_read(p,...) __intel_de_read(__to_intel_display(p), __VA_ARGS__)
>
> static inline u8
> -intel_de_read8(struct drm_i915_private *i915, i915_reg_t reg)
> +__intel_de_read8(struct intel_display *display, i915_reg_t reg)
> {
> - return intel_uncore_read8(&i915->uncore, reg);
> + return intel_uncore_read8(__to_uncore(display), reg);
> }
> +#define intel_de_read8(p,...) __intel_de_read8(__to_intel_display(p), __VA_ARGS__)
>
> static inline u64
> -intel_de_read64_2x32(struct drm_i915_private *i915,
> - i915_reg_t lower_reg, i915_reg_t upper_reg)
> +__intel_de_read64_2x32(struct intel_display *display,
> + i915_reg_t lower_reg, i915_reg_t upper_reg)
> {
> - return intel_uncore_read64_2x32(&i915->uncore, lower_reg, upper_reg);
> + return intel_uncore_read64_2x32(__to_uncore(display), lower_reg,
> + upper_reg);
> }
> +#define intel_de_read64_2x32(p,...) __intel_de_read64_2x32(__to_intel_display(p), __VA_ARGS__)
>
> static inline void
> -intel_de_posting_read(struct drm_i915_private *i915, i915_reg_t reg)
> +__intel_de_posting_read(struct intel_display *display, i915_reg_t reg)
> {
> - intel_uncore_posting_read(&i915->uncore, reg);
> + intel_uncore_posting_read(__to_uncore(display), reg);
> }
> +#define intel_de_posting_read(p,...) __intel_de_posting_read(__to_intel_display(p), __VA_ARGS__)
>
> static inline void
> -intel_de_write(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
> +__intel_de_write(struct intel_display *display, i915_reg_t reg, u32 val)
> {
> - intel_uncore_write(&i915->uncore, reg, val);
> + intel_uncore_write(__to_uncore(display), reg, val);
> }
> +#define intel_de_write(p,...) __intel_de_write(__to_intel_display(p), __VA_ARGS__)
>
> static inline u32
> -intel_de_rmw(struct drm_i915_private *i915, i915_reg_t reg, u32 clear, u32 set)
> +__intel_de_rmw(struct intel_display *display, i915_reg_t reg, u32 clear,
> + u32 set)
> {
> - return intel_uncore_rmw(&i915->uncore, reg, clear, set);
> + return intel_uncore_rmw(__to_uncore(display), reg, clear, set);
> }
> +#define intel_de_rmw(p,...) __intel_de_rmw(__to_intel_display(p), __VA_ARGS__)
>
> static inline int
> -intel_de_wait(struct drm_i915_private *i915, i915_reg_t reg,
> - u32 mask, u32 value, unsigned int timeout)
> +__intel_de_wait(struct intel_display *display, i915_reg_t reg,
> + u32 mask, u32 value, unsigned int timeout)
> {
> - return intel_wait_for_register(&i915->uncore, reg, mask, value, timeout);
> + return intel_wait_for_register(__to_uncore(display), reg, mask, value,
> + timeout);
> }
> +#define intel_de_wait(p,...) __intel_de_wait(__to_intel_display(p), __VA_ARGS__)
>
> static inline int
> -intel_de_wait_fw(struct drm_i915_private *i915, i915_reg_t reg,
> - u32 mask, u32 value, unsigned int timeout)
> +__intel_de_wait_fw(struct intel_display *display, i915_reg_t reg,
> + u32 mask, u32 value, unsigned int timeout)
> {
> - return intel_wait_for_register_fw(&i915->uncore, reg, mask, value, timeout);
> + return intel_wait_for_register_fw(__to_uncore(display), reg, mask,
> + value, timeout);
> }
> +#define intel_de_wait_fw(p,...) __intel_de_wait_fw(__to_intel_display(p), __VA_ARGS__)
>
> static inline int
> -intel_de_wait_custom(struct drm_i915_private *i915, i915_reg_t reg,
> - u32 mask, u32 value,
> - unsigned int fast_timeout_us,
> - unsigned int slow_timeout_ms, u32 *out_value)
> +__intel_de_wait_custom(struct intel_display *display, i915_reg_t reg,
> + u32 mask, u32 value,
> + unsigned int fast_timeout_us,
> + unsigned int slow_timeout_ms, u32 *out_value)
> {
> - return __intel_wait_for_register(&i915->uncore, reg, mask, value,
> + return __intel_wait_for_register(__to_uncore(display), reg, mask,
> + value,
> fast_timeout_us, slow_timeout_ms, out_value);
> }
> +#define intel_de_wait_custom(p,...) __intel_de_wait_custom(__to_intel_display(p), __VA_ARGS__)
>
> static inline int
> -intel_de_wait_for_set(struct drm_i915_private *i915, i915_reg_t reg,
> - u32 mask, unsigned int timeout)
> +__intel_de_wait_for_set(struct intel_display *display, i915_reg_t reg,
> + u32 mask, unsigned int timeout)
> {
> - return intel_de_wait(i915, reg, mask, mask, timeout);
> + return intel_de_wait(display, reg, mask, mask, timeout);
> }
> +#define intel_de_wait_for_set(p,...) __intel_de_wait_for_set(__to_intel_display(p), __VA_ARGS__)
>
> static inline int
> -intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
> - u32 mask, unsigned int timeout)
> +__intel_de_wait_for_clear(struct intel_display *display, i915_reg_t reg,
> + u32 mask, unsigned int timeout)
> {
> - return intel_de_wait(i915, reg, mask, 0, timeout);
> + return intel_de_wait(display, reg, mask, 0, timeout);
> }
> +#define intel_de_wait_for_clear(p,...) __intel_de_wait_for_clear(__to_intel_display(p), __VA_ARGS__)
>
> /*
> * Unlocked mmio-accessors, think carefully before using these.
> @@ -94,33 +115,38 @@ intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
> * a more localised lock guarding all access to that bank of registers.
> */
> static inline u32
> -intel_de_read_fw(struct drm_i915_private *i915, i915_reg_t reg)
> +__intel_de_read_fw(struct intel_display *display, i915_reg_t reg)
> {
> u32 val;
>
> - val = intel_uncore_read_fw(&i915->uncore, reg);
> + val = intel_uncore_read_fw(__to_uncore(display), reg);
> trace_i915_reg_rw(false, reg, val, sizeof(val), true);
>
> return val;
> }
> +#define intel_de_read_fw(p,...) __intel_de_read_fw(__to_intel_display(p), __VA_ARGS__)
>
> static inline void
> -intel_de_write_fw(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
> +__intel_de_write_fw(struct intel_display *display, i915_reg_t reg, u32 val)
> {
> trace_i915_reg_rw(true, reg, val, sizeof(val), true);
> - intel_uncore_write_fw(&i915->uncore, reg, val);
> + intel_uncore_write_fw(__to_uncore(display), reg, val);
> }
> +#define intel_de_write_fw(p,...) __intel_de_write_fw(__to_intel_display(p), __VA_ARGS__)
>
> static inline u32
> -intel_de_read_notrace(struct drm_i915_private *i915, i915_reg_t reg)
> +__intel_de_read_notrace(struct intel_display *display, i915_reg_t reg)
> {
> - return intel_uncore_read_notrace(&i915->uncore, reg);
> + return intel_uncore_read_notrace(__to_uncore(display), reg);
> }
> +#define intel_de_read_notrace(p,...) __intel_de_read_notrace(__to_intel_display(p), __VA_ARGS__)
>
> static inline void
> -intel_de_write_notrace(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
> +__intel_de_write_notrace(struct intel_display *display, i915_reg_t reg,
> + u32 val)
> {
> - intel_uncore_write_notrace(&i915->uncore, reg, val);
> + intel_uncore_write_notrace(__to_uncore(display), reg, val);
> }
> +#define intel_de_write_notrace(p,...) __intel_de_write_notrace(__to_intel_display(p), __VA_ARGS__)
>
> #endif /* __INTEL_DE_H__ */
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 7/7] drm/i915/quirks: convert struct drm_i915_private to struct intel_display
2024-04-09 12:26 ` [PATCH v3 7/7] drm/i915/quirks: convert struct drm_i915_private to struct intel_display Jani Nikula
@ 2024-04-16 16:17 ` Rodrigo Vivi
0 siblings, 0 replies; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:17 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:49PM +0300, Jani Nikula wrote:
> Use struct intel_display instead of struct drm_i915_private for
> quirks. Also do drive-by conversions in call sites of intel_has_quirk().
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> .../gpu/drm/i915/display/intel_backlight.c | 40 ++++++-------
> drivers/gpu/drm/i915/display/intel_ddi.c | 6 +-
> .../drm/i915/display/intel_display_driver.c | 3 +-
> drivers/gpu/drm/i915/display/intel_panel.c | 10 ++--
> drivers/gpu/drm/i915/display/intel_pps.c | 6 +-
> drivers/gpu/drm/i915/display/intel_quirks.c | 56 +++++++++----------
> drivers/gpu/drm/i915/display/intel_quirks.h | 6 +-
> 7 files changed, 65 insertions(+), 62 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c
> index 4d4330410b4d..071668bfe5d1 100644
> --- a/drivers/gpu/drm/i915/display/intel_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_backlight.c
> @@ -83,16 +83,16 @@ static u32 scale_hw_to_user(struct intel_connector *connector,
>
> u32 intel_backlight_invert_pwm_level(struct intel_connector *connector, u32 val)
> {
> - struct drm_i915_private *i915 = to_i915(connector->base.dev);
> + struct intel_display *display = to_intel_display(connector);
> struct intel_panel *panel = &connector->panel;
>
> - drm_WARN_ON(&i915->drm, panel->backlight.pwm_level_max == 0);
> + drm_WARN_ON(display->drm, panel->backlight.pwm_level_max == 0);
>
> - if (i915->display.params.invert_brightness < 0)
> + if (display->params.invert_brightness < 0)
> return val;
>
> - if (i915->display.params.invert_brightness > 0 ||
> - intel_has_quirk(i915, QUIRK_INVERT_BRIGHTNESS)) {
> + if (display->params.invert_brightness > 0 ||
> + intel_has_quirk(display, QUIRK_INVERT_BRIGHTNESS)) {
> return panel->backlight.pwm_level_max - val + panel->backlight.pwm_level_min;
> }
>
> @@ -126,15 +126,15 @@ u32 intel_backlight_level_to_pwm(struct intel_connector *connector, u32 val)
>
> u32 intel_backlight_level_from_pwm(struct intel_connector *connector, u32 val)
> {
> - struct drm_i915_private *i915 = to_i915(connector->base.dev);
> + struct intel_display *display = to_intel_display(connector);
> struct intel_panel *panel = &connector->panel;
>
> - drm_WARN_ON_ONCE(&i915->drm,
> + drm_WARN_ON_ONCE(display->drm,
> panel->backlight.max == 0 || panel->backlight.pwm_level_max == 0);
>
> - if (i915->display.params.invert_brightness > 0 ||
> - (i915->display.params.invert_brightness == 0 &&
> - intel_has_quirk(i915, QUIRK_INVERT_BRIGHTNESS)))
> + if (display->params.invert_brightness > 0 ||
> + (display->params.invert_brightness == 0 &&
> + intel_has_quirk(display, QUIRK_INVERT_BRIGHTNESS)))
> val = panel->backlight.pwm_level_max - (val - panel->backlight.pwm_level_min);
>
> return scale(val, panel->backlight.pwm_level_min, panel->backlight.pwm_level_max,
> @@ -1642,17 +1642,17 @@ void intel_backlight_update(struct intel_atomic_state *state,
>
> int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
> {
> - struct drm_i915_private *i915 = to_i915(connector->base.dev);
> + struct intel_display *display = to_intel_display(connector);
> struct intel_panel *panel = &connector->panel;
> int ret;
>
> if (!connector->panel.vbt.backlight.present) {
> - if (intel_has_quirk(i915, QUIRK_BACKLIGHT_PRESENT)) {
> - drm_dbg_kms(&i915->drm,
> + if (intel_has_quirk(display, QUIRK_BACKLIGHT_PRESENT)) {
> + drm_dbg_kms(display->drm,
> "[CONNECTOR:%d:%s] no backlight present per VBT, but present per quirk\n",
> connector->base.base.id, connector->base.name);
> } else {
> - drm_dbg_kms(&i915->drm,
> + drm_dbg_kms(display->drm,
> "[CONNECTOR:%d:%s] no backlight present per VBT\n",
> connector->base.base.id, connector->base.name);
> return 0;
> @@ -1660,16 +1660,16 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
> }
>
> /* ensure intel_panel has been initialized first */
> - if (drm_WARN_ON(&i915->drm, !panel->backlight.funcs))
> + if (drm_WARN_ON(display->drm, !panel->backlight.funcs))
> return -ENODEV;
>
> /* set level and max in panel struct */
> - mutex_lock(&i915->display.backlight.lock);
> + mutex_lock(&display->backlight.lock);
> ret = panel->backlight.funcs->setup(connector, pipe);
> - mutex_unlock(&i915->display.backlight.lock);
> + mutex_unlock(&display->backlight.lock);
>
> if (ret) {
> - drm_dbg_kms(&i915->drm,
> + drm_dbg_kms(display->drm,
> "[CONNECTOR:%d:%s] failed to setup backlight\n",
> connector->base.base.id, connector->base.name);
> return ret;
> @@ -1677,7 +1677,7 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
>
> panel->backlight.present = true;
>
> - drm_dbg_kms(&i915->drm,
> + drm_dbg_kms(display->drm,
> "[CONNECTOR:%d:%s] backlight initialized, %s, brightness %u/%u\n",
> connector->base.base.id, connector->base.name,
> str_enabled_disabled(panel->backlight.enabled),
> @@ -1821,7 +1821,7 @@ void intel_backlight_init_funcs(struct intel_panel *panel)
> if (intel_dp_aux_init_backlight_funcs(connector) == 0)
> return;
>
> - if (!intel_has_quirk(i915, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK))
> + if (!intel_has_quirk(&i915->display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK))
> connector->panel.backlight.power = intel_pps_backlight_power;
> }
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 793ef3e387c6..49d947f4ccde 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -631,6 +631,7 @@ intel_ddi_config_transcoder_func(struct intel_encoder *encoder,
>
> void intel_ddi_disable_transcoder_func(const struct intel_crtc_state *crtc_state)
> {
> + struct intel_display *display = to_intel_display(crtc_state);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
> @@ -661,10 +662,9 @@ void intel_ddi_disable_transcoder_func(const struct intel_crtc_state *crtc_state
>
> intel_de_write(dev_priv, TRANS_DDI_FUNC_CTL(cpu_transcoder), ctl);
>
> - if (intel_has_quirk(dev_priv, QUIRK_INCREASE_DDI_DISABLED_TIME) &&
> + if (intel_has_quirk(display, QUIRK_INCREASE_DDI_DISABLED_TIME) &&
> intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI)) {
> - drm_dbg_kms(&dev_priv->drm,
> - "Quirk Increase DDI disabled time\n");
> + drm_dbg_kms(display->drm, "Quirk Increase DDI disabled time\n");
> /* Quirk time at 100ms for reliable operation */
> msleep(100);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index 87dd07e0d138..0b05c3b732e9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -203,6 +203,7 @@ void intel_display_driver_early_probe(struct drm_i915_private *i915)
> /* part #1: call before irq install */
> int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
> {
> + struct intel_display *display = &i915->display;
> int ret;
>
> if (i915_inject_probe_failure(i915))
> @@ -261,7 +262,7 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
> if (ret)
> goto cleanup_vga_client_pw_domain_dmc;
>
> - intel_init_quirks(i915);
> + intel_init_quirks(display);
>
> intel_fbc_init(i915);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i915/display/intel_panel.c
> index 073ea3166c36..6f4ff6a89c32 100644
> --- a/drivers/gpu/drm/i915/display/intel_panel.c
> +++ b/drivers/gpu/drm/i915/display/intel_panel.c
> @@ -47,10 +47,12 @@
>
> bool intel_panel_use_ssc(struct drm_i915_private *i915)
> {
> - if (i915->display.params.panel_use_ssc >= 0)
> - return i915->display.params.panel_use_ssc != 0;
> - return i915->display.vbt.lvds_use_ssc &&
> - !intel_has_quirk(i915, QUIRK_LVDS_SSC_DISABLE);
> + struct intel_display *display = &i915->display;
> +
> + if (display->params.panel_use_ssc >= 0)
> + return display->params.panel_use_ssc != 0;
> + return display->vbt.lvds_use_ssc &&
> + !intel_has_quirk(display, QUIRK_LVDS_SSC_DISABLE);
> }
>
> const struct drm_display_mode *
> diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c
> index b5d9920f8341..052f4ee406b5 100644
> --- a/drivers/gpu/drm/i915/display/intel_pps.c
> +++ b/drivers/gpu/drm/i915/display/intel_pps.c
> @@ -1350,7 +1350,7 @@ static void pps_init_delays_bios(struct intel_dp *intel_dp,
> static void pps_init_delays_vbt(struct intel_dp *intel_dp,
> struct edp_power_seq *vbt)
> {
> - struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> + struct intel_display *display = to_intel_display(intel_dp);
> struct intel_connector *connector = intel_dp->attached_connector;
>
> *vbt = connector->panel.vbt.edp.pps;
> @@ -1363,9 +1363,9 @@ static void pps_init_delays_vbt(struct intel_dp *intel_dp,
> * just fails to power back on. Increasing the delay to 800ms
> * seems sufficient to avoid this problem.
> */
> - if (intel_has_quirk(dev_priv, QUIRK_INCREASE_T12_DELAY)) {
> + if (intel_has_quirk(display, QUIRK_INCREASE_T12_DELAY)) {
> vbt->t11_t12 = max_t(u16, vbt->t11_t12, 1300 * 10);
> - drm_dbg_kms(&dev_priv->drm,
> + drm_dbg_kms(display->drm,
> "Increasing T12 panel delay as per the quirk to %d\n",
> vbt->t11_t12);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
> index a280448df771..14d5fefc9c5b 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
> @@ -9,72 +9,72 @@
> #include "intel_display_types.h"
> #include "intel_quirks.h"
>
> -static void intel_set_quirk(struct drm_i915_private *i915, enum intel_quirk_id quirk)
> +static void intel_set_quirk(struct intel_display *display, enum intel_quirk_id quirk)
> {
> - i915->display.quirks.mask |= BIT(quirk);
> + display->quirks.mask |= BIT(quirk);
> }
>
> /*
> * Some machines (Lenovo U160) do not work with SSC on LVDS for some reason
> */
> -static void quirk_ssc_force_disable(struct drm_i915_private *i915)
> +static void quirk_ssc_force_disable(struct intel_display *display)
> {
> - intel_set_quirk(i915, QUIRK_LVDS_SSC_DISABLE);
> - drm_info(&i915->drm, "applying lvds SSC disable quirk\n");
> + intel_set_quirk(display, QUIRK_LVDS_SSC_DISABLE);
> + drm_info(display->drm, "applying lvds SSC disable quirk\n");
> }
>
> /*
> * A machine (e.g. Acer Aspire 5734Z) may need to invert the panel backlight
> * brightness value
> */
> -static void quirk_invert_brightness(struct drm_i915_private *i915)
> +static void quirk_invert_brightness(struct intel_display *display)
> {
> - intel_set_quirk(i915, QUIRK_INVERT_BRIGHTNESS);
> - drm_info(&i915->drm, "applying inverted panel brightness quirk\n");
> + intel_set_quirk(display, QUIRK_INVERT_BRIGHTNESS);
> + drm_info(display->drm, "applying inverted panel brightness quirk\n");
> }
>
> /* Some VBT's incorrectly indicate no backlight is present */
> -static void quirk_backlight_present(struct drm_i915_private *i915)
> +static void quirk_backlight_present(struct intel_display *display)
> {
> - intel_set_quirk(i915, QUIRK_BACKLIGHT_PRESENT);
> - drm_info(&i915->drm, "applying backlight present quirk\n");
> + intel_set_quirk(display, QUIRK_BACKLIGHT_PRESENT);
> + drm_info(display->drm, "applying backlight present quirk\n");
> }
>
> /* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
> * which is 300 ms greater than eDP spec T12 min.
> */
> -static void quirk_increase_t12_delay(struct drm_i915_private *i915)
> +static void quirk_increase_t12_delay(struct intel_display *display)
> {
> - intel_set_quirk(i915, QUIRK_INCREASE_T12_DELAY);
> - drm_info(&i915->drm, "Applying T12 delay quirk\n");
> + intel_set_quirk(display, QUIRK_INCREASE_T12_DELAY);
> + drm_info(display->drm, "Applying T12 delay quirk\n");
> }
>
> /*
> * GeminiLake NUC HDMI outputs require additional off time
> * this allows the onboard retimer to correctly sync to signal
> */
> -static void quirk_increase_ddi_disabled_time(struct drm_i915_private *i915)
> +static void quirk_increase_ddi_disabled_time(struct intel_display *display)
> {
> - intel_set_quirk(i915, QUIRK_INCREASE_DDI_DISABLED_TIME);
> - drm_info(&i915->drm, "Applying Increase DDI Disabled quirk\n");
> + intel_set_quirk(display, QUIRK_INCREASE_DDI_DISABLED_TIME);
> + drm_info(display->drm, "Applying Increase DDI Disabled quirk\n");
> }
>
> -static void quirk_no_pps_backlight_power_hook(struct drm_i915_private *i915)
> +static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
> {
> - intel_set_quirk(i915, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK);
> - drm_info(&i915->drm, "Applying no pps backlight power quirk\n");
> + intel_set_quirk(display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK);
> + drm_info(display->drm, "Applying no pps backlight power quirk\n");
> }
>
> struct intel_quirk {
> int device;
> int subsystem_vendor;
> int subsystem_device;
> - void (*hook)(struct drm_i915_private *i915);
> + void (*hook)(struct intel_display *display);
> };
>
> /* For systems that don't have a meaningful PCI subdevice/subvendor ID */
> struct intel_dmi_quirk {
> - void (*hook)(struct drm_i915_private *i915);
> + void (*hook)(struct intel_display *display);
> const struct dmi_system_id (*dmi_id_list)[];
> };
>
> @@ -203,9 +203,9 @@ static struct intel_quirk intel_quirks[] = {
> { 0x0f31, 0x103c, 0x220f, quirk_invert_brightness },
> };
>
> -void intel_init_quirks(struct drm_i915_private *i915)
> +void intel_init_quirks(struct intel_display *display)
> {
> - struct pci_dev *d = to_pci_dev(i915->drm.dev);
> + struct pci_dev *d = to_pci_dev(display->drm->dev);
> int i;
>
> for (i = 0; i < ARRAY_SIZE(intel_quirks); i++) {
> @@ -216,15 +216,15 @@ void intel_init_quirks(struct drm_i915_private *i915)
> q->subsystem_vendor == PCI_ANY_ID) &&
> (d->subsystem_device == q->subsystem_device ||
> q->subsystem_device == PCI_ANY_ID))
> - q->hook(i915);
> + q->hook(display);
> }
> for (i = 0; i < ARRAY_SIZE(intel_dmi_quirks); i++) {
> if (dmi_check_system(*intel_dmi_quirks[i].dmi_id_list) != 0)
> - intel_dmi_quirks[i].hook(i915);
> + intel_dmi_quirks[i].hook(display);
> }
> }
>
> -bool intel_has_quirk(struct drm_i915_private *i915, enum intel_quirk_id quirk)
> +bool intel_has_quirk(struct intel_display *display, enum intel_quirk_id quirk)
> {
> - return i915->display.quirks.mask & BIT(quirk);
> + return display->quirks.mask & BIT(quirk);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
> index 10a4d163149f..151c8f4ae576 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.h
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
> @@ -8,7 +8,7 @@
>
> #include <linux/types.h>
>
> -struct drm_i915_private;
> +struct intel_display;
>
> enum intel_quirk_id {
> QUIRK_BACKLIGHT_PRESENT,
> @@ -19,7 +19,7 @@ enum intel_quirk_id {
> QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
> };
>
> -void intel_init_quirks(struct drm_i915_private *i915);
> -bool intel_has_quirk(struct drm_i915_private *i915, enum intel_quirk_id quirk);
> +void intel_init_quirks(struct intel_display *display);
> +bool intel_has_quirk(struct intel_display *display, enum intel_quirk_id quirk);
>
> #endif /* __INTEL_QUIRKS_H__ */
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 0/7] drm/i915: better high level abstraction for display
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
` (10 preceding siblings ...)
2024-04-10 17:22 ` ✓ Fi.CI.IGT: " Patchwork
@ 2024-04-16 16:24 ` Rodrigo Vivi
11 siblings, 0 replies; 24+ messages in thread
From: Rodrigo Vivi @ 2024-04-16 16:24 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, Apr 09, 2024 at 03:26:42PM +0300, Jani Nikula wrote:
> v3 of [1], and no longer an RFC.
>
> This is just initial plumbing, and not much in terms of usage (apart
> from patch 7). We could start converting a number of places already, but
> the main blocker atm is that I haven't figured out a decent solution for
> the various IS_<PLATFORM>() check macros.
what about convert them all to DISPLAY_VER?
or perhaps with a legacy way for that like:
s/IS_<PLATFORM>/IS_DISPLAY_PLATFORM
where
#define IS_DISPLAY_PLATFORM DISPLAY_VER(something...)
btw I just noticed we need to convert DISPLAY_VER towards
display rather then device pointer quickly as well.
>
> I'm intentionally keeping the patches small and independent, because
> they could conceivably be backported to stable as dependencies, so we
> don't cause a huge problem for backports.
>
> Anyway, we could start moving things forward with this.
>
>
> BR,
> Jani.
>
>
> [1] https://lore.kernel.org/r/cover.1709727127.git.jani.nikula@intel.com
>
>
> Jani Nikula (7):
> drm/i915/display: add intel_display -> drm_device backpointer
> drm/i915/display: add generic to_intel_display() macro
> drm/i915: add generic __to_intel_display()
> drm/xe/display: add generic __to_intel_display()
> drm/i915/display: accept either i915 or display for feature tests
> drm/i915/de: allow intel_display and drm_i915_private for de functions
> drm/i915/quirks: convert struct drm_i915_private to struct
> intel_display
>
> .../gpu/drm/i915/display/intel_backlight.c | 40 +++----
> drivers/gpu/drm/i915/display/intel_ddi.c | 6 +-
> drivers/gpu/drm/i915/display/intel_de.h | 102 +++++++++++-------
> .../gpu/drm/i915/display/intel_display_core.h | 3 +
> .../drm/i915/display/intel_display_device.c | 3 +
> .../drm/i915/display/intel_display_device.h | 4 +-
> .../drm/i915/display/intel_display_driver.c | 3 +-
> .../drm/i915/display/intel_display_types.h | 37 +++++++
> drivers/gpu/drm/i915/display/intel_panel.c | 10 +-
> drivers/gpu/drm/i915/display/intel_pps.c | 6 +-
> drivers/gpu/drm/i915/display/intel_quirks.c | 56 +++++-----
> drivers/gpu/drm/i915/display/intel_quirks.h | 6 +-
> drivers/gpu/drm/i915/i915_drv.h | 11 ++
> .../gpu/drm/xe/compat-i915-headers/i915_drv.h | 11 ++
> drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 1 +
> 15 files changed, 197 insertions(+), 102 deletions(-)
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 4/7] drm/xe/display: add generic __to_intel_display()
2024-04-16 16:10 ` Rodrigo Vivi
@ 2024-04-17 9:53 ` Jani Nikula
2024-04-17 13:04 ` Jani Nikula
0 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-04-17 9:53 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, 16 Apr 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Tue, Apr 09, 2024 at 03:26:46PM +0300, Jani Nikula wrote:
>> Add generic __to_intel_display() macro that accepts either struct
>> xe_device * or struct intel_display *. This is to be used for
>> transitional stuff that eventually needs to be converted to use struct
>> intel_display *, and therefore is not part of to_intel_display().
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>> index 2792a497257e..4448eda8b2a4 100644
>> --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>> +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>> @@ -29,6 +29,17 @@
>> #include "intel_runtime_pm.h"
>> #include <linux/pm_runtime.h>
>>
>> +/*
>> + * Transitional macro to optionally convert struct xe_device * to struct
>> + * intel_display *, also accepting the latter.
>> + */
>> +#define __to_intel_display(p) \
>> + _Generic(p, \
>> + const struct xe_device *: (&((const struct xe_device *)(p))->display), \
>> + struct xe_device *: (&((struct xe_device *)(p))->display), \
>> + const struct intel_display *: (p), \
>> + struct intel_display *: (p))
>
> hmmm... I thought that with our make magic we didn't need this.
> but well, at least more awareness and trying to get rid of the make magic
> earlier?
It's needed because in i915 I wanted to put this in i915_drv.h to not
create a extra dependency to/from i915_drv.h. I tried, it gets tricky.
So weed another copy xe side.
The make magic does convert all struct drm_i915_private to struct
xe_device, so this could have struct drm_i915_private, but the other
copy is not available here.
BR,
Jani.
>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
>> +
>> static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
>> {
>> return container_of(dev, struct drm_i915_private, drm);
>> --
>> 2.39.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 4/7] drm/xe/display: add generic __to_intel_display()
2024-04-17 9:53 ` Jani Nikula
@ 2024-04-17 13:04 ` Jani Nikula
0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2024-04-17 13:04 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Wed, 17 Apr 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> On Tue, 16 Apr 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
>> On Tue, Apr 09, 2024 at 03:26:46PM +0300, Jani Nikula wrote:
>>> Add generic __to_intel_display() macro that accepts either struct
>>> xe_device * or struct intel_display *. This is to be used for
>>> transitional stuff that eventually needs to be converted to use struct
>>> intel_display *, and therefore is not part of to_intel_display().
>>>
>>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>> ---
>>> drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 11 +++++++++++
>>> 1 file changed, 11 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>>> index 2792a497257e..4448eda8b2a4 100644
>>> --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>>> +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>>> @@ -29,6 +29,17 @@
>>> #include "intel_runtime_pm.h"
>>> #include <linux/pm_runtime.h>
>>>
>>> +/*
>>> + * Transitional macro to optionally convert struct xe_device * to struct
>>> + * intel_display *, also accepting the latter.
>>> + */
>>> +#define __to_intel_display(p) \
>>> + _Generic(p, \
>>> + const struct xe_device *: (&((const struct xe_device *)(p))->display), \
>>> + struct xe_device *: (&((struct xe_device *)(p))->display), \
>>> + const struct intel_display *: (p), \
>>> + struct intel_display *: (p))
>>
>> hmmm... I thought that with our make magic we didn't need this.
>> but well, at least more awareness and trying to get rid of the make magic
>> earlier?
>
> It's needed because in i915 I wanted to put this in i915_drv.h to not
> create a extra dependency to/from i915_drv.h. I tried, it gets tricky.
> So weed another copy xe side.
>
> The make magic does convert all struct drm_i915_private to struct
> xe_device, so this could have struct drm_i915_private, but the other
> copy is not available here.
Okay, so in v4 I decided to shove the macro to a header, and this patch
and the duplication is no longer needed.
BR,
Jani.
>
> BR,
> Jani.
>
>>
>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>
>>> +
>>> static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
>>> {
>>> return container_of(dev, struct drm_i915_private, drm);
>>> --
>>> 2.39.2
>>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests
2024-04-16 16:14 ` Rodrigo Vivi
@ 2024-04-17 13:05 ` Jani Nikula
0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2024-04-17 13:05 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, 16 Apr 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Tue, Apr 09, 2024 at 03:26:47PM +0300, Jani Nikula wrote:
>> Use the generic __to_intel_display() to allow passing either struct
>> drm_i915_private * or struct intel_display * to the feature test macros.
>>
>> Unfortunately, this requires including i915_drv.h in xe display
>> code. This is still better than polluting the main xe_device.h or
>> xe_device_types.h files with the __to_intel_display() macro definition.
>
> what about just duplicating these 2 lines in a compat layer
> (perhaps a new temporary one?) and the only including that
> instead of bringing it entirely?
Added a shared header under display for __to_intel_display(), and the
change in xe can be dropped.
BR,
Jani.
>
> or what else wouldbe needed?
>
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_display_device.h | 4 ++--
>> drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 1 +
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
>> index 66b51de86e38..01c6a4bef179 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
>> @@ -100,8 +100,8 @@ struct drm_printer;
>> (IS_DISPLAY_IP_RANGE((__i915), (ipver), (ipver)) && \
>> IS_DISPLAY_STEP((__i915), (from), (until)))
>>
>> -#define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
>> -#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
>> +#define DISPLAY_INFO(i915) (__to_intel_display(i915)->info.__device_info)
>> +#define DISPLAY_RUNTIME_INFO(i915) (&__to_intel_display(i915)->info.__runtime_info)
>>
>> #define DISPLAY_VER(i915) (DISPLAY_RUNTIME_INFO(i915)->ip.ver)
>> #define DISPLAY_VER_FULL(i915) IP_VER(DISPLAY_RUNTIME_INFO(i915)->ip.ver, \
>> diff --git a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>> index ac4b870f73fa..54314760f47a 100644
>> --- a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>> +++ b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>> @@ -19,6 +19,7 @@
>> #include "xe_map.h"
>> #include "xe_pm.h"
>> #include "xe_uc_fw.h"
>> +#include "i915_drv.h"
>>
>> #define HECI_MEADDRESS_HDCP 18
>>
>> --
>> 2.39.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions
2024-04-16 16:16 ` Rodrigo Vivi
@ 2024-04-17 13:05 ` Jani Nikula
0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2024-04-17 13:05 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala,
joonas.lahtinen, tursulin
On Tue, 16 Apr 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Tue, Apr 09, 2024 at 03:26:48PM +0300, Jani Nikula wrote:
>> It would be too much noise to convert the intel_de_* functions from
>> using struct drm_i915_private to struct intel_display all at once. Add
>> generic wrappers using __to_intel_display() to accept both.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>
>> ---
>>
>> This was done using a cocci + shell script combo.
>
> the conversion below seems sane.
> would you mind sharing the scripts in the commit message,
> so scripts could be used when porting this patch to other
> trees?
Done in v4.
>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
>> ---
>> drivers/gpu/drm/i915/display/intel_de.h | 102 +++++++++++++++---------
>> 1 file changed, 64 insertions(+), 38 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_de.h b/drivers/gpu/drm/i915/display/intel_de.h
>> index ba7a1c6ebc2a..a08f8ef630f3 100644
>> --- a/drivers/gpu/drm/i915/display/intel_de.h
>> +++ b/drivers/gpu/drm/i915/display/intel_de.h
>> @@ -10,80 +10,101 @@
>> #include "i915_trace.h"
>> #include "intel_uncore.h"
>>
>> +static inline struct intel_uncore *__to_uncore(struct intel_display *display)
>> +{
>> + return &to_i915(display->drm)->uncore;
>> +}
>> +
>> static inline u32
>> -intel_de_read(struct drm_i915_private *i915, i915_reg_t reg)
>> +__intel_de_read(struct intel_display *display, i915_reg_t reg)
>> {
>> - return intel_uncore_read(&i915->uncore, reg);
>> + return intel_uncore_read(__to_uncore(display), reg);
>> }
>> +#define intel_de_read(p,...) __intel_de_read(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline u8
>> -intel_de_read8(struct drm_i915_private *i915, i915_reg_t reg)
>> +__intel_de_read8(struct intel_display *display, i915_reg_t reg)
>> {
>> - return intel_uncore_read8(&i915->uncore, reg);
>> + return intel_uncore_read8(__to_uncore(display), reg);
>> }
>> +#define intel_de_read8(p,...) __intel_de_read8(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline u64
>> -intel_de_read64_2x32(struct drm_i915_private *i915,
>> - i915_reg_t lower_reg, i915_reg_t upper_reg)
>> +__intel_de_read64_2x32(struct intel_display *display,
>> + i915_reg_t lower_reg, i915_reg_t upper_reg)
>> {
>> - return intel_uncore_read64_2x32(&i915->uncore, lower_reg, upper_reg);
>> + return intel_uncore_read64_2x32(__to_uncore(display), lower_reg,
>> + upper_reg);
>> }
>> +#define intel_de_read64_2x32(p,...) __intel_de_read64_2x32(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline void
>> -intel_de_posting_read(struct drm_i915_private *i915, i915_reg_t reg)
>> +__intel_de_posting_read(struct intel_display *display, i915_reg_t reg)
>> {
>> - intel_uncore_posting_read(&i915->uncore, reg);
>> + intel_uncore_posting_read(__to_uncore(display), reg);
>> }
>> +#define intel_de_posting_read(p,...) __intel_de_posting_read(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline void
>> -intel_de_write(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
>> +__intel_de_write(struct intel_display *display, i915_reg_t reg, u32 val)
>> {
>> - intel_uncore_write(&i915->uncore, reg, val);
>> + intel_uncore_write(__to_uncore(display), reg, val);
>> }
>> +#define intel_de_write(p,...) __intel_de_write(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline u32
>> -intel_de_rmw(struct drm_i915_private *i915, i915_reg_t reg, u32 clear, u32 set)
>> +__intel_de_rmw(struct intel_display *display, i915_reg_t reg, u32 clear,
>> + u32 set)
>> {
>> - return intel_uncore_rmw(&i915->uncore, reg, clear, set);
>> + return intel_uncore_rmw(__to_uncore(display), reg, clear, set);
>> }
>> +#define intel_de_rmw(p,...) __intel_de_rmw(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline int
>> -intel_de_wait(struct drm_i915_private *i915, i915_reg_t reg,
>> - u32 mask, u32 value, unsigned int timeout)
>> +__intel_de_wait(struct intel_display *display, i915_reg_t reg,
>> + u32 mask, u32 value, unsigned int timeout)
>> {
>> - return intel_wait_for_register(&i915->uncore, reg, mask, value, timeout);
>> + return intel_wait_for_register(__to_uncore(display), reg, mask, value,
>> + timeout);
>> }
>> +#define intel_de_wait(p,...) __intel_de_wait(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline int
>> -intel_de_wait_fw(struct drm_i915_private *i915, i915_reg_t reg,
>> - u32 mask, u32 value, unsigned int timeout)
>> +__intel_de_wait_fw(struct intel_display *display, i915_reg_t reg,
>> + u32 mask, u32 value, unsigned int timeout)
>> {
>> - return intel_wait_for_register_fw(&i915->uncore, reg, mask, value, timeout);
>> + return intel_wait_for_register_fw(__to_uncore(display), reg, mask,
>> + value, timeout);
>> }
>> +#define intel_de_wait_fw(p,...) __intel_de_wait_fw(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline int
>> -intel_de_wait_custom(struct drm_i915_private *i915, i915_reg_t reg,
>> - u32 mask, u32 value,
>> - unsigned int fast_timeout_us,
>> - unsigned int slow_timeout_ms, u32 *out_value)
>> +__intel_de_wait_custom(struct intel_display *display, i915_reg_t reg,
>> + u32 mask, u32 value,
>> + unsigned int fast_timeout_us,
>> + unsigned int slow_timeout_ms, u32 *out_value)
>> {
>> - return __intel_wait_for_register(&i915->uncore, reg, mask, value,
>> + return __intel_wait_for_register(__to_uncore(display), reg, mask,
>> + value,
>> fast_timeout_us, slow_timeout_ms, out_value);
>> }
>> +#define intel_de_wait_custom(p,...) __intel_de_wait_custom(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline int
>> -intel_de_wait_for_set(struct drm_i915_private *i915, i915_reg_t reg,
>> - u32 mask, unsigned int timeout)
>> +__intel_de_wait_for_set(struct intel_display *display, i915_reg_t reg,
>> + u32 mask, unsigned int timeout)
>> {
>> - return intel_de_wait(i915, reg, mask, mask, timeout);
>> + return intel_de_wait(display, reg, mask, mask, timeout);
>> }
>> +#define intel_de_wait_for_set(p,...) __intel_de_wait_for_set(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline int
>> -intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
>> - u32 mask, unsigned int timeout)
>> +__intel_de_wait_for_clear(struct intel_display *display, i915_reg_t reg,
>> + u32 mask, unsigned int timeout)
>> {
>> - return intel_de_wait(i915, reg, mask, 0, timeout);
>> + return intel_de_wait(display, reg, mask, 0, timeout);
>> }
>> +#define intel_de_wait_for_clear(p,...) __intel_de_wait_for_clear(__to_intel_display(p), __VA_ARGS__)
>>
>> /*
>> * Unlocked mmio-accessors, think carefully before using these.
>> @@ -94,33 +115,38 @@ intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
>> * a more localised lock guarding all access to that bank of registers.
>> */
>> static inline u32
>> -intel_de_read_fw(struct drm_i915_private *i915, i915_reg_t reg)
>> +__intel_de_read_fw(struct intel_display *display, i915_reg_t reg)
>> {
>> u32 val;
>>
>> - val = intel_uncore_read_fw(&i915->uncore, reg);
>> + val = intel_uncore_read_fw(__to_uncore(display), reg);
>> trace_i915_reg_rw(false, reg, val, sizeof(val), true);
>>
>> return val;
>> }
>> +#define intel_de_read_fw(p,...) __intel_de_read_fw(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline void
>> -intel_de_write_fw(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
>> +__intel_de_write_fw(struct intel_display *display, i915_reg_t reg, u32 val)
>> {
>> trace_i915_reg_rw(true, reg, val, sizeof(val), true);
>> - intel_uncore_write_fw(&i915->uncore, reg, val);
>> + intel_uncore_write_fw(__to_uncore(display), reg, val);
>> }
>> +#define intel_de_write_fw(p,...) __intel_de_write_fw(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline u32
>> -intel_de_read_notrace(struct drm_i915_private *i915, i915_reg_t reg)
>> +__intel_de_read_notrace(struct intel_display *display, i915_reg_t reg)
>> {
>> - return intel_uncore_read_notrace(&i915->uncore, reg);
>> + return intel_uncore_read_notrace(__to_uncore(display), reg);
>> }
>> +#define intel_de_read_notrace(p,...) __intel_de_read_notrace(__to_intel_display(p), __VA_ARGS__)
>>
>> static inline void
>> -intel_de_write_notrace(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
>> +__intel_de_write_notrace(struct intel_display *display, i915_reg_t reg,
>> + u32 val)
>> {
>> - intel_uncore_write_notrace(&i915->uncore, reg, val);
>> + intel_uncore_write_notrace(__to_uncore(display), reg, val);
>> }
>> +#define intel_de_write_notrace(p,...) __intel_de_write_notrace(__to_intel_display(p), __VA_ARGS__)
>>
>> #endif /* __INTEL_DE_H__ */
>> --
>> 2.39.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2024-04-17 13:05 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-09 12:26 [PATCH v3 0/7] drm/i915: better high level abstraction for display Jani Nikula
2024-04-09 12:26 ` [PATCH v3 1/7] drm/i915/display: add intel_display -> drm_device backpointer Jani Nikula
2024-04-16 16:05 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 2/7] drm/i915/display: add generic to_intel_display() macro Jani Nikula
2024-04-16 16:06 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 3/7] drm/i915: add generic __to_intel_display() Jani Nikula
2024-04-16 16:08 ` Rodrigo Vivi
2024-04-09 12:26 ` [PATCH v3 4/7] drm/xe/display: " Jani Nikula
2024-04-16 16:10 ` Rodrigo Vivi
2024-04-17 9:53 ` Jani Nikula
2024-04-17 13:04 ` Jani Nikula
2024-04-09 12:26 ` [PATCH v3 5/7] drm/i915/display: accept either i915 or display for feature tests Jani Nikula
2024-04-16 16:14 ` Rodrigo Vivi
2024-04-17 13:05 ` Jani Nikula
2024-04-09 12:26 ` [PATCH v3 6/7] drm/i915/de: allow intel_display and drm_i915_private for de functions Jani Nikula
2024-04-16 16:16 ` Rodrigo Vivi
2024-04-17 13:05 ` Jani Nikula
2024-04-09 12:26 ` [PATCH v3 7/7] drm/i915/quirks: convert struct drm_i915_private to struct intel_display Jani Nikula
2024-04-16 16:17 ` Rodrigo Vivi
2024-04-09 15:40 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: better high level abstraction for display (rev2) Patchwork
2024-04-09 15:40 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-04-09 15:54 ` ✓ Fi.CI.BAT: success " Patchwork
2024-04-10 17:22 ` ✓ Fi.CI.IGT: " Patchwork
2024-04-16 16:24 ` [PATCH v3 0/7] drm/i915: better high level abstraction for display Rodrigo Vivi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox