* [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM>
@ 2024-06-18 14:22 Jani Nikula
2024-06-18 14:22 ` [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
` (9 more replies)
0 siblings, 10 replies; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
Long story short, we'll need to identify platforms in display code using
some other way than i915 core IS_<PLATFORM>() macros if we ever want to
make a strict separation between the display and non-display parts.
I tossed some ideas around (see the bottom of this mail), Lucas liked
something similar to what I have here. Essentially with this, you can
replace platform checks like IS_TIGERLAKE(i915) with
display->is.TIGERLAKE and subplatform checks like IS_RAPTORLAKE_S(i915)
with display->is.ALDERLAKE_S_RAPTORLAKE_S.
It would be possible to drop the ALDERLAKE_S or "parent" platform part
there, but I think it's useful in many cases to be explicit it's a
subplatform we're talking about.
It's also possible to convert all of this to lowercase if desired,
i.e. display->is.tigerlake and display->is.alderlake_s_raptorlake_s.
There's one more wrinkle I didn't address; currently IS_HASWELL_ULT()
and IS_BROADWELL_ULT() also match the ULX variants. This is not the case
here yet.
Thoughts?
BR,
Jani.
void foo(void)
{
/*
* Examples with a platform check (Tigerlake) and a subplatform check
* (Alderlake S subplatform Raptorlake S).
*/
/*
* is_<platform>(display). Same as i915 core, but lowercase.
*
* Pros:
* - Easy to convert
* - Short
*
* Cons:
* - Need to keep defining new macros for new platfoms and subplatforms
*/
if (is_tigerlake(display) || is_alderlake_s_raptorlake_s(display)) {
}
/*
* is_platform(display, <platform>) check.
*
* Alternatively is_plat() or is_display() or something else?
*
* Pros:
* - Can be made to handle both platforms and subplatforms by
* renumbering subplatforms enum
* - No need to define new macros for new platforms
*
* Cons:
* - A bit long
*/
if (is_platform(display, INTEL_DISPLAY_TIGERLAKE) ||
is_platform(display, INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S)) {
}
/*
* An is_platform() with a macro wrapper to abbreviate param.
*
* Pros:
* - Shorter
*
* Cons:
* - Throws off cscope and gnu global
*/
if (is_platform(display, TIGERLAKE) ||
is_platform(display, ALDERLAKE_S_RAPTORLAKE_S)) {
}
/*
* Functions to return platform/subplatforms.
*
* Pros:
* - No need to define new macros for new platforms
*
* Cons:
* - Long
* - Need separate checks for platform/subplatform
*/
if (intel_platform(display) == INTEL_DISPLAY_TIGERLAKE ||
intel_subplatform(display) == INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S) {
}
/*
* Initialize bitfields in display according to platform/subplatform
*
* Pros:
* - Really short
* - Does not pollute namespace with is_something
*
* Cons:
* - Pollutes top level struct intel_display
* - Kind of belongs in display device or runtime info, but that would
* again be too long to be helpful
*/
if (display->is_tigerlake || display->alderlake_s_raptorlake_s) {
}
}
Jani Nikula (6):
drm/i915/display: use a macro to initialize subplatforms
drm/i915/display: use a macro to define platform enumerations
drm/i915/display: join the platform and subplatform macros
drm/i915/display: add "display is" structure with platform members
drm/i915/display: add "is" member to struct intel_display
drm/i915/display: remove the display platform enum as unnecessary
.../gpu/drm/i915/display/intel_display_core.h | 3 +
.../drm/i915/display/intel_display_device.c | 79 ++++++---
.../drm/i915/display/intel_display_device.h | 165 +++++++++---------
3 files changed, 136 insertions(+), 111 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
@ 2024-06-18 14:22 ` Jani Nikula
2024-06-19 18:29 ` Rodrigo Vivi
2024-06-18 14:22 ` [PATCH 2/6] drm/i915/display: use a macro to define platform enumerations Jani Nikula
` (8 subsequent siblings)
9 siblings, 1 reply; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
Make it easier to change the underlying structures by using a macro
similar to PLATFORM() for initialization.
The subplatform names in debug logs change slightly as they now reflect
the enum rather than manually entered names. For example, RAPTORLAKE_S
rather than RPL-S.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_device.c | 44 ++++++++++---------
1 file changed, 24 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index dd7dce4b0e7a..d900c30907ac 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -26,6 +26,10 @@ struct subplatform_desc {
const u16 *pciidlist;
};
+#define SUBPLATFORM(_platform, _subplatform) \
+ .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
+ .name = #_subplatform
+
struct platform_desc {
enum intel_display_platform platform;
const char *name;
@@ -485,8 +489,8 @@ static const u16 hsw_ulx_ids[] = {
static const struct platform_desc hsw_desc = {
PLATFORM(HASWELL),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_HASWELL_ULT, "ULT", hsw_ult_ids },
- { INTEL_DISPLAY_HASWELL_ULX, "ULX", hsw_ulx_ids },
+ { SUBPLATFORM(HASWELL, ULT), .pciidlist = hsw_ult_ids },
+ { SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids },
{},
},
.info = &(const struct intel_display_device_info) {
@@ -529,8 +533,8 @@ static const u16 bdw_ulx_ids[] = {
static const struct platform_desc bdw_desc = {
PLATFORM(BROADWELL),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_BROADWELL_ULT, "ULT", bdw_ult_ids },
- { INTEL_DISPLAY_BROADWELL_ULX, "ULX", bdw_ulx_ids },
+ { SUBPLATFORM(BROADWELL, ULT), .pciidlist = bdw_ult_ids },
+ { SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
{},
},
.info = &(const struct intel_display_device_info) {
@@ -613,8 +617,8 @@ static const u16 skl_ulx_ids[] = {
static const struct platform_desc skl_desc = {
PLATFORM(SKYLAKE),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_SKYLAKE_ULT, "ULT", skl_ult_ids },
- { INTEL_DISPLAY_SKYLAKE_ULX, "ULX", skl_ulx_ids },
+ { SUBPLATFORM(SKYLAKE, ULT), .pciidlist = skl_ult_ids },
+ { SUBPLATFORM(SKYLAKE, ULX), .pciidlist = skl_ulx_ids },
{},
},
.info = &skl_display,
@@ -637,8 +641,8 @@ static const u16 kbl_ulx_ids[] = {
static const struct platform_desc kbl_desc = {
PLATFORM(KABYLAKE),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_KABYLAKE_ULT, "ULT", kbl_ult_ids },
- { INTEL_DISPLAY_KABYLAKE_ULX, "ULX", kbl_ulx_ids },
+ { SUBPLATFORM(KABYLAKE, ULT), .pciidlist = kbl_ult_ids },
+ { SUBPLATFORM(KABYLAKE, ULX), .pciidlist = kbl_ulx_ids },
{},
},
.info = &skl_display,
@@ -661,8 +665,8 @@ static const u16 cfl_ulx_ids[] = {
static const struct platform_desc cfl_desc = {
PLATFORM(COFFEELAKE),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_COFFEELAKE_ULT, "ULT", cfl_ult_ids },
- { INTEL_DISPLAY_COFFEELAKE_ULX, "ULX", cfl_ulx_ids },
+ { SUBPLATFORM(COFFEELAKE, ULT), .pciidlist = cfl_ult_ids },
+ { SUBPLATFORM(COFFEELAKE, ULX), .pciidlist = cfl_ulx_ids },
{},
},
.info = &skl_display,
@@ -677,7 +681,7 @@ static const u16 cml_ult_ids[] = {
static const struct platform_desc cml_desc = {
PLATFORM(COMETLAKE),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_COMETLAKE_ULT, "ULT", cml_ult_ids },
+ { SUBPLATFORM(COMETLAKE, ULT), .pciidlist = cml_ult_ids },
{},
},
.info = &skl_display,
@@ -776,7 +780,7 @@ static const u16 icl_port_f_ids[] = {
static const struct platform_desc icl_desc = {
PLATFORM(ICELAKE),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_ICELAKE_PORT_F, "Port F", icl_port_f_ids },
+ { SUBPLATFORM(ICELAKE, PORT_F), .pciidlist = icl_port_f_ids },
{},
},
.info = &(const struct intel_display_device_info) {
@@ -853,7 +857,7 @@ static const u16 tgl_uy_ids[] = {
static const struct platform_desc tgl_desc = {
PLATFORM(TIGERLAKE),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_TIGERLAKE_UY, "UY", tgl_uy_ids },
+ { SUBPLATFORM(TIGERLAKE, UY), .pciidlist = tgl_uy_ids },
{},
},
.info = &(const struct intel_display_device_info) {
@@ -902,7 +906,7 @@ static const u16 adls_rpls_ids[] = {
static const struct platform_desc adl_s_desc = {
PLATFORM(ALDERLAKE_S),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S, "RPL-S", adls_rpls_ids },
+ { SUBPLATFORM(ALDERLAKE_S, RAPTORLAKE_S), .pciidlist = adls_rpls_ids },
{},
},
.info = &(const struct intel_display_device_info) {
@@ -989,9 +993,9 @@ static const u16 adlp_rplp_ids[] = {
static const struct platform_desc adl_p_desc = {
PLATFORM(ALDERLAKE_P),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_ALDERLAKE_P_ALDERLAKE_N, "ADL-N", adlp_adln_ids },
- { INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_U, "RPL-U", adlp_rplu_ids },
- { INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_P, "RPL-P", adlp_rplp_ids },
+ { SUBPLATFORM(ALDERLAKE_P, ALDERLAKE_N), .pciidlist = adlp_adln_ids },
+ { SUBPLATFORM(ALDERLAKE_P, RAPTORLAKE_U), .pciidlist = adlp_rplu_ids },
+ { SUBPLATFORM(ALDERLAKE_P, RAPTORLAKE_P), .pciidlist = adlp_rplp_ids },
{},
},
.info = &xe_lpd_display,
@@ -1026,9 +1030,9 @@ static const u16 dg2_g12_ids[] = {
static const struct platform_desc dg2_desc = {
PLATFORM(DG2),
.subplatforms = (const struct subplatform_desc[]) {
- { INTEL_DISPLAY_DG2_G10, "G10", dg2_g10_ids },
- { INTEL_DISPLAY_DG2_G11, "G11", dg2_g11_ids },
- { INTEL_DISPLAY_DG2_G12, "G12", dg2_g12_ids },
+ { SUBPLATFORM(DG2, G10), .pciidlist = dg2_g10_ids },
+ { SUBPLATFORM(DG2, G11), .pciidlist = dg2_g11_ids },
+ { SUBPLATFORM(DG2, G12), .pciidlist = dg2_g12_ids },
{},
},
.info = &xe_hpd_display,
--
2.39.2
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 2/6] drm/i915/display: use a macro to define platform enumerations
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
2024-06-18 14:22 ` [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
@ 2024-06-18 14:22 ` Jani Nikula
2024-06-19 18:29 ` Rodrigo Vivi
2024-06-18 14:22 ` [PATCH 3/6] drm/i915/display: join the platform and subplatform macros Jani Nikula
` (7 subsequent siblings)
9 siblings, 1 reply; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
We'll be needing a macro based list of platforms for more things in the
future. Start by defining the platform enumerations with it.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_device.h | 115 ++++++++++--------
1 file changed, 61 insertions(+), 54 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 13453ea4daea..aca3dfd5e7af 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -15,63 +15,70 @@ struct drm_i915_private;
struct drm_printer;
/* Keep in gen based order, and chronological order within a gen */
+#define INTEL_DISPLAY_PLATFORMS(func) \
+ func(PLATFORM_UNINITIALIZED) \
+ /* Display ver 2 */ \
+ func(I830) \
+ func(I845G) \
+ func(I85X) \
+ func(I865G) \
+ /* Display ver 3 */ \
+ func(I915G) \
+ func(I915GM) \
+ func(I945G) \
+ func(I945GM) \
+ func(G33) \
+ func(PINEVIEW) \
+ /* Display ver 4 */ \
+ func(I965G) \
+ func(I965GM) \
+ func(G45) \
+ func(GM45) \
+ /* Display ver 5 */ \
+ func(IRONLAKE) \
+ /* Display ver 6 */ \
+ func(SANDYBRIDGE) \
+ /* Display ver 7 */ \
+ func(IVYBRIDGE) \
+ func(VALLEYVIEW) \
+ func(HASWELL) \
+ /* Display ver 8 */ \
+ func(BROADWELL) \
+ func(CHERRYVIEW) \
+ /* Display ver 9 */ \
+ func(SKYLAKE) \
+ func(BROXTON) \
+ func(KABYLAKE) \
+ func(GEMINILAKE) \
+ func(COFFEELAKE) \
+ func(COMETLAKE) \
+ /* Display ver 11 */ \
+ func(ICELAKE) \
+ func(JASPERLAKE) \
+ func(ELKHARTLAKE) \
+ /* Display ver 12 */ \
+ func(TIGERLAKE) \
+ func(ROCKETLAKE) \
+ func(DG1) \
+ func(ALDERLAKE_S) \
+ /* Display ver 13 */ \
+ func(ALDERLAKE_P) \
+ func(DG2) \
+ /* Display ver 14 (based on GMD ID) */ \
+ func(METEORLAKE) \
+ /* Display ver 20 (based on GMD ID) */ \
+ func(LUNARLAKE) \
+ /* Display ver 14.1 (based on GMD ID) */ \
+ func(BATTLEMAGE)
+
+#define ENUM(x) INTEL_DISPLAY_ ## x,
+
enum intel_display_platform {
- INTEL_DISPLAY_PLATFORM_UNINITIALIZED = 0,
- /* Display ver 2 */
- INTEL_DISPLAY_I830,
- INTEL_DISPLAY_I845G,
- INTEL_DISPLAY_I85X,
- INTEL_DISPLAY_I865G,
- /* Display ver 3 */
- INTEL_DISPLAY_I915G,
- INTEL_DISPLAY_I915GM,
- INTEL_DISPLAY_I945G,
- INTEL_DISPLAY_I945GM,
- INTEL_DISPLAY_G33,
- INTEL_DISPLAY_PINEVIEW,
- /* Display ver 4 */
- INTEL_DISPLAY_I965G,
- INTEL_DISPLAY_I965GM,
- INTEL_DISPLAY_G45,
- INTEL_DISPLAY_GM45,
- /* Display ver 5 */
- INTEL_DISPLAY_IRONLAKE,
- /* Display ver 6 */
- INTEL_DISPLAY_SANDYBRIDGE,
- /* Display ver 7 */
- INTEL_DISPLAY_IVYBRIDGE,
- INTEL_DISPLAY_VALLEYVIEW,
- INTEL_DISPLAY_HASWELL,
- /* Display ver 8 */
- INTEL_DISPLAY_BROADWELL,
- INTEL_DISPLAY_CHERRYVIEW,
- /* Display ver 9 */
- INTEL_DISPLAY_SKYLAKE,
- INTEL_DISPLAY_BROXTON,
- INTEL_DISPLAY_KABYLAKE,
- INTEL_DISPLAY_GEMINILAKE,
- INTEL_DISPLAY_COFFEELAKE,
- INTEL_DISPLAY_COMETLAKE,
- /* Display ver 11 */
- INTEL_DISPLAY_ICELAKE,
- INTEL_DISPLAY_JASPERLAKE,
- INTEL_DISPLAY_ELKHARTLAKE,
- /* Display ver 12 */
- INTEL_DISPLAY_TIGERLAKE,
- INTEL_DISPLAY_ROCKETLAKE,
- INTEL_DISPLAY_DG1,
- INTEL_DISPLAY_ALDERLAKE_S,
- /* Display ver 13 */
- INTEL_DISPLAY_ALDERLAKE_P,
- INTEL_DISPLAY_DG2,
- /* Display ver 14 (based on GMD ID) */
- INTEL_DISPLAY_METEORLAKE,
- /* Display ver 20 (based on GMD ID) */
- INTEL_DISPLAY_LUNARLAKE,
- /* Display ver 14.1 (based on GMD ID) */
- INTEL_DISPLAY_BATTLEMAGE,
+ INTEL_DISPLAY_PLATFORMS(ENUM)
};
+#undef ENUM
+
enum intel_display_subplatform {
INTEL_DISPLAY_SUBPLATFORM_UNINITIALIZED = 0,
INTEL_DISPLAY_HASWELL_ULT,
--
2.39.2
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 3/6] drm/i915/display: join the platform and subplatform macros
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
2024-06-18 14:22 ` [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
2024-06-18 14:22 ` [PATCH 2/6] drm/i915/display: use a macro to define platform enumerations Jani Nikula
@ 2024-06-18 14:22 ` Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
2024-06-18 14:22 ` [PATCH 4/6] drm/i915/display: add "display is" structure with platform members Jani Nikula
` (6 subsequent siblings)
9 siblings, 1 reply; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
We'll want to use the subplatforms similar to platforms.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_device.c | 2 +-
.../drm/i915/display/intel_display_device.h | 51 +++++++++----------
2 files changed, 25 insertions(+), 28 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index d900c30907ac..80563af7ac71 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -21,7 +21,7 @@ __diag_push();
__diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
struct subplatform_desc {
- enum intel_display_subplatform subplatform;
+ enum intel_display_platform subplatform;
const char *name;
const u16 *pciidlist;
};
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index aca3dfd5e7af..50485235ef09 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -69,7 +69,29 @@ struct drm_printer;
/* Display ver 20 (based on GMD ID) */ \
func(LUNARLAKE) \
/* Display ver 14.1 (based on GMD ID) */ \
- func(BATTLEMAGE)
+ func(BATTLEMAGE) \
+ /* Subplatforms */ \
+ func(HASWELL_ULT) \
+ func(HASWELL_ULX) \
+ func(BROADWELL_ULT) \
+ func(BROADWELL_ULX) \
+ func(SKYLAKE_ULT) \
+ func(SKYLAKE_ULX) \
+ func(KABYLAKE_ULT) \
+ func(KABYLAKE_ULX) \
+ func(COFFEELAKE_ULT) \
+ func(COFFEELAKE_ULX) \
+ func(COMETLAKE_ULT) \
+ func(COMETLAKE_ULX) \
+ func(ICELAKE_PORT_F) \
+ func(TIGERLAKE_UY) \
+ func(ALDERLAKE_S_RAPTORLAKE_S) \
+ func(ALDERLAKE_P_ALDERLAKE_N) \
+ func(ALDERLAKE_P_RAPTORLAKE_P) \
+ func(ALDERLAKE_P_RAPTORLAKE_U) \
+ func(DG2_G10) \
+ func(DG2_G11) \
+ func(DG2_G12)
#define ENUM(x) INTEL_DISPLAY_ ## x,
@@ -79,31 +101,6 @@ enum intel_display_platform {
#undef ENUM
-enum intel_display_subplatform {
- INTEL_DISPLAY_SUBPLATFORM_UNINITIALIZED = 0,
- INTEL_DISPLAY_HASWELL_ULT,
- INTEL_DISPLAY_HASWELL_ULX,
- INTEL_DISPLAY_BROADWELL_ULT,
- INTEL_DISPLAY_BROADWELL_ULX,
- INTEL_DISPLAY_SKYLAKE_ULT,
- INTEL_DISPLAY_SKYLAKE_ULX,
- INTEL_DISPLAY_KABYLAKE_ULT,
- INTEL_DISPLAY_KABYLAKE_ULX,
- INTEL_DISPLAY_COFFEELAKE_ULT,
- INTEL_DISPLAY_COFFEELAKE_ULX,
- INTEL_DISPLAY_COMETLAKE_ULT,
- INTEL_DISPLAY_COMETLAKE_ULX,
- INTEL_DISPLAY_ICELAKE_PORT_F,
- INTEL_DISPLAY_TIGERLAKE_UY,
- INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S,
- INTEL_DISPLAY_ALDERLAKE_P_ALDERLAKE_N,
- INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_P,
- INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_U,
- INTEL_DISPLAY_DG2_G10,
- INTEL_DISPLAY_DG2_G11,
- INTEL_DISPLAY_DG2_G12,
-};
-
#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
/* Keep in alphabetical order */ \
func(cursor_needs_physical); \
@@ -203,7 +200,7 @@ enum intel_display_subplatform {
struct intel_display_runtime_info {
enum intel_display_platform platform;
- enum intel_display_subplatform subplatform;
+ enum intel_display_platform subplatform;
struct intel_display_ip_ver {
u16 ver;
--
2.39.2
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 4/6] drm/i915/display: add "display is" structure with platform members
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (2 preceding siblings ...)
2024-06-18 14:22 ` [PATCH 3/6] drm/i915/display: join the platform and subplatform macros Jani Nikula
@ 2024-06-18 14:22 ` Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
2024-06-27 17:04 ` Lucas De Marchi
2024-06-18 14:22 ` [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display Jani Nikula
` (5 subsequent siblings)
9 siblings, 2 replies; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
Add a structure with a bitfield member for each platform and
subplatform, and initialize them in platform and subplatform descs.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_device.c | 8 ++++++--
drivers/gpu/drm/i915/display/intel_display_device.h | 8 ++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index 80563af7ac71..0c275d85bd30 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -21,6 +21,7 @@ __diag_push();
__diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
struct subplatform_desc {
+ struct intel_display_is is;
enum intel_display_platform subplatform;
const char *name;
const u16 *pciidlist;
@@ -28,9 +29,11 @@ struct subplatform_desc {
#define SUBPLATFORM(_platform, _subplatform) \
.subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
- .name = #_subplatform
+ .name = #_subplatform, \
+ .is._platform##_##_subplatform = 1
struct platform_desc {
+ struct intel_display_is is;
enum intel_display_platform platform;
const char *name;
const struct subplatform_desc *subplatforms;
@@ -39,7 +42,8 @@ struct platform_desc {
#define PLATFORM(_platform) \
.platform = (INTEL_DISPLAY_##_platform), \
- .name = #_platform
+ .name = #_platform, \
+ .is._platform = 1
#define ID(id) (id)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 50485235ef09..73070c8487ff 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -101,6 +101,14 @@ enum intel_display_platform {
#undef ENUM
+#define MEMBER(name) u32 name:1;
+
+struct intel_display_is {
+ INTEL_DISPLAY_PLATFORMS(MEMBER);
+};
+
+#undef MEMBER
+
#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
/* Keep in alphabetical order */ \
func(cursor_needs_physical); \
--
2.39.2
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (3 preceding siblings ...)
2024-06-18 14:22 ` [PATCH 4/6] drm/i915/display: add "display is" structure with platform members Jani Nikula
@ 2024-06-18 14:22 ` Jani Nikula
2024-06-19 18:36 ` Rodrigo Vivi
2024-06-27 17:06 ` Lucas De Marchi
2024-06-18 14:22 ` [PATCH 6/6] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
` (4 subsequent siblings)
9 siblings, 2 replies; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
Facilitate using display->is.HASWELL etc. for identifying platforms and
subplatforms. Merge platform and subplatform members together.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../gpu/drm/i915/display/intel_display_core.h | 3 +++
.../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 7715fc329057..35bea92893af 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -286,6 +286,9 @@ struct intel_display {
/* drm device backpointer */
struct drm_device *drm;
+ /* Platform identification */
+ struct intel_display_is is;
+
/* 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 0c275d85bd30..954caea38005 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
return NULL;
}
+static void mem_or(void *_dst, const void *_src, size_t size)
+{
+ const u8 *src = _src;
+ u8 *dst = _dst;
+ size_t i;
+
+ for (i = 0; i < size; i++)
+ dst[i] |= src[i];
+}
+
+static void merge_display_is(struct intel_display_is *dst,
+ const struct intel_display_is *src)
+{
+ mem_or(dst, src, sizeof(*dst));
+}
+
void intel_display_device_probe(struct drm_i915_private *i915)
{
+ struct intel_display *display = &i915->display;
struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
const struct intel_display_device_info *info;
struct intel_display_ip_ver ip_ver = {};
@@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
+ display->is = desc->is;
subdesc = find_subplatform_desc(pdev, desc);
if (subdesc) {
drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
+ merge_display_is(&display->is, &subdesc->is);
}
if (ip_ver.ver || ip_ver.rel || ip_ver.step)
--
2.39.2
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 6/6] drm/i915/display: remove the display platform enum as unnecessary
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (4 preceding siblings ...)
2024-06-18 14:22 ` [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display Jani Nikula
@ 2024-06-18 14:22 ` Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
2024-06-18 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> Patchwork
` (3 subsequent siblings)
9 siblings, 1 reply; 25+ messages in thread
From: Jani Nikula @ 2024-06-18 14:22 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, ville.syrjala, maarten.lankhorst,
lucas.demarchi
The display platform enums are not really needed for anything. Remove.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_device.c | 12 +++---------
drivers/gpu/drm/i915/display/intel_display_device.h | 11 -----------
2 files changed, 3 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index 954caea38005..6a71e7a8b686 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -22,26 +22,22 @@ __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for d
struct subplatform_desc {
struct intel_display_is is;
- enum intel_display_platform subplatform;
const char *name;
const u16 *pciidlist;
};
#define SUBPLATFORM(_platform, _subplatform) \
- .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
.name = #_subplatform, \
.is._platform##_##_subplatform = 1
struct platform_desc {
struct intel_display_is is;
- enum intel_display_platform platform;
const char *name;
const struct subplatform_desc *subplatforms;
const struct intel_display_device_info *info; /* NULL for GMD ID */
};
#define PLATFORM(_platform) \
- .platform = (INTEL_DISPLAY_##_platform), \
.name = #_platform, \
.is._platform = 1
@@ -1261,7 +1257,7 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
const struct subplatform_desc *sp;
const u16 *id;
- for (sp = desc->subplatforms; sp && sp->subplatform; sp++)
+ for (sp = desc->subplatforms; sp && sp->pciidlist; sp++)
for (id = sp->pciidlist; *id; id++)
if (*id == pdev->device)
return sp;
@@ -1323,14 +1319,12 @@ void intel_display_device_probe(struct drm_i915_private *i915)
&DISPLAY_INFO(i915)->__runtime_defaults,
sizeof(*DISPLAY_RUNTIME_INFO(i915)));
- drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
- DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
+ drm_WARN_ON(&i915->drm, !desc->name);
display->is = desc->is;
subdesc = find_subplatform_desc(pdev, desc);
if (subdesc) {
- drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
- DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
+ drm_WARN_ON(&i915->drm, !subdesc->name);
merge_display_is(&display->is, &subdesc->is);
}
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 73070c8487ff..97033d26c1b3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -93,14 +93,6 @@ struct drm_printer;
func(DG2_G11) \
func(DG2_G12)
-#define ENUM(x) INTEL_DISPLAY_ ## x,
-
-enum intel_display_platform {
- INTEL_DISPLAY_PLATFORMS(ENUM)
-};
-
-#undef ENUM
-
#define MEMBER(name) u32 name:1;
struct intel_display_is {
@@ -207,9 +199,6 @@ struct intel_display_is {
(DISPLAY_VER(i915) >= (from) && DISPLAY_VER(i915) <= (until))
struct intel_display_runtime_info {
- enum intel_display_platform platform;
- enum intel_display_platform subplatform;
-
struct intel_display_ip_ver {
u16 ver;
u16 rel;
--
2.39.2
^ permalink raw reply related [flat|nested] 25+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM>
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (5 preceding siblings ...)
2024-06-18 14:22 ` [PATCH 6/6] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
@ 2024-06-18 14:51 ` Patchwork
2024-06-18 14:51 ` ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2024-06-18 14:51 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM>
URL : https://patchwork.freedesktop.org/series/135016/
State : warning
== Summary ==
Error: dim checkpatch failed
818c210ecfa9 drm/i915/display: use a macro to initialize subplatforms
a05b0a6226d3 drm/i915/display: use a macro to define platform enumerations
-:19: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#19: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:18:
+#define INTEL_DISPLAY_PLATFORMS(func) \
+ func(PLATFORM_UNINITIALIZED) \
+ /* Display ver 2 */ \
+ func(I830) \
+ func(I845G) \
+ func(I85X) \
+ func(I865G) \
+ /* Display ver 3 */ \
+ func(I915G) \
+ func(I915GM) \
+ func(I945G) \
+ func(I945GM) \
+ func(G33) \
+ func(PINEVIEW) \
+ /* Display ver 4 */ \
+ func(I965G) \
+ func(I965GM) \
+ func(G45) \
+ func(GM45) \
+ /* Display ver 5 */ \
+ func(IRONLAKE) \
+ /* Display ver 6 */ \
+ func(SANDYBRIDGE) \
+ /* Display ver 7 */ \
+ func(IVYBRIDGE) \
+ func(VALLEYVIEW) \
+ func(HASWELL) \
+ /* Display ver 8 */ \
+ func(BROADWELL) \
+ func(CHERRYVIEW) \
+ /* Display ver 9 */ \
+ func(SKYLAKE) \
+ func(BROXTON) \
+ func(KABYLAKE) \
+ func(GEMINILAKE) \
+ func(COFFEELAKE) \
+ func(COMETLAKE) \
+ /* Display ver 11 */ \
+ func(ICELAKE) \
+ func(JASPERLAKE) \
+ func(ELKHARTLAKE) \
+ /* Display ver 12 */ \
+ func(TIGERLAKE) \
+ func(ROCKETLAKE) \
+ func(DG1) \
+ func(ALDERLAKE_S) \
+ /* Display ver 13 */ \
+ func(ALDERLAKE_P) \
+ func(DG2) \
+ /* Display ver 14 (based on GMD ID) */ \
+ func(METEORLAKE) \
+ /* Display ver 20 (based on GMD ID) */ \
+ func(LUNARLAKE) \
+ /* Display ver 14.1 (based on GMD ID) */ \
+ func(BATTLEMAGE)
-:19: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'func' - possible side-effects?
#19: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:18:
+#define INTEL_DISPLAY_PLATFORMS(func) \
+ func(PLATFORM_UNINITIALIZED) \
+ /* Display ver 2 */ \
+ func(I830) \
+ func(I845G) \
+ func(I85X) \
+ func(I865G) \
+ /* Display ver 3 */ \
+ func(I915G) \
+ func(I915GM) \
+ func(I945G) \
+ func(I945GM) \
+ func(G33) \
+ func(PINEVIEW) \
+ /* Display ver 4 */ \
+ func(I965G) \
+ func(I965GM) \
+ func(G45) \
+ func(GM45) \
+ /* Display ver 5 */ \
+ func(IRONLAKE) \
+ /* Display ver 6 */ \
+ func(SANDYBRIDGE) \
+ /* Display ver 7 */ \
+ func(IVYBRIDGE) \
+ func(VALLEYVIEW) \
+ func(HASWELL) \
+ /* Display ver 8 */ \
+ func(BROADWELL) \
+ func(CHERRYVIEW) \
+ /* Display ver 9 */ \
+ func(SKYLAKE) \
+ func(BROXTON) \
+ func(KABYLAKE) \
+ func(GEMINILAKE) \
+ func(COFFEELAKE) \
+ func(COMETLAKE) \
+ /* Display ver 11 */ \
+ func(ICELAKE) \
+ func(JASPERLAKE) \
+ func(ELKHARTLAKE) \
+ /* Display ver 12 */ \
+ func(TIGERLAKE) \
+ func(ROCKETLAKE) \
+ func(DG1) \
+ func(ALDERLAKE_S) \
+ /* Display ver 13 */ \
+ func(ALDERLAKE_P) \
+ func(DG2) \
+ /* Display ver 14 (based on GMD ID) */ \
+ func(METEORLAKE) \
+ /* Display ver 20 (based on GMD ID) */ \
+ func(LUNARLAKE) \
+ /* Display ver 14.1 (based on GMD ID) */ \
+ func(BATTLEMAGE)
total: 1 errors, 0 warnings, 1 checks, 124 lines checked
3ecc1b31fcac drm/i915/display: join the platform and subplatform macros
a9b4826c3a4e drm/i915/display: add "display is" structure with platform members
-:55: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#55: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:104:
+#define MEMBER(name) u32 name:1;
total: 0 errors, 1 warnings, 0 checks, 42 lines checked
45b24109e884 drm/i915/display: add "is" member to struct intel_display
a17a52dd3196 drm/i915/display: remove the display platform enum as unnecessary
^ permalink raw reply [flat|nested] 25+ messages in thread
* ✗ Fi.CI.SPARSE: warning for drm/i915/display: platform identification with display->is.<PLATFORM>
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (6 preceding siblings ...)
2024-06-18 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> Patchwork
@ 2024-06-18 14:51 ` Patchwork
2024-06-18 15:00 ` ✓ Fi.CI.BAT: success " Patchwork
2024-06-18 23:47 ` ✗ Fi.CI.IGT: failure " Patchwork
9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2024-06-18 14:51 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM>
URL : https://patchwork.freedesktop.org/series/135016/
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] 25+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/display: platform identification with display->is.<PLATFORM>
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (7 preceding siblings ...)
2024-06-18 14:51 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-06-18 15:00 ` Patchwork
2024-06-18 23:47 ` ✗ Fi.CI.IGT: failure " Patchwork
9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2024-06-18 15:00 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 9537 bytes --]
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM>
URL : https://patchwork.freedesktop.org/series/135016/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_14963 -> Patchwork_135016v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/index.html
Participating hosts (42 -> 41)
------------------------------
Additional (3): fi-cfl-8109u bat-mtlp-8 fi-elk-e7500
Missing (4): fi-kbl-7567u bat-kbl-2 fi-snb-2520m bat-mtlp-6
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_135016v1:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_rpm@module-reload:
- {bat-mtlp-9}: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/bat-mtlp-9/igt@i915_pm_rpm@module-reload.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-9/igt@i915_pm_rpm@module-reload.html
Known issues
------------
Here are the changes found in Patchwork_135016v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@debugfs_test@basic-hwmon:
- bat-mtlp-8: NOTRUN -> [SKIP][3] ([i915#9318])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html
* igt@gem_huc_copy@huc-copy:
- fi-cfl-8109u: NOTRUN -> [SKIP][4] ([i915#2190])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/fi-cfl-8109u/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@parallel-random-engines:
- bat-mtlp-8: NOTRUN -> [SKIP][5] ([i915#4613]) +3 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@verify-random:
- fi-cfl-8109u: NOTRUN -> [SKIP][6] ([i915#4613]) +3 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/fi-cfl-8109u/igt@gem_lmem_swapping@verify-random.html
* igt@gem_mmap@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][7] ([i915#4083])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@gem_mmap@basic.html
* igt@gem_render_tiled_blits@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][8] ([i915#4079]) +1 other test skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html
* igt@gem_tiled_fence_blits@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][9] ([i915#4077]) +2 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@gem_tiled_fence_blits@basic.html
* igt@i915_pm_rps@basic-api:
- bat-mtlp-8: NOTRUN -> [SKIP][10] ([i915#6621])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][11] ([i915#5190])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][12] ([i915#4212]) +8 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][13] ([i915#4213]) +1 other test skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_dsc@dsc-basic:
- fi-cfl-8109u: NOTRUN -> [SKIP][14] +11 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/fi-cfl-8109u/igt@kms_dsc@dsc-basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][15] ([i915#3555] / [i915#3840] / [i915#9159])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_dsc@dsc-basic.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-mtlp-8: NOTRUN -> [SKIP][16]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_force_connector_basic@prune-stale-modes:
- bat-mtlp-8: NOTRUN -> [SKIP][17] ([i915#5274])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_frontbuffer_tracking@basic:
- bat-arls-2: [PASS][18] -> [DMESG-WARN][19] ([i915#7507])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/bat-arls-2/igt@kms_frontbuffer_tracking@basic.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-arls-2/igt@kms_frontbuffer_tracking@basic.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-hdmi-a-1:
- fi-elk-e7500: NOTRUN -> [SKIP][20] +24 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/fi-elk-e7500/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-hdmi-a-1.html
* igt@kms_psr@psr-primary-mmap-gtt@edp-1:
- bat-mtlp-8: NOTRUN -> [SKIP][21] ([i915#4077] / [i915#9688])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-mtlp-8: NOTRUN -> [SKIP][22] ([i915#3555] / [i915#8809])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-read:
- bat-mtlp-8: NOTRUN -> [SKIP][23] ([i915#3708]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-gtt:
- bat-mtlp-8: NOTRUN -> [SKIP][24] ([i915#3708] / [i915#4077]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@prime_vgem@basic-gtt.html
* igt@prime_vgem@basic-write:
- bat-mtlp-8: NOTRUN -> [SKIP][25] ([i915#10216] / [i915#3708])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-8/igt@prime_vgem@basic-write.html
#### Possible fixes ####
* igt@core_hotunplug@unbind-rebind:
- {bat-mtlp-9}: [DMESG-WARN][26] ([i915#11009]) -> [PASS][27]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/bat-mtlp-9/igt@core_hotunplug@unbind-rebind.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/bat-mtlp-9/igt@core_hotunplug@unbind-rebind.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
[i915#10979]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10979
[i915#11009]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11009
[i915#180]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/180
[i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#7507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7507
[i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
[i915#9159]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9159
[i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
Build changes
-------------
* Linux: CI_DRM_14963 -> Patchwork_135016v1
CI-20190529: 20190529
CI_DRM_14963: 5a093f17293ae50283f19372263a7595ed50bc34 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7890: a137e386eba9f46f838315f5d93b87561691d45e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_135016v1: 5a093f17293ae50283f19372263a7595ed50bc34 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/index.html
[-- Attachment #2: Type: text/html, Size: 10883 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* ✗ Fi.CI.IGT: failure for drm/i915/display: platform identification with display->is.<PLATFORM>
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (8 preceding siblings ...)
2024-06-18 15:00 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-06-18 23:47 ` Patchwork
9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2024-06-18 23:47 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 73393 bytes --]
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM>
URL : https://patchwork.freedesktop.org/series/135016/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_14963_full -> Patchwork_135016v1_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_135016v1_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_135016v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_135016v1_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_schedule@wide@rcs0:
- shard-mtlp: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-mtlp-1/igt@gem_exec_schedule@wide@rcs0.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-mtlp-2/igt@gem_exec_schedule@wide@rcs0.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-dg2: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
Known issues
------------
Here are the changes found in Patchwork_135016v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@render-ccs:
- shard-dg2: NOTRUN -> [FAIL][5] ([i915#10380])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@api_intel_bb@render-ccs.html
* igt@device_reset@cold-reset-bound:
- shard-dg1: NOTRUN -> [SKIP][6] ([i915#11078])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@device_reset@cold-reset-bound.html
- shard-dg2: NOTRUN -> [SKIP][7] ([i915#11078])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@device_reset@cold-reset-bound.html
* igt@drm_fdinfo@busy@rcs0:
- shard-dg2: NOTRUN -> [SKIP][8] ([i915#8414]) +8 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@drm_fdinfo@busy@rcs0.html
* igt@drm_fdinfo@virtual-busy-hang-all:
- shard-dg1: NOTRUN -> [SKIP][9] ([i915#8414])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@drm_fdinfo@virtual-busy-hang-all.html
* igt@drm_fdinfo@virtual-idle:
- shard-rkl: NOTRUN -> [FAIL][10] ([i915#7742])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@drm_fdinfo@virtual-idle.html
* igt@gem_basic@multigpu-create-close:
- shard-dg1: NOTRUN -> [SKIP][11] ([i915#7697])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_basic@multigpu-create-close.html
- shard-dg2: NOTRUN -> [SKIP][12] ([i915#7697])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@block-multicopy-inplace:
- shard-tglu: NOTRUN -> [SKIP][13] ([i915#3555] / [i915#9323])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@gem_ccs@block-multicopy-inplace.html
* igt@gem_close_race@multigpu-basic-process:
- shard-rkl: NOTRUN -> [SKIP][14] ([i915#7697])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@gem_close_race@multigpu-basic-process.html
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-tglu: [PASS][15] -> [FAIL][16] ([i915#6268])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_ctx_persistence@heartbeat-hostile:
- shard-dg2: NOTRUN -> [SKIP][17] ([i915#8555]) +1 other test skip
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_ctx_persistence@heartbeat-hostile.html
- shard-dg1: NOTRUN -> [SKIP][18] ([i915#8555])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_ctx_persistence@heartbeat-hostile.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-dg2: NOTRUN -> [SKIP][19] ([i915#280]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_ctx_sseu@invalid-sseu.html
- shard-rkl: NOTRUN -> [SKIP][20] ([i915#280])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_exec_balancer@bonded-false-hang:
- shard-dg1: NOTRUN -> [SKIP][21] ([i915#4812]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_exec_balancer@bonded-false-hang.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-rkl: NOTRUN -> [SKIP][22] ([i915#4525])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@gem_exec_balancer@parallel-out-fence.html
* igt@gem_exec_fair@basic-deadline:
- shard-glk: NOTRUN -> [FAIL][23] ([i915#2846])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-glk7/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none:
- shard-dg1: NOTRUN -> [SKIP][24] ([i915#3539] / [i915#4852]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@gem_exec_fair@basic-none.html
- shard-dg2: NOTRUN -> [SKIP][25] ([i915#3539] / [i915#4852])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_exec_fair@basic-none.html
* igt@gem_exec_fair@basic-none-rrul@rcs0:
- shard-glk: NOTRUN -> [FAIL][26] ([i915#2842])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-glk3/igt@gem_exec_fair@basic-none-rrul@rcs0.html
* igt@gem_exec_fair@basic-pace:
- shard-dg2: NOTRUN -> [SKIP][27] ([i915#3539])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_exec_fair@basic-pace.html
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-rkl: NOTRUN -> [FAIL][28] ([i915#2842])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@gem_exec_fair@basic-throttle@rcs0.html
* igt@gem_exec_fence@submit3:
- shard-dg2: NOTRUN -> [SKIP][29] ([i915#4812]) +2 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_exec_fence@submit3.html
* igt@gem_exec_flush@basic-uc-prw-default:
- shard-dg1: NOTRUN -> [SKIP][30] ([i915#3539]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_exec_flush@basic-uc-prw-default.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- shard-dg1: NOTRUN -> [SKIP][31] ([i915#3281]) +7 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_exec_reloc@basic-wc:
- shard-dg2: NOTRUN -> [SKIP][32] ([i915#3281]) +10 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_exec_reloc@basic-wc.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- shard-rkl: NOTRUN -> [SKIP][33] ([i915#3281]) +8 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_exec_schedule@preempt-queue-chain:
- shard-dg2: NOTRUN -> [SKIP][34] ([i915#4537] / [i915#4812])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@gem_exec_schedule@preempt-queue-chain.html
* igt@gem_fence_thrash@bo-write-verify-none:
- shard-dg1: NOTRUN -> [SKIP][35] ([i915#4860])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@gem_fence_thrash@bo-write-verify-none.html
* igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible:
- shard-dg2: NOTRUN -> [SKIP][36] ([i915#4860]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible.html
* igt@gem_lmem_swapping@basic@lmem0:
- shard-dg2: [PASS][37] -> [FAIL][38] ([i915#10378])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-10/igt@gem_lmem_swapping@basic@lmem0.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-3/igt@gem_lmem_swapping@basic@lmem0.html
* igt@gem_lmem_swapping@heavy-verify-multi@lmem0:
- shard-dg1: NOTRUN -> [FAIL][39] ([i915#10378])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_lmem_swapping@heavy-verify-multi@lmem0.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-rkl: NOTRUN -> [SKIP][40] ([i915#4613]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_lmem_swapping@massive:
- shard-glk: NOTRUN -> [SKIP][41] ([i915#4613]) +1 other test skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-glk3/igt@gem_lmem_swapping@massive.html
* igt@gem_media_fill@media-fill:
- shard-dg2: NOTRUN -> [SKIP][42] ([i915#8289])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_media_fill@media-fill.html
* igt@gem_media_vme:
- shard-dg2: NOTRUN -> [SKIP][43] ([i915#284])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@gem_media_vme.html
- shard-rkl: NOTRUN -> [SKIP][44] ([i915#284])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@gem_media_vme.html
* igt@gem_mmap_gtt@hang:
- shard-dg2: NOTRUN -> [SKIP][45] ([i915#4077]) +16 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_mmap_gtt@hang.html
- shard-dg1: NOTRUN -> [SKIP][46] ([i915#4077]) +7 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@gem_mmap_gtt@hang.html
* igt@gem_mmap_wc@invalid-flags:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#4083]) +8 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_mmap_wc@invalid-flags.html
* igt@gem_mmap_wc@write-read:
- shard-dg1: NOTRUN -> [SKIP][48] ([i915#4083]) +2 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@gem_mmap_wc@write-read.html
* igt@gem_partial_pwrite_pread@reads:
- shard-dg2: NOTRUN -> [SKIP][49] ([i915#3282]) +2 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_partial_pwrite_pread@reads.html
* igt@gem_partial_pwrite_pread@write-uncached:
- shard-rkl: NOTRUN -> [SKIP][50] ([i915#3282]) +5 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@gem_partial_pwrite_pread@write-uncached.html
* igt@gem_pread@exhaustion:
- shard-dg1: NOTRUN -> [SKIP][51] ([i915#3282]) +2 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_pread@exhaustion.html
* igt@gem_pxp@display-protected-crc:
- shard-dg2: NOTRUN -> [SKIP][52] ([i915#4270]) +2 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_pxp@display-protected-crc.html
* igt@gem_pxp@protected-encrypted-src-copy-not-readible:
- shard-rkl: NOTRUN -> [SKIP][53] ([i915#4270]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html
* igt@gem_pxp@reject-modify-context-protection-off-2:
- shard-tglu: NOTRUN -> [SKIP][54] ([i915#4270]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@gem_pxp@reject-modify-context-protection-off-2.html
* igt@gem_pxp@verify-pxp-key-change-after-suspend-resume:
- shard-dg1: NOTRUN -> [SKIP][55] ([i915#4270]) +2 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][56] ([i915#5190] / [i915#8428]) +6 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-rkl: NOTRUN -> [SKIP][57] ([i915#8411])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_set_tiling_vs_gtt:
- shard-dg2: NOTRUN -> [SKIP][58] ([i915#4079])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_set_tiling_vs_gtt.html
* igt@gem_spin_batch@spin-all-new:
- shard-dg2: NOTRUN -> [FAIL][59] ([i915#5889])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@gem_spin_batch@spin-all-new.html
* igt@gem_tiled_pread_pwrite:
- shard-dg1: NOTRUN -> [SKIP][60] ([i915#4079]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_tiled_pread_pwrite.html
* igt@gem_userptr_blits@create-destroy-unsync:
- shard-dg2: NOTRUN -> [SKIP][61] ([i915#3297]) +1 other test skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_userptr_blits@create-destroy-unsync.html
- shard-rkl: NOTRUN -> [SKIP][62] ([i915#3297]) +3 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@gem_userptr_blits@create-destroy-unsync.html
* igt@gem_userptr_blits@map-fixed-invalidate:
- shard-dg1: NOTRUN -> [SKIP][63] ([i915#3297] / [i915#4880])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_userptr_blits@map-fixed-invalidate.html
* igt@gem_userptr_blits@readonly-unsync:
- shard-dg1: NOTRUN -> [SKIP][64] ([i915#3297])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@gem_userptr_blits@readonly-unsync.html
* igt@gem_userptr_blits@sd-probe:
- shard-dg2: NOTRUN -> [SKIP][65] ([i915#3297] / [i915#4958])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@gem_userptr_blits@sd-probe.html
* igt@gen9_exec_parse@bb-chained:
- shard-rkl: NOTRUN -> [SKIP][66] ([i915#2527]) +3 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@gen9_exec_parse@bb-chained.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-dg1: NOTRUN -> [SKIP][67] ([i915#2527]) +1 other test skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@gen9_exec_parse@bb-start-cmd.html
* igt@gen9_exec_parse@cmd-crossing-page:
- shard-tglu: NOTRUN -> [SKIP][68] ([i915#2527] / [i915#2856])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@gen9_exec_parse@cmd-crossing-page.html
* igt@gen9_exec_parse@valid-registers:
- shard-dg2: NOTRUN -> [SKIP][69] ([i915#2856]) +5 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@gen9_exec_parse@valid-registers.html
* igt@i915_module_load@load:
- shard-dg2: NOTRUN -> [SKIP][70] ([i915#6227])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@i915_module_load@load.html
- shard-rkl: NOTRUN -> [SKIP][71] ([i915#6227])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@i915_module_load@load.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-rkl: [PASS][72] -> [ABORT][73] ([i915#9820])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-rkl-2/igt@i915_module_load@reload-with-fault-injection.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-1/igt@i915_module_load@reload-with-fault-injection.html
- shard-dg1: [PASS][74] -> [ABORT][75] ([i915#9820])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg1-16/igt@i915_module_load@reload-with-fault-injection.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_freq_mult@media-freq@gt0:
- shard-dg1: NOTRUN -> [SKIP][76] ([i915#6590])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@i915_pm_freq_mult@media-freq@gt0.html
* igt@i915_pm_rps@min-max-config-loaded:
- shard-dg2: NOTRUN -> [SKIP][77] ([i915#6621])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@i915_pm_rps@min-max-config-loaded.html
* igt@i915_pm_rps@thresholds-idle-park@gt0:
- shard-dg1: NOTRUN -> [SKIP][78] ([i915#8925])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@i915_pm_rps@thresholds-idle-park@gt0.html
* igt@i915_selftest@mock@memory_region:
- shard-dg2: NOTRUN -> [DMESG-WARN][79] ([i915#9311])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@i915_selftest@mock@memory_region.html
- shard-rkl: NOTRUN -> [DMESG-WARN][80] ([i915#9311])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@i915_selftest@mock@memory_region.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-tglu: NOTRUN -> [INCOMPLETE][81] ([i915#7443])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@i915_suspend@basic-s3-without-i915.html
* igt@intel_hwmon@hwmon-read:
- shard-rkl: NOTRUN -> [SKIP][82] ([i915#7707])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@intel_hwmon@hwmon-read.html
* igt@intel_hwmon@hwmon-write:
- shard-tglu: NOTRUN -> [SKIP][83] ([i915#7707])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@intel_hwmon@hwmon-write.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- shard-dg2: NOTRUN -> [SKIP][84] ([i915#4212])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html
- shard-dg1: NOTRUN -> [SKIP][85] ([i915#4212])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-glk: NOTRUN -> [SKIP][86] ([i915#1769])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-glk3/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-rkl: NOTRUN -> [SKIP][87] ([i915#5286]) +4 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-180:
- shard-tglu: NOTRUN -> [SKIP][88] ([i915#5286]) +1 other test skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][89] ([i915#4538] / [i915#5286]) +3 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [PASS][90] -> [DMESG-FAIL][91] ([i915#2017])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-mtlp-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][92] ([i915#3638]) +2 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][93] ([i915#3638]) +1 other test skip
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][94] ([i915#4538] / [i915#5190]) +13 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-dg1: NOTRUN -> [SKIP][95] ([i915#4538]) +4 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_big_joiner@invalid-modeset-force-joiner:
- shard-dg2: NOTRUN -> [SKIP][96] ([i915#10656])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_big_joiner@invalid-modeset-force-joiner.html
- shard-rkl: NOTRUN -> [SKIP][97] ([i915#10656])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_big_joiner@invalid-modeset-force-joiner.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][98] ([i915#6095]) +3 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs:
- shard-dg2: NOTRUN -> [SKIP][99] ([i915#10278])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html
- shard-dg1: NOTRUN -> [SKIP][100] ([i915#10278])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc:
- shard-snb: NOTRUN -> [SKIP][101] +63 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb5/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][102] ([i915#6095]) +57 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][103] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][104] ([i915#6095]) +75 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-15/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-4.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][105] ([i915#10307] / [i915#6095]) +177 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc@pipe-c-hdmi-a-2:
- shard-glk: NOTRUN -> [SKIP][106] +115 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-glk3/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc@pipe-c-hdmi-a-2.html
* igt@kms_cdclk@mode-transition:
- shard-rkl: NOTRUN -> [SKIP][107] ([i915#3742])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-tglu: NOTRUN -> [SKIP][108] ([i915#3742])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][109] ([i915#7213]) +3 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-8/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1.html
* igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][110] ([i915#4087]) +3 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-1/igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3.html
* igt@kms_chamelium_frames@hdmi-frame-dump:
- shard-dg1: NOTRUN -> [SKIP][111] ([i915#7828]) +7 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_chamelium_frames@hdmi-frame-dump.html
* igt@kms_chamelium_frames@vga-frame-dump:
- shard-rkl: NOTRUN -> [SKIP][112] ([i915#7828]) +7 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_chamelium_frames@vga-frame-dump.html
* igt@kms_chamelium_hpd@dp-hpd-storm:
- shard-dg2: NOTRUN -> [SKIP][113] ([i915#7828]) +10 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_chamelium_hpd@dp-hpd-storm.html
* igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode:
- shard-tglu: NOTRUN -> [SKIP][114] ([i915#7828]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
* igt@kms_content_protection@atomic@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][115] ([i915#7173]) +1 other test timeout
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_content_protection@atomic@pipe-a-dp-4.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-rkl: NOTRUN -> [SKIP][116] ([i915#3116])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@uevent:
- shard-dg2: NOTRUN -> [SKIP][117] ([i915#7118] / [i915#9424])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_content_protection@uevent.html
- shard-rkl: NOTRUN -> [SKIP][118] ([i915#7118] / [i915#9424])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-dg2: NOTRUN -> [SKIP][119] ([i915#3359]) +1 other test skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_cursor_crc@cursor-random-512x170.html
- shard-dg1: NOTRUN -> [SKIP][120] ([i915#3359]) +1 other test skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-rkl: NOTRUN -> [SKIP][121] ([i915#3359]) +1 other test skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-rkl: NOTRUN -> [SKIP][122] ([i915#3555]) +4 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-dg2: NOTRUN -> [SKIP][123] ([i915#4103] / [i915#4213])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
- shard-dg2: NOTRUN -> [SKIP][124] ([i915#5354]) +34 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
- shard-snb: [PASS][125] -> [SKIP][126] +1 other test skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-snb6/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb5/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-dg2: NOTRUN -> [SKIP][127] ([i915#9067])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
- shard-dg1: NOTRUN -> [SKIP][128] ([i915#9067])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_display_modes@extended-mode-basic:
- shard-dg2: NOTRUN -> [SKIP][129] ([i915#3555]) +7 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-rkl: NOTRUN -> [SKIP][130] ([i915#8588])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-dg1: NOTRUN -> [SKIP][131] ([i915#3555]) +5 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][132] ([i915#3804])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev:
- shard-tglu: NOTRUN -> [SKIP][133] ([i915#1257])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_dp_aux_dev.html
* igt@kms_draw_crc@draw-method-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][134] ([i915#8812])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_draw_crc@draw-method-mmap-gtt.html
* igt@kms_dsc@dsc-with-bpc:
- shard-dg1: NOTRUN -> [SKIP][135] ([i915#3555] / [i915#3840])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_dsc@dsc-with-bpc.html
* igt@kms_dsc@dsc-with-formats:
- shard-dg2: NOTRUN -> [SKIP][136] ([i915#3555] / [i915#3840]) +1 other test skip
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_dsc@dsc-with-formats.html
- shard-rkl: NOTRUN -> [SKIP][137] ([i915#3555] / [i915#3840])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_dsc@dsc-with-formats.html
* igt@kms_fbcon_fbt@psr:
- shard-dg2: NOTRUN -> [SKIP][138] ([i915#3469])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_fbcon_fbt@psr.html
- shard-dg1: NOTRUN -> [SKIP][139] ([i915#3469])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_fbcon_fbt@psr.html
* igt@kms_feature_discovery@display-3x:
- shard-tglu: NOTRUN -> [SKIP][140] ([i915#1839])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@dp-mst:
- shard-dg2: NOTRUN -> [SKIP][141] ([i915#9337])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@kms_feature_discovery@dp-mst.html
- shard-rkl: NOTRUN -> [SKIP][142] ([i915#9337])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr2:
- shard-rkl: NOTRUN -> [SKIP][143] ([i915#658])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
- shard-tglu: NOTRUN -> [SKIP][144] ([i915#3637]) +4 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-rkl: NOTRUN -> [SKIP][145] +24 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-panning-vs-hang:
- shard-dg2: NOTRUN -> [SKIP][146] +24 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_flip@2x-flip-vs-panning-vs-hang.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-vga1-hdmi-a1:
- shard-snb: [PASS][147] -> [FAIL][148] ([i915#2122])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-snb7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-vga1-hdmi-a1.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-vga1-hdmi-a1.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-dg1: NOTRUN -> [SKIP][149] ([i915#9934]) +2 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][150] ([i915#2672]) +4 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@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][151] ([i915#2587] / [i915#2672]) +2 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][152] ([i915#2587] / [i915#2672]) +1 other test skip
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][153] ([i915#2672]) +3 other tests skip
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc:
- shard-dg2: NOTRUN -> [SKIP][154] ([i915#8708]) +21 other tests skip
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-dg1: NOTRUN -> [SKIP][155] +39 other tests skip
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][156] ([i915#8708]) +9 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite:
- shard-dg2: NOTRUN -> [SKIP][157] ([i915#3458]) +21 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][158] ([i915#3458]) +12 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][159] ([i915#3023]) +22 other tests skip
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-msflip-blt:
- shard-tglu: NOTRUN -> [SKIP][160] +17 other tests skip
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-dg2: NOTRUN -> [SKIP][161] ([i915#10055]) +1 other test skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-dg2: NOTRUN -> [SKIP][162] ([i915#10070])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
- shard-dg1: NOTRUN -> [SKIP][163] ([i915#10070])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][164] ([i915#1825]) +29 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-rkl: NOTRUN -> [SKIP][165] ([i915#3555] / [i915#8228])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg1: NOTRUN -> [SKIP][166] ([i915#3555] / [i915#8228])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg2: NOTRUN -> [SKIP][167] ([i915#3555] / [i915#8228]) +2 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-6/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-dg2: NOTRUN -> [SKIP][168] ([i915#4816])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][169] ([i915#9423]) +3 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-1/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-rotation@pipe-b-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][170] ([i915#9423]) +3 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-c-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][171] ([i915#9423]) +7 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-c-hdmi-a-4.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][172] ([i915#5176] / [i915#9423]) +1 other test skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][173] ([i915#9423]) +3 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][174] ([i915#5235]) +3 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d-hdmi-a-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][175] ([i915#5235]) +3 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c-hdmi-a-4.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][176] ([i915#5235]) +7 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][177] ([i915#5235] / [i915#9423]) +23 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-hdmi-a-1.html
* igt@kms_pm_dc@dc6-psr:
- shard-dg2: NOTRUN -> [SKIP][178] ([i915#9685]) +1 other test skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: NOTRUN -> [SKIP][179] ([i915#4281])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-dg2: NOTRUN -> [SKIP][180] ([i915#9340])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-tglu: NOTRUN -> [SKIP][181] ([i915#8430])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [PASS][182] -> [SKIP][183] ([i915#9519]) +1 other test skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-4/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
- shard-rkl: [PASS][184] -> [SKIP][185] ([i915#9519])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-rkl-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-dg2: NOTRUN -> [SKIP][186] ([i915#9519])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_pm_rpm@modeset-lpsp.html
- shard-dg1: NOTRUN -> [SKIP][187] ([i915#9519])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: NOTRUN -> [SKIP][188] ([i915#9519])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-tglu: NOTRUN -> [SKIP][189] ([i915#9519])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_prime@basic-crc-vgem:
- shard-dg2: NOTRUN -> [SKIP][190] ([i915#6524] / [i915#6805])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_prime@basic-crc-vgem.html
* igt@kms_prime@d3hot:
- shard-rkl: NOTRUN -> [SKIP][191] ([i915#6524])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_prime@d3hot.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-rkl: NOTRUN -> [SKIP][192] ([i915#9683])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-psr-cursor-blt:
- shard-dg2: NOTRUN -> [SKIP][193] ([i915#1072] / [i915#9732]) +18 other tests skip
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@kms_psr@fbc-psr-cursor-blt.html
* igt@kms_psr@fbc-psr-cursor-render:
- shard-tglu: NOTRUN -> [SKIP][194] ([i915#9732]) +4 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_psr@fbc-psr-cursor-render.html
* igt@kms_psr@fbc-psr-primary-render:
- shard-dg1: NOTRUN -> [SKIP][195] ([i915#1072] / [i915#9732]) +14 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_psr@fbc-psr-primary-render.html
* igt@kms_psr@psr2-primary-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][196] ([i915#1072] / [i915#9673] / [i915#9732]) +4 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_psr@psr2-primary-mmap-gtt.html
* igt@kms_psr@psr2-suspend:
- shard-rkl: NOTRUN -> [SKIP][197] ([i915#1072] / [i915#9732]) +20 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_psr@psr2-suspend.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-dg1: NOTRUN -> [SKIP][198] ([i915#9685]) +2 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-14/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-dg2: NOTRUN -> [SKIP][199] ([i915#5190]) +2 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][200] ([i915#5289]) +1 other test skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-dg2: NOTRUN -> [SKIP][201] ([i915#4235] / [i915#5190])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-dg2: NOTRUN -> [SKIP][202] ([i915#4235]) +1 other test skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg1: NOTRUN -> [SKIP][203] ([i915#8623])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_tiled_display@basic-test-pattern.html
- shard-dg2: NOTRUN -> [SKIP][204] ([i915#8623])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: NOTRUN -> [SKIP][205] ([i915#8623])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
- shard-mtlp: [PASS][206] -> [FAIL][207] ([i915#9196])
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-mtlp-7/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-mtlp-3/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1:
- shard-snb: [PASS][208] -> [FAIL][209] ([i915#9196])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-snb6/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-4:
- shard-dg1: [PASS][210] -> [FAIL][211] ([i915#9196])
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg1-17/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-4.html
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-4.html
* igt@kms_vrr@negative-basic:
- shard-rkl: NOTRUN -> [SKIP][212] ([i915#3555] / [i915#9906])
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-5/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-tglu: NOTRUN -> [SKIP][213] ([i915#9906])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-9/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-dg1: NOTRUN -> [SKIP][214] ([i915#2437] / [i915#9412])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@kms_writeback@writeback-fb-id:
- shard-rkl: NOTRUN -> [SKIP][215] ([i915#2437]) +1 other test skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@kms_writeback@writeback-fb-id.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-dg2: NOTRUN -> [SKIP][216] ([i915#2437])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@global-sseu-config:
- shard-dg2: NOTRUN -> [SKIP][217] ([i915#7387])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@perf@global-sseu-config.html
* igt@perf@mi-rpc:
- shard-dg1: NOTRUN -> [SKIP][218] ([i915#2434])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-16/igt@perf@mi-rpc.html
* igt@perf_pmu@busy-double-start@vecs1:
- shard-dg2: [PASS][219] -> [FAIL][220] ([i915#4349]) +3 other tests fail
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@perf_pmu@busy-double-start@vecs1.html
* igt@perf_pmu@cpu-hotplug:
- shard-dg1: NOTRUN -> [SKIP][221] ([i915#8850])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@perf_pmu@cpu-hotplug.html
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- shard-dg2: NOTRUN -> [CRASH][222] ([i915#9351])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-5/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
* igt@prime_vgem@basic-fence-flip:
- shard-dg2: NOTRUN -> [SKIP][223] ([i915#3708])
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-mmap:
- shard-dg2: NOTRUN -> [SKIP][224] ([i915#3708] / [i915#4077])
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-write:
- shard-dg2: NOTRUN -> [SKIP][225] ([i915#3291] / [i915#3708]) +1 other test skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@prime_vgem@basic-write.html
* igt@prime_vgem@fence-flip-hang:
- shard-dg1: NOTRUN -> [SKIP][226] ([i915#3708]) +1 other test skip
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@prime_vgem@fence-flip-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-dg2: NOTRUN -> [SKIP][227] ([i915#9917]) +1 other test skip
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@sriov_basic@enable-vfs-autoprobe-on.html
- shard-rkl: NOTRUN -> [SKIP][228] ([i915#9917])
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@syncobj_timeline@invalid-wait-zero-handles:
- shard-rkl: NOTRUN -> [FAIL][229] ([i915#9781])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-4/igt@syncobj_timeline@invalid-wait-zero-handles.html
* igt@syncobj_wait@invalid-wait-zero-handles:
- shard-snb: NOTRUN -> [FAIL][230] ([i915#9781])
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb5/igt@syncobj_wait@invalid-wait-zero-handles.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-check-all@rcs0:
- shard-rkl: [FAIL][231] ([i915#7742]) -> [PASS][232]
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-rkl-1/igt@drm_fdinfo@most-busy-check-all@rcs0.html
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@drm_fdinfo@most-busy-check-all@rcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglu: [FAIL][233] ([i915#2842]) -> [PASS][234]
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-tglu-8/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-rkl: [FAIL][235] ([i915#2842]) -> [PASS][236]
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-rkl-1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-rkl-6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_suspend@basic-s4-devices@lmem0:
- shard-dg2: [ABORT][237] ([i915#7975] / [i915#8213]) -> [PASS][238]
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-8/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0:
- shard-dg2: [FAIL][239] ([i915#10378]) -> [PASS][240] +1 other test pass
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-8/igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0.html
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-7/igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-snb: [ABORT][241] ([i915#9820]) -> [PASS][242]
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-snb2/igt@i915_module_load@reload-with-fault-injection.html
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb5/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-c-edp-1:
- shard-mtlp: [FAIL][243] ([i915#10991]) -> [PASS][244]
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-mtlp-5/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-edp-1.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-mtlp-1/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-edp-1.html
* igt@kms_flip@plain-flip-ts-check@b-vga1:
- shard-snb: [FAIL][245] ([i915#2122]) -> [PASS][246] +1 other test pass
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-snb7/igt@kms_flip@plain-flip-ts-check@b-vga1.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb4/igt@kms_flip@plain-flip-ts-check@b-vga1.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
- shard-dg2: [FAIL][247] ([i915#6880]) -> [PASS][248]
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite:
- shard-snb: [SKIP][249] -> [PASS][250] +1 other test pass
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite.html
#### Warnings ####
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [TIMEOUT][251] ([i915#5493]) -> [CRASH][252] ([i915#5493])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-1/igt@gem_lmem_swapping@smem-oom@lmem0.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-8/igt@gem_lmem_swapping@smem-oom@lmem0.html
- shard-dg1: [TIMEOUT][253] ([i915#5493]) -> [CRASH][254] ([i915#5493])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg1-17/igt@gem_lmem_swapping@smem-oom@lmem0.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg1-18/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-mtlp: [ABORT][255] ([i915#10131] / [i915#10887] / [i915#9820]) -> [ABORT][256] ([i915#10131] / [i915#9697])
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-mtlp-7/igt@i915_module_load@reload-with-fault-injection.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-mtlp-6/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-dg2: [SKIP][257] ([i915#10433] / [i915#3458]) -> [SKIP][258] ([i915#3458]) +2 other tests skip
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_psr@fbc-pr-sprite-blt:
- shard-dg2: [SKIP][259] ([i915#1072] / [i915#9673] / [i915#9732]) -> [SKIP][260] ([i915#1072] / [i915#9732]) +12 other tests skip
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-11/igt@kms_psr@fbc-pr-sprite-blt.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-1/igt@kms_psr@fbc-pr-sprite-blt.html
* igt@kms_psr@psr-cursor-render:
- shard-dg2: [SKIP][261] ([i915#1072] / [i915#9732]) -> [SKIP][262] ([i915#1072] / [i915#9673] / [i915#9732]) +10 other tests skip
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14963/shard-dg2-8/igt@kms_psr@psr-cursor-render.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v1/shard-dg2-11/igt@kms_psr@psr-cursor-render.html
[i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
[i915#10070]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10070
[i915#10131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10131
[i915#10278]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10278
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10378]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10378
[i915#10380]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10380
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10887
[i915#10991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10991
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#2017]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2017
[i915#2122]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2122
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
[i915#2842]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2846
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3359]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4087
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4235
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
[i915#4958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4958
[i915#5176]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5176
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
[i915#5889]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5889
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6227]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6227
[i915#6268]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6268
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
[i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7213
[i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
[i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
[i915#7742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
[i915#8213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8289
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8588]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8588
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
[i915#8850]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8850
[i915#8925]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8925
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9196
[i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9351]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9351
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
[i915#9673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9673
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9697
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9781
[i915#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_14963 -> Patchwork_135016v1
* Piglit: None -> piglit_4509
CI-20190529: 20190529
CI_DRM_14963: 5a093f17293ae50283f19372263a7595ed50bc34 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7890: a137e386eba9f46f838315f5d93b87561691d45e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_135016v1: 5a093f17293ae50283f19372263a7595ed50bc34 @ 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_135016v1/index.html
[-- Attachment #2: Type: text/html, Size: 89931 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms
2024-06-18 14:22 ` [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
@ 2024-06-19 18:29 ` Rodrigo Vivi
0 siblings, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-19 18:29 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Tue, Jun 18, 2024 at 05:22:51PM +0300, Jani Nikula wrote:
> Make it easier to change the underlying structures by using a macro
> similar to PLATFORM() for initialization.
>
> The subplatform names in debug logs change slightly as they now reflect
> the enum rather than manually entered names. For example, RAPTORLAKE_S
> rather than RPL-S.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_device.c | 44 ++++++++++---------
> 1 file changed, 24 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index dd7dce4b0e7a..d900c30907ac 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -26,6 +26,10 @@ struct subplatform_desc {
> const u16 *pciidlist;
> };
>
> +#define SUBPLATFORM(_platform, _subplatform) \
> + .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
> + .name = #_subplatform
> +
> struct platform_desc {
> enum intel_display_platform platform;
> const char *name;
> @@ -485,8 +489,8 @@ static const u16 hsw_ulx_ids[] = {
> static const struct platform_desc hsw_desc = {
> PLATFORM(HASWELL),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_HASWELL_ULT, "ULT", hsw_ult_ids },
> - { INTEL_DISPLAY_HASWELL_ULX, "ULX", hsw_ulx_ids },
> + { SUBPLATFORM(HASWELL, ULT), .pciidlist = hsw_ult_ids },
> + { SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> @@ -529,8 +533,8 @@ static const u16 bdw_ulx_ids[] = {
> static const struct platform_desc bdw_desc = {
> PLATFORM(BROADWELL),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_BROADWELL_ULT, "ULT", bdw_ult_ids },
> - { INTEL_DISPLAY_BROADWELL_ULX, "ULX", bdw_ulx_ids },
> + { SUBPLATFORM(BROADWELL, ULT), .pciidlist = bdw_ult_ids },
> + { SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> @@ -613,8 +617,8 @@ static const u16 skl_ulx_ids[] = {
> static const struct platform_desc skl_desc = {
> PLATFORM(SKYLAKE),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_SKYLAKE_ULT, "ULT", skl_ult_ids },
> - { INTEL_DISPLAY_SKYLAKE_ULX, "ULX", skl_ulx_ids },
> + { SUBPLATFORM(SKYLAKE, ULT), .pciidlist = skl_ult_ids },
> + { SUBPLATFORM(SKYLAKE, ULX), .pciidlist = skl_ulx_ids },
> {},
> },
> .info = &skl_display,
> @@ -637,8 +641,8 @@ static const u16 kbl_ulx_ids[] = {
> static const struct platform_desc kbl_desc = {
> PLATFORM(KABYLAKE),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_KABYLAKE_ULT, "ULT", kbl_ult_ids },
> - { INTEL_DISPLAY_KABYLAKE_ULX, "ULX", kbl_ulx_ids },
> + { SUBPLATFORM(KABYLAKE, ULT), .pciidlist = kbl_ult_ids },
> + { SUBPLATFORM(KABYLAKE, ULX), .pciidlist = kbl_ulx_ids },
> {},
> },
> .info = &skl_display,
> @@ -661,8 +665,8 @@ static const u16 cfl_ulx_ids[] = {
> static const struct platform_desc cfl_desc = {
> PLATFORM(COFFEELAKE),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_COFFEELAKE_ULT, "ULT", cfl_ult_ids },
> - { INTEL_DISPLAY_COFFEELAKE_ULX, "ULX", cfl_ulx_ids },
> + { SUBPLATFORM(COFFEELAKE, ULT), .pciidlist = cfl_ult_ids },
> + { SUBPLATFORM(COFFEELAKE, ULX), .pciidlist = cfl_ulx_ids },
> {},
> },
> .info = &skl_display,
> @@ -677,7 +681,7 @@ static const u16 cml_ult_ids[] = {
> static const struct platform_desc cml_desc = {
> PLATFORM(COMETLAKE),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_COMETLAKE_ULT, "ULT", cml_ult_ids },
> + { SUBPLATFORM(COMETLAKE, ULT), .pciidlist = cml_ult_ids },
> {},
> },
> .info = &skl_display,
> @@ -776,7 +780,7 @@ static const u16 icl_port_f_ids[] = {
> static const struct platform_desc icl_desc = {
> PLATFORM(ICELAKE),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_ICELAKE_PORT_F, "Port F", icl_port_f_ids },
> + { SUBPLATFORM(ICELAKE, PORT_F), .pciidlist = icl_port_f_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> @@ -853,7 +857,7 @@ static const u16 tgl_uy_ids[] = {
> static const struct platform_desc tgl_desc = {
> PLATFORM(TIGERLAKE),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_TIGERLAKE_UY, "UY", tgl_uy_ids },
> + { SUBPLATFORM(TIGERLAKE, UY), .pciidlist = tgl_uy_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> @@ -902,7 +906,7 @@ static const u16 adls_rpls_ids[] = {
> static const struct platform_desc adl_s_desc = {
> PLATFORM(ALDERLAKE_S),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S, "RPL-S", adls_rpls_ids },
> + { SUBPLATFORM(ALDERLAKE_S, RAPTORLAKE_S), .pciidlist = adls_rpls_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> @@ -989,9 +993,9 @@ static const u16 adlp_rplp_ids[] = {
> static const struct platform_desc adl_p_desc = {
> PLATFORM(ALDERLAKE_P),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_ALDERLAKE_P_ALDERLAKE_N, "ADL-N", adlp_adln_ids },
> - { INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_U, "RPL-U", adlp_rplu_ids },
> - { INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_P, "RPL-P", adlp_rplp_ids },
> + { SUBPLATFORM(ALDERLAKE_P, ALDERLAKE_N), .pciidlist = adlp_adln_ids },
> + { SUBPLATFORM(ALDERLAKE_P, RAPTORLAKE_U), .pciidlist = adlp_rplu_ids },
> + { SUBPLATFORM(ALDERLAKE_P, RAPTORLAKE_P), .pciidlist = adlp_rplp_ids },
> {},
> },
> .info = &xe_lpd_display,
> @@ -1026,9 +1030,9 @@ static const u16 dg2_g12_ids[] = {
> static const struct platform_desc dg2_desc = {
> PLATFORM(DG2),
> .subplatforms = (const struct subplatform_desc[]) {
> - { INTEL_DISPLAY_DG2_G10, "G10", dg2_g10_ids },
> - { INTEL_DISPLAY_DG2_G11, "G11", dg2_g11_ids },
> - { INTEL_DISPLAY_DG2_G12, "G12", dg2_g12_ids },
> + { SUBPLATFORM(DG2, G10), .pciidlist = dg2_g10_ids },
> + { SUBPLATFORM(DG2, G11), .pciidlist = dg2_g11_ids },
> + { SUBPLATFORM(DG2, G12), .pciidlist = dg2_g12_ids },
> {},
> },
> .info = &xe_hpd_display,
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 2/6] drm/i915/display: use a macro to define platform enumerations
2024-06-18 14:22 ` [PATCH 2/6] drm/i915/display: use a macro to define platform enumerations Jani Nikula
@ 2024-06-19 18:29 ` Rodrigo Vivi
0 siblings, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-19 18:29 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Tue, Jun 18, 2024 at 05:22:52PM +0300, Jani Nikula wrote:
> We'll be needing a macro based list of platforms for more things in the
> future. Start by defining the platform enumerations with it.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_device.h | 115 ++++++++++--------
> 1 file changed, 61 insertions(+), 54 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 13453ea4daea..aca3dfd5e7af 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -15,63 +15,70 @@ struct drm_i915_private;
> struct drm_printer;
>
> /* Keep in gen based order, and chronological order within a gen */
> +#define INTEL_DISPLAY_PLATFORMS(func) \
> + func(PLATFORM_UNINITIALIZED) \
> + /* Display ver 2 */ \
> + func(I830) \
> + func(I845G) \
> + func(I85X) \
> + func(I865G) \
> + /* Display ver 3 */ \
> + func(I915G) \
> + func(I915GM) \
> + func(I945G) \
> + func(I945GM) \
> + func(G33) \
> + func(PINEVIEW) \
> + /* Display ver 4 */ \
> + func(I965G) \
> + func(I965GM) \
> + func(G45) \
> + func(GM45) \
> + /* Display ver 5 */ \
> + func(IRONLAKE) \
> + /* Display ver 6 */ \
> + func(SANDYBRIDGE) \
> + /* Display ver 7 */ \
> + func(IVYBRIDGE) \
> + func(VALLEYVIEW) \
> + func(HASWELL) \
> + /* Display ver 8 */ \
> + func(BROADWELL) \
> + func(CHERRYVIEW) \
> + /* Display ver 9 */ \
> + func(SKYLAKE) \
> + func(BROXTON) \
> + func(KABYLAKE) \
> + func(GEMINILAKE) \
> + func(COFFEELAKE) \
> + func(COMETLAKE) \
> + /* Display ver 11 */ \
> + func(ICELAKE) \
> + func(JASPERLAKE) \
> + func(ELKHARTLAKE) \
> + /* Display ver 12 */ \
> + func(TIGERLAKE) \
> + func(ROCKETLAKE) \
> + func(DG1) \
> + func(ALDERLAKE_S) \
> + /* Display ver 13 */ \
> + func(ALDERLAKE_P) \
> + func(DG2) \
> + /* Display ver 14 (based on GMD ID) */ \
> + func(METEORLAKE) \
> + /* Display ver 20 (based on GMD ID) */ \
> + func(LUNARLAKE) \
> + /* Display ver 14.1 (based on GMD ID) */ \
> + func(BATTLEMAGE)
> +
> +#define ENUM(x) INTEL_DISPLAY_ ## x,
> +
> enum intel_display_platform {
> - INTEL_DISPLAY_PLATFORM_UNINITIALIZED = 0,
> - /* Display ver 2 */
> - INTEL_DISPLAY_I830,
> - INTEL_DISPLAY_I845G,
> - INTEL_DISPLAY_I85X,
> - INTEL_DISPLAY_I865G,
> - /* Display ver 3 */
> - INTEL_DISPLAY_I915G,
> - INTEL_DISPLAY_I915GM,
> - INTEL_DISPLAY_I945G,
> - INTEL_DISPLAY_I945GM,
> - INTEL_DISPLAY_G33,
> - INTEL_DISPLAY_PINEVIEW,
> - /* Display ver 4 */
> - INTEL_DISPLAY_I965G,
> - INTEL_DISPLAY_I965GM,
> - INTEL_DISPLAY_G45,
> - INTEL_DISPLAY_GM45,
> - /* Display ver 5 */
> - INTEL_DISPLAY_IRONLAKE,
> - /* Display ver 6 */
> - INTEL_DISPLAY_SANDYBRIDGE,
> - /* Display ver 7 */
> - INTEL_DISPLAY_IVYBRIDGE,
> - INTEL_DISPLAY_VALLEYVIEW,
> - INTEL_DISPLAY_HASWELL,
> - /* Display ver 8 */
> - INTEL_DISPLAY_BROADWELL,
> - INTEL_DISPLAY_CHERRYVIEW,
> - /* Display ver 9 */
> - INTEL_DISPLAY_SKYLAKE,
> - INTEL_DISPLAY_BROXTON,
> - INTEL_DISPLAY_KABYLAKE,
> - INTEL_DISPLAY_GEMINILAKE,
> - INTEL_DISPLAY_COFFEELAKE,
> - INTEL_DISPLAY_COMETLAKE,
> - /* Display ver 11 */
> - INTEL_DISPLAY_ICELAKE,
> - INTEL_DISPLAY_JASPERLAKE,
> - INTEL_DISPLAY_ELKHARTLAKE,
> - /* Display ver 12 */
> - INTEL_DISPLAY_TIGERLAKE,
> - INTEL_DISPLAY_ROCKETLAKE,
> - INTEL_DISPLAY_DG1,
> - INTEL_DISPLAY_ALDERLAKE_S,
> - /* Display ver 13 */
> - INTEL_DISPLAY_ALDERLAKE_P,
> - INTEL_DISPLAY_DG2,
> - /* Display ver 14 (based on GMD ID) */
> - INTEL_DISPLAY_METEORLAKE,
> - /* Display ver 20 (based on GMD ID) */
> - INTEL_DISPLAY_LUNARLAKE,
> - /* Display ver 14.1 (based on GMD ID) */
> - INTEL_DISPLAY_BATTLEMAGE,
> + INTEL_DISPLAY_PLATFORMS(ENUM)
> };
>
> +#undef ENUM
> +
> enum intel_display_subplatform {
> INTEL_DISPLAY_SUBPLATFORM_UNINITIALIZED = 0,
> INTEL_DISPLAY_HASWELL_ULT,
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 3/6] drm/i915/display: join the platform and subplatform macros
2024-06-18 14:22 ` [PATCH 3/6] drm/i915/display: join the platform and subplatform macros Jani Nikula
@ 2024-06-19 18:30 ` Rodrigo Vivi
0 siblings, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-19 18:30 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Tue, Jun 18, 2024 at 05:22:53PM +0300, Jani Nikula wrote:
> We'll want to use the subplatforms similar to platforms.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_device.c | 2 +-
> .../drm/i915/display/intel_display_device.h | 51 +++++++++----------
> 2 files changed, 25 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index d900c30907ac..80563af7ac71 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -21,7 +21,7 @@ __diag_push();
> __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
>
> struct subplatform_desc {
> - enum intel_display_subplatform subplatform;
> + enum intel_display_platform subplatform;
> const char *name;
> const u16 *pciidlist;
> };
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index aca3dfd5e7af..50485235ef09 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -69,7 +69,29 @@ struct drm_printer;
> /* Display ver 20 (based on GMD ID) */ \
> func(LUNARLAKE) \
> /* Display ver 14.1 (based on GMD ID) */ \
> - func(BATTLEMAGE)
> + func(BATTLEMAGE) \
> + /* Subplatforms */ \
> + func(HASWELL_ULT) \
> + func(HASWELL_ULX) \
> + func(BROADWELL_ULT) \
> + func(BROADWELL_ULX) \
> + func(SKYLAKE_ULT) \
> + func(SKYLAKE_ULX) \
> + func(KABYLAKE_ULT) \
> + func(KABYLAKE_ULX) \
> + func(COFFEELAKE_ULT) \
> + func(COFFEELAKE_ULX) \
> + func(COMETLAKE_ULT) \
> + func(COMETLAKE_ULX) \
> + func(ICELAKE_PORT_F) \
> + func(TIGERLAKE_UY) \
> + func(ALDERLAKE_S_RAPTORLAKE_S) \
> + func(ALDERLAKE_P_ALDERLAKE_N) \
> + func(ALDERLAKE_P_RAPTORLAKE_P) \
> + func(ALDERLAKE_P_RAPTORLAKE_U) \
> + func(DG2_G10) \
> + func(DG2_G11) \
> + func(DG2_G12)
>
> #define ENUM(x) INTEL_DISPLAY_ ## x,
>
> @@ -79,31 +101,6 @@ enum intel_display_platform {
>
> #undef ENUM
>
> -enum intel_display_subplatform {
> - INTEL_DISPLAY_SUBPLATFORM_UNINITIALIZED = 0,
> - INTEL_DISPLAY_HASWELL_ULT,
> - INTEL_DISPLAY_HASWELL_ULX,
> - INTEL_DISPLAY_BROADWELL_ULT,
> - INTEL_DISPLAY_BROADWELL_ULX,
> - INTEL_DISPLAY_SKYLAKE_ULT,
> - INTEL_DISPLAY_SKYLAKE_ULX,
> - INTEL_DISPLAY_KABYLAKE_ULT,
> - INTEL_DISPLAY_KABYLAKE_ULX,
> - INTEL_DISPLAY_COFFEELAKE_ULT,
> - INTEL_DISPLAY_COFFEELAKE_ULX,
> - INTEL_DISPLAY_COMETLAKE_ULT,
> - INTEL_DISPLAY_COMETLAKE_ULX,
> - INTEL_DISPLAY_ICELAKE_PORT_F,
> - INTEL_DISPLAY_TIGERLAKE_UY,
> - INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S,
> - INTEL_DISPLAY_ALDERLAKE_P_ALDERLAKE_N,
> - INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_P,
> - INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_U,
> - INTEL_DISPLAY_DG2_G10,
> - INTEL_DISPLAY_DG2_G11,
> - INTEL_DISPLAY_DG2_G12,
> -};
> -
> #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
> /* Keep in alphabetical order */ \
> func(cursor_needs_physical); \
> @@ -203,7 +200,7 @@ enum intel_display_subplatform {
>
> struct intel_display_runtime_info {
> enum intel_display_platform platform;
> - enum intel_display_subplatform subplatform;
> + enum intel_display_platform subplatform;
>
> struct intel_display_ip_ver {
> u16 ver;
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/6] drm/i915/display: add "display is" structure with platform members
2024-06-18 14:22 ` [PATCH 4/6] drm/i915/display: add "display is" structure with platform members Jani Nikula
@ 2024-06-19 18:30 ` Rodrigo Vivi
2024-06-27 17:04 ` Lucas De Marchi
1 sibling, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-19 18:30 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Tue, Jun 18, 2024 at 05:22:54PM +0300, Jani Nikula wrote:
> Add a structure with a bitfield member for each platform and
> subplatform, and initialize them in platform and subplatform descs.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_device.c | 8 ++++++--
> drivers/gpu/drm/i915/display/intel_display_device.h | 8 ++++++++
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index 80563af7ac71..0c275d85bd30 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -21,6 +21,7 @@ __diag_push();
> __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
>
> struct subplatform_desc {
> + struct intel_display_is is;
> enum intel_display_platform subplatform;
> const char *name;
> const u16 *pciidlist;
> @@ -28,9 +29,11 @@ struct subplatform_desc {
>
> #define SUBPLATFORM(_platform, _subplatform) \
> .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
> - .name = #_subplatform
> + .name = #_subplatform, \
> + .is._platform##_##_subplatform = 1
>
> struct platform_desc {
> + struct intel_display_is is;
> enum intel_display_platform platform;
> const char *name;
> const struct subplatform_desc *subplatforms;
> @@ -39,7 +42,8 @@ struct platform_desc {
>
> #define PLATFORM(_platform) \
> .platform = (INTEL_DISPLAY_##_platform), \
> - .name = #_platform
> + .name = #_platform, \
> + .is._platform = 1
>
> #define ID(id) (id)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 50485235ef09..73070c8487ff 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -101,6 +101,14 @@ enum intel_display_platform {
>
> #undef ENUM
>
> +#define MEMBER(name) u32 name:1;
> +
> +struct intel_display_is {
> + INTEL_DISPLAY_PLATFORMS(MEMBER);
> +};
> +
> +#undef MEMBER
> +
> #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
> /* Keep in alphabetical order */ \
> func(cursor_needs_physical); \
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 6/6] drm/i915/display: remove the display platform enum as unnecessary
2024-06-18 14:22 ` [PATCH 6/6] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
@ 2024-06-19 18:30 ` Rodrigo Vivi
0 siblings, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-19 18:30 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Tue, Jun 18, 2024 at 05:22:56PM +0300, Jani Nikula wrote:
> The display platform enums are not really needed for anything. Remove.
>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_device.c | 12 +++---------
> drivers/gpu/drm/i915/display/intel_display_device.h | 11 -----------
> 2 files changed, 3 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index 954caea38005..6a71e7a8b686 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -22,26 +22,22 @@ __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for d
>
> struct subplatform_desc {
> struct intel_display_is is;
> - enum intel_display_platform subplatform;
> const char *name;
> const u16 *pciidlist;
> };
>
> #define SUBPLATFORM(_platform, _subplatform) \
> - .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
> .name = #_subplatform, \
> .is._platform##_##_subplatform = 1
>
> struct platform_desc {
> struct intel_display_is is;
> - enum intel_display_platform platform;
> const char *name;
> const struct subplatform_desc *subplatforms;
> const struct intel_display_device_info *info; /* NULL for GMD ID */
> };
>
> #define PLATFORM(_platform) \
> - .platform = (INTEL_DISPLAY_##_platform), \
> .name = #_platform, \
> .is._platform = 1
>
> @@ -1261,7 +1257,7 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
> const struct subplatform_desc *sp;
> const u16 *id;
>
> - for (sp = desc->subplatforms; sp && sp->subplatform; sp++)
> + for (sp = desc->subplatforms; sp && sp->pciidlist; sp++)
> for (id = sp->pciidlist; *id; id++)
> if (*id == pdev->device)
> return sp;
> @@ -1323,14 +1319,12 @@ void intel_display_device_probe(struct drm_i915_private *i915)
> &DISPLAY_INFO(i915)->__runtime_defaults,
> sizeof(*DISPLAY_RUNTIME_INFO(i915)));
>
> - drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
> - DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
> + drm_WARN_ON(&i915->drm, !desc->name);
> display->is = desc->is;
>
> subdesc = find_subplatform_desc(pdev, desc);
> if (subdesc) {
> - drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
> - DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
> + drm_WARN_ON(&i915->drm, !subdesc->name);
> merge_display_is(&display->is, &subdesc->is);
> }
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 73070c8487ff..97033d26c1b3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -93,14 +93,6 @@ struct drm_printer;
> func(DG2_G11) \
> func(DG2_G12)
>
> -#define ENUM(x) INTEL_DISPLAY_ ## x,
> -
> -enum intel_display_platform {
> - INTEL_DISPLAY_PLATFORMS(ENUM)
> -};
> -
> -#undef ENUM
> -
> #define MEMBER(name) u32 name:1;
>
> struct intel_display_is {
> @@ -207,9 +199,6 @@ struct intel_display_is {
> (DISPLAY_VER(i915) >= (from) && DISPLAY_VER(i915) <= (until))
>
> struct intel_display_runtime_info {
> - enum intel_display_platform platform;
> - enum intel_display_platform subplatform;
> -
> struct intel_display_ip_ver {
> u16 ver;
> u16 rel;
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-18 14:22 ` [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display Jani Nikula
@ 2024-06-19 18:36 ` Rodrigo Vivi
2024-06-20 13:05 ` Jani Nikula
2024-06-27 17:06 ` Lucas De Marchi
1 sibling, 1 reply; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-19 18:36 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Tue, Jun 18, 2024 at 05:22:55PM +0300, Jani Nikula wrote:
> Facilitate using display->is.HASWELL etc. for identifying platforms and
> subplatforms. Merge platform and subplatform members together.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 7715fc329057..35bea92893af 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -286,6 +286,9 @@ struct intel_display {
> /* drm device backpointer */
> struct drm_device *drm;
>
> + /* Platform identification */
> + struct intel_display_is is;
> +
> /* 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 0c275d85bd30..954caea38005 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
> return NULL;
> }
>
> +static void mem_or(void *_dst, const void *_src, size_t size)
> +{
> + const u8 *src = _src;
> + u8 *dst = _dst;
> + size_t i;
> +
> + for (i = 0; i < size; i++)
> + dst[i] |= src[i];
I confess that here I got a bit lost. But I believe it is just a matter of
adding a few comments in the code or perhaps adjusting function names...
If my coffee is working well still, what we are doing here is ensuring that:
is.HASWELL returns true regardless the subplatform this is coming from...
like is.HASWELL_ULT or is.HASWELL_ULX.
But since you are only doing dst |= src and not doing src |= dst and also
not calling this function for different subplatforms, then individually
is.HASWELL_ULT is false for ULX platform and vice-versa.
Perhaps the name 'merge' is not a good one?
> +}
> +
> +static void merge_display_is(struct intel_display_is *dst,
> + const struct intel_display_is *src)
> +{
> + mem_or(dst, src, sizeof(*dst));
and/or perhaps we don't need this extra indirection here?
> +}
> +
> void intel_display_device_probe(struct drm_i915_private *i915)
> {
> + struct intel_display *display = &i915->display;
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> const struct intel_display_device_info *info;
> struct intel_display_ip_ver ip_ver = {};
> @@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
>
> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
> + display->is = desc->is;
>
> subdesc = find_subplatform_desc(pdev, desc);
> if (subdesc) {
> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
> + merge_display_is(&display->is, &subdesc->is);
> }
>
> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-19 18:36 ` Rodrigo Vivi
@ 2024-06-20 13:05 ` Jani Nikula
2024-06-20 16:09 ` Rodrigo Vivi
0 siblings, 1 reply; 25+ messages in thread
From: Jani Nikula @ 2024-06-20 13:05 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Wed, 19 Jun 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Tue, Jun 18, 2024 at 05:22:55PM +0300, Jani Nikula wrote:
>> Facilitate using display->is.HASWELL etc. for identifying platforms and
>> subplatforms. Merge platform and subplatform members together.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
>> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
>> 2 files changed, 22 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
>> index 7715fc329057..35bea92893af 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
>> @@ -286,6 +286,9 @@ struct intel_display {
>> /* drm device backpointer */
>> struct drm_device *drm;
>>
>> + /* Platform identification */
>> + struct intel_display_is is;
>> +
>> /* 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 0c275d85bd30..954caea38005 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>> @@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
>> return NULL;
>> }
>>
>> +static void mem_or(void *_dst, const void *_src, size_t size)
>> +{
>> + const u8 *src = _src;
>> + u8 *dst = _dst;
>> + size_t i;
>> +
>> + for (i = 0; i < size; i++)
>> + dst[i] |= src[i];
>
> I confess that here I got a bit lost. But I believe it is just a matter of
> adding a few comments in the code or perhaps adjusting function names...
>
> If my coffee is working well still, what we are doing here is ensuring that:
>
> is.HASWELL returns true regardless the subplatform this is coming from...
> like is.HASWELL_ULT or is.HASWELL_ULX.
>
> But since you are only doing dst |= src and not doing src |= dst and also
> not calling this function for different subplatforms, then individually
> is.HASWELL_ULT is false for ULX platform and vice-versa.
The subplatform stuff here only ever applies to one subplatform, not
multiple. The "ULX is also ULT" is not handled yet, and maybe I'd like
to handle that in some special way, because I like the simplicity of
only having one subplatform in effect at a time.
>
> Perhaps the name 'merge' is not a good one?
>
>> +}
>> +
>> +static void merge_display_is(struct intel_display_is *dst,
>> + const struct intel_display_is *src)
>> +{
>> + mem_or(dst, src, sizeof(*dst));
>
> and/or perhaps we don't need this extra indirection here?
I added the extra indirection only because "mem_or" is something that
could exist as a generic thing. "just do bitwise OR from src to dst".
BR,
Jani.
>
>> +}
>> +
>> void intel_display_device_probe(struct drm_i915_private *i915)
>> {
>> + struct intel_display *display = &i915->display;
>> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
>> const struct intel_display_device_info *info;
>> struct intel_display_ip_ver ip_ver = {};
>> @@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
>>
>> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
>> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
>> + display->is = desc->is;
>>
>> subdesc = find_subplatform_desc(pdev, desc);
>> if (subdesc) {
>> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
>> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
>> + merge_display_is(&display->is, &subdesc->is);
>> }
>>
>> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
>> --
>> 2.39.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-20 13:05 ` Jani Nikula
@ 2024-06-20 16:09 ` Rodrigo Vivi
0 siblings, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2024-06-20 16:09 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, ville.syrjala, maarten.lankhorst,
lucas.demarchi
On Thu, Jun 20, 2024 at 04:05:46PM +0300, Jani Nikula wrote:
> On Wed, 19 Jun 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> > On Tue, Jun 18, 2024 at 05:22:55PM +0300, Jani Nikula wrote:
> >> Facilitate using display->is.HASWELL etc. for identifying platforms and
> >> subplatforms. Merge platform and subplatform members together.
> >>
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
> >> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
> >> 2 files changed, 22 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> >> index 7715fc329057..35bea92893af 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> >> @@ -286,6 +286,9 @@ struct intel_display {
> >> /* drm device backpointer */
> >> struct drm_device *drm;
> >>
> >> + /* Platform identification */
> >> + struct intel_display_is is;
> >> +
> >> /* 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 0c275d85bd30..954caea38005 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> >> @@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
> >> return NULL;
> >> }
> >>
> >> +static void mem_or(void *_dst, const void *_src, size_t size)
> >> +{
> >> + const u8 *src = _src;
> >> + u8 *dst = _dst;
> >> + size_t i;
> >> +
> >> + for (i = 0; i < size; i++)
> >> + dst[i] |= src[i];
> >
> > I confess that here I got a bit lost. But I believe it is just a matter of
> > adding a few comments in the code or perhaps adjusting function names...
> >
> > If my coffee is working well still, what we are doing here is ensuring that:
> >
> > is.HASWELL returns true regardless the subplatform this is coming from...
> > like is.HASWELL_ULT or is.HASWELL_ULX.
> >
> > But since you are only doing dst |= src and not doing src |= dst and also
> > not calling this function for different subplatforms, then individually
> > is.HASWELL_ULT is false for ULX platform and vice-versa.
>
> The subplatform stuff here only ever applies to one subplatform, not
> multiple. The "ULX is also ULT" is not handled yet, and maybe I'd like
> to handle that in some special way, because I like the simplicity of
> only having one subplatform in effect at a time.
fully agree!
>
> >
> > Perhaps the name 'merge' is not a good one?
> >
> >> +}
> >> +
> >> +static void merge_display_is(struct intel_display_is *dst,
> >> + const struct intel_display_is *src)
> >> +{
> >> + mem_or(dst, src, sizeof(*dst));
> >
> > and/or perhaps we don't need this extra indirection here?
>
> I added the extra indirection only because "mem_or" is something that
> could exist as a generic thing. "just do bitwise OR from src to dst".
yeap, it makes sense.
I'm not 100% convinced of the the 'merge_display_is name, but I honestly
have no other (better or worse) suggestion, so
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> BR,
> Jani.
>
> >
> >> +}
> >> +
> >> void intel_display_device_probe(struct drm_i915_private *i915)
> >> {
> >> + struct intel_display *display = &i915->display;
> >> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> >> const struct intel_display_device_info *info;
> >> struct intel_display_ip_ver ip_ver = {};
> >> @@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
> >>
> >> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
> >> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
> >> + display->is = desc->is;
> >>
> >> subdesc = find_subplatform_desc(pdev, desc);
> >> if (subdesc) {
> >> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
> >> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
> >> + merge_display_is(&display->is, &subdesc->is);
> >> }
> >>
> >> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
> >> --
> >> 2.39.2
> >>
>
> --
> Jani Nikula, Intel
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/6] drm/i915/display: add "display is" structure with platform members
2024-06-18 14:22 ` [PATCH 4/6] drm/i915/display: add "display is" structure with platform members Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
@ 2024-06-27 17:04 ` Lucas De Marchi
2024-06-27 18:48 ` Jani Nikula
1 sibling, 1 reply; 25+ messages in thread
From: Lucas De Marchi @ 2024-06-27 17:04 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, rodrigo.vivi, ville.syrjala,
maarten.lankhorst
On Tue, Jun 18, 2024 at 05:22:54PM GMT, Jani Nikula wrote:
>Add a structure with a bitfield member for each platform and
>subplatform, and initialize them in platform and subplatform descs.
>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>---
> drivers/gpu/drm/i915/display/intel_display_device.c | 8 ++++++--
> drivers/gpu/drm/i915/display/intel_display_device.h | 8 ++++++++
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
>index 80563af7ac71..0c275d85bd30 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_device.c
>+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>@@ -21,6 +21,7 @@ __diag_push();
> __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
>
> struct subplatform_desc {
>+ struct intel_display_is is;
> enum intel_display_platform subplatform;
> const char *name;
> const u16 *pciidlist;
>@@ -28,9 +29,11 @@ struct subplatform_desc {
>
> #define SUBPLATFORM(_platform, _subplatform) \
> .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
>- .name = #_subplatform
>+ .name = #_subplatform, \
>+ .is._platform##_##_subplatform = 1
>
> struct platform_desc {
>+ struct intel_display_is is;
> enum intel_display_platform platform;
> const char *name;
> const struct subplatform_desc *subplatforms;
>@@ -39,7 +42,8 @@ struct platform_desc {
>
> #define PLATFORM(_platform) \
> .platform = (INTEL_DISPLAY_##_platform), \
>- .name = #_platform
>+ .name = #_platform, \
>+ .is._platform = 1
>
> #define ID(id) (id)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
>index 50485235ef09..73070c8487ff 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_device.h
>+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
>@@ -101,6 +101,14 @@ enum intel_display_platform {
>
> #undef ENUM
>
>+#define MEMBER(name) u32 name:1;
>+
>+struct intel_display_is {
intel_display_is??? very odd to name something like this as a verb and
that has no indication in the name what actually is about. Why is this
not "_platform"?
Lucas De Marchi
>+ INTEL_DISPLAY_PLATFORMS(MEMBER);
>+};
>+
>+#undef MEMBER
>+
> #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
> /* Keep in alphabetical order */ \
> func(cursor_needs_physical); \
>--
>2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-18 14:22 ` [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display Jani Nikula
2024-06-19 18:36 ` Rodrigo Vivi
@ 2024-06-27 17:06 ` Lucas De Marchi
2024-06-27 18:47 ` Jani Nikula
1 sibling, 1 reply; 25+ messages in thread
From: Lucas De Marchi @ 2024-06-27 17:06 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, rodrigo.vivi, ville.syrjala,
maarten.lankhorst
On Tue, Jun 18, 2024 at 05:22:55PM GMT, Jani Nikula wrote:
>Facilitate using display->is.HASWELL etc. for identifying platforms and
>subplatforms. Merge platform and subplatform members together.
>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>---
> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
>index 7715fc329057..35bea92893af 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_core.h
>+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
>@@ -286,6 +286,9 @@ struct intel_display {
> /* drm device backpointer */
> struct drm_device *drm;
>
>+ /* Platform identification */
>+ struct intel_display_is is;
>+
> /* 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 0c275d85bd30..954caea38005 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_device.c
>+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>@@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
> return NULL;
> }
>
>+static void mem_or(void *_dst, const void *_src, size_t size)
why are we not using linux/bitmap.h that has support for bitfields with
multiple words and instead rolling our own?
Lucas De Marchi
>+{
>+ const u8 *src = _src;
>+ u8 *dst = _dst;
>+ size_t i;
>+
>+ for (i = 0; i < size; i++)
>+ dst[i] |= src[i];
>+}
>+
>+static void merge_display_is(struct intel_display_is *dst,
>+ const struct intel_display_is *src)
>+{
>+ mem_or(dst, src, sizeof(*dst));
>+}
>+
> void intel_display_device_probe(struct drm_i915_private *i915)
> {
>+ struct intel_display *display = &i915->display;
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> const struct intel_display_device_info *info;
> struct intel_display_ip_ver ip_ver = {};
>@@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
>
> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
>+ display->is = desc->is;
>
> subdesc = find_subplatform_desc(pdev, desc);
> if (subdesc) {
> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
>+ merge_display_is(&display->is, &subdesc->is);
> }
>
> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
>--
>2.39.2
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-27 17:06 ` Lucas De Marchi
@ 2024-06-27 18:47 ` Jani Nikula
2024-06-27 21:45 ` Lucas De Marchi
0 siblings, 1 reply; 25+ messages in thread
From: Jani Nikula @ 2024-06-27 18:47 UTC (permalink / raw)
To: Lucas De Marchi
Cc: intel-gfx, intel-xe, rodrigo.vivi, ville.syrjala,
maarten.lankhorst
On Thu, 27 Jun 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Tue, Jun 18, 2024 at 05:22:55PM GMT, Jani Nikula wrote:
>>Facilitate using display->is.HASWELL etc. for identifying platforms and
>>subplatforms. Merge platform and subplatform members together.
>>
>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>---
>> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
>> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
>> 2 files changed, 22 insertions(+)
>>
>>diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
>>index 7715fc329057..35bea92893af 100644
>>--- a/drivers/gpu/drm/i915/display/intel_display_core.h
>>+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
>>@@ -286,6 +286,9 @@ struct intel_display {
>> /* drm device backpointer */
>> struct drm_device *drm;
>>
>>+ /* Platform identification */
>>+ struct intel_display_is is;
>>+
>> /* 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 0c275d85bd30..954caea38005 100644
>>--- a/drivers/gpu/drm/i915/display/intel_display_device.c
>>+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>>@@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
>> return NULL;
>> }
>>
>>+static void mem_or(void *_dst, const void *_src, size_t size)
>
> why are we not using linux/bitmap.h that has support for bitfields with
> multiple words and instead rolling our own?
Because this is primarily about named struct members, and the bitfields
and ORing them together is just an implementation detail.
I could use bitmap_or(), but I'd have to rely on bitmap implementation
details to get it all precisely correct. I would not be able to
trivially use DECLARE_BITMAP() for this.
Using a union can get tricky:
struct intel_display_is {
union {
struct {
INTEL_DISPLAY_PLATFORMS(MEMBER);
};
DECLARE_BITMAP(raw, NUM_PLATFORMS);
};
};
I don't know if that even works. Can't used named structs, otherwise it
defeats the purpose.
BR,
Jani.
>
> Lucas De Marchi
>
>>+{
>>+ const u8 *src = _src;
>>+ u8 *dst = _dst;
>>+ size_t i;
>>+
>>+ for (i = 0; i < size; i++)
>>+ dst[i] |= src[i];
>>+}
>>+
>>+static void merge_display_is(struct intel_display_is *dst,
>>+ const struct intel_display_is *src)
>>+{
>>+ mem_or(dst, src, sizeof(*dst));
>>+}
>>+
>> void intel_display_device_probe(struct drm_i915_private *i915)
>> {
>>+ struct intel_display *display = &i915->display;
>> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
>> const struct intel_display_device_info *info;
>> struct intel_display_ip_ver ip_ver = {};
>>@@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
>>
>> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
>> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
>>+ display->is = desc->is;
>>
>> subdesc = find_subplatform_desc(pdev, desc);
>> if (subdesc) {
>> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
>> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
>>+ merge_display_is(&display->is, &subdesc->is);
>> }
>>
>> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
>>--
>>2.39.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/6] drm/i915/display: add "display is" structure with platform members
2024-06-27 17:04 ` Lucas De Marchi
@ 2024-06-27 18:48 ` Jani Nikula
0 siblings, 0 replies; 25+ messages in thread
From: Jani Nikula @ 2024-06-27 18:48 UTC (permalink / raw)
To: Lucas De Marchi
Cc: intel-gfx, intel-xe, rodrigo.vivi, ville.syrjala,
maarten.lankhorst
On Thu, 27 Jun 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Tue, Jun 18, 2024 at 05:22:54PM GMT, Jani Nikula wrote:
>>Add a structure with a bitfield member for each platform and
>>subplatform, and initialize them in platform and subplatform descs.
>>
>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>---
>> drivers/gpu/drm/i915/display/intel_display_device.c | 8 ++++++--
>> drivers/gpu/drm/i915/display/intel_display_device.h | 8 ++++++++
>> 2 files changed, 14 insertions(+), 2 deletions(-)
>>
>>diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
>>index 80563af7ac71..0c275d85bd30 100644
>>--- a/drivers/gpu/drm/i915/display/intel_display_device.c
>>+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>>@@ -21,6 +21,7 @@ __diag_push();
>> __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
>>
>> struct subplatform_desc {
>>+ struct intel_display_is is;
>> enum intel_display_platform subplatform;
>> const char *name;
>> const u16 *pciidlist;
>>@@ -28,9 +29,11 @@ struct subplatform_desc {
>>
>> #define SUBPLATFORM(_platform, _subplatform) \
>> .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
>>- .name = #_subplatform
>>+ .name = #_subplatform, \
>>+ .is._platform##_##_subplatform = 1
>>
>> struct platform_desc {
>>+ struct intel_display_is is;
>> enum intel_display_platform platform;
>> const char *name;
>> const struct subplatform_desc *subplatforms;
>>@@ -39,7 +42,8 @@ struct platform_desc {
>>
>> #define PLATFORM(_platform) \
>> .platform = (INTEL_DISPLAY_##_platform), \
>>- .name = #_platform
>>+ .name = #_platform, \
>>+ .is._platform = 1
>>
>> #define ID(id) (id)
>>
>>diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
>>index 50485235ef09..73070c8487ff 100644
>>--- a/drivers/gpu/drm/i915/display/intel_display_device.h
>>+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
>>@@ -101,6 +101,14 @@ enum intel_display_platform {
>>
>> #undef ENUM
>>
>>+#define MEMBER(name) u32 name:1;
>>+
>>+struct intel_display_is {
>
> intel_display_is??? very odd to name something like this as a verb and
> that has no indication in the name what actually is about. Why is this
> not "_platform"?
Yeah, naming is hard.
I suppose I could rename it after the last patch which removes enum
intel_display_platform.
BR,
Jani.
>
> Lucas De Marchi
>
>>+ INTEL_DISPLAY_PLATFORMS(MEMBER);
>>+};
>>+
>>+#undef MEMBER
>>+
>> #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
>> /* Keep in alphabetical order */ \
>> func(cursor_needs_physical); \
>>--
>>2.39.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-27 18:47 ` Jani Nikula
@ 2024-06-27 21:45 ` Lucas De Marchi
2024-06-27 22:19 ` Jani Nikula
0 siblings, 1 reply; 25+ messages in thread
From: Lucas De Marchi @ 2024-06-27 21:45 UTC (permalink / raw)
To: Jani Nikula
Cc: intel-gfx, intel-xe, rodrigo.vivi, ville.syrjala,
maarten.lankhorst
On Thu, Jun 27, 2024 at 09:47:17PM GMT, Jani Nikula wrote:
>On Thu, 27 Jun 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> On Tue, Jun 18, 2024 at 05:22:55PM GMT, Jani Nikula wrote:
>>>Facilitate using display->is.HASWELL etc. for identifying platforms and
>>>subplatforms. Merge platform and subplatform members together.
>>>
>>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>>---
>>> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
>>> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
>>> 2 files changed, 22 insertions(+)
>>>
>>>diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
>>>index 7715fc329057..35bea92893af 100644
>>>--- a/drivers/gpu/drm/i915/display/intel_display_core.h
>>>+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
>>>@@ -286,6 +286,9 @@ struct intel_display {
>>> /* drm device backpointer */
>>> struct drm_device *drm;
>>>
>>>+ /* Platform identification */
>>>+ struct intel_display_is is;
>>>+
>>> /* 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 0c275d85bd30..954caea38005 100644
>>>--- a/drivers/gpu/drm/i915/display/intel_display_device.c
>>>+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>>>@@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
>>> return NULL;
>>> }
>>>
>>>+static void mem_or(void *_dst, const void *_src, size_t size)
>>
>> why are we not using linux/bitmap.h that has support for bitfields with
>> multiple words and instead rolling our own?
>
>Because this is primarily about named struct members, and the bitfields
>and ORing them together is just an implementation detail.
>
>I could use bitmap_or(), but I'd have to rely on bitmap implementation
>details to get it all precisely correct. I would not be able to
>trivially use DECLARE_BITMAP() for this.
>
>Using a union can get tricky:
>
>struct intel_display_is {
> union {
> struct {
> INTEL_DISPLAY_PLATFORMS(MEMBER);
> };
> DECLARE_BITMAP(raw, NUM_PLATFORMS);
> };
>};
>
>I don't know if that even works. Can't used named structs, otherwise it
>defeats the purpose.
a union like that seems good to me
Lucas De Marchi
>
>BR,
>Jani.
>
>>
>> Lucas De Marchi
>>
>>>+{
>>>+ const u8 *src = _src;
>>>+ u8 *dst = _dst;
>>>+ size_t i;
>>>+
>>>+ for (i = 0; i < size; i++)
>>>+ dst[i] |= src[i];
>>>+}
>>>+
>>>+static void merge_display_is(struct intel_display_is *dst,
>>>+ const struct intel_display_is *src)
>>>+{
>>>+ mem_or(dst, src, sizeof(*dst));
>>>+}
>>>+
>>> void intel_display_device_probe(struct drm_i915_private *i915)
>>> {
>>>+ struct intel_display *display = &i915->display;
>>> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
>>> const struct intel_display_device_info *info;
>>> struct intel_display_ip_ver ip_ver = {};
>>>@@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
>>>
>>> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
>>> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
>>>+ display->is = desc->is;
>>>
>>> subdesc = find_subplatform_desc(pdev, desc);
>>> if (subdesc) {
>>> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
>>> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
>>>+ merge_display_is(&display->is, &subdesc->is);
>>> }
>>>
>>> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
>>>--
>>>2.39.2
>>>
>
>--
>Jani Nikula, Intel
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display
2024-06-27 21:45 ` Lucas De Marchi
@ 2024-06-27 22:19 ` Jani Nikula
0 siblings, 0 replies; 25+ messages in thread
From: Jani Nikula @ 2024-06-27 22:19 UTC (permalink / raw)
To: Lucas De Marchi
Cc: intel-gfx, intel-xe, rodrigo.vivi, ville.syrjala,
maarten.lankhorst
On Thu, 27 Jun 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Thu, Jun 27, 2024 at 09:47:17PM GMT, Jani Nikula wrote:
>>On Thu, 27 Jun 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>> On Tue, Jun 18, 2024 at 05:22:55PM GMT, Jani Nikula wrote:
>>>>Facilitate using display->is.HASWELL etc. for identifying platforms and
>>>>subplatforms. Merge platform and subplatform members together.
>>>>
>>>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>>>---
>>>> .../gpu/drm/i915/display/intel_display_core.h | 3 +++
>>>> .../drm/i915/display/intel_display_device.c | 19 +++++++++++++++++++
>>>> 2 files changed, 22 insertions(+)
>>>>
>>>>diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
>>>>index 7715fc329057..35bea92893af 100644
>>>>--- a/drivers/gpu/drm/i915/display/intel_display_core.h
>>>>+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
>>>>@@ -286,6 +286,9 @@ struct intel_display {
>>>> /* drm device backpointer */
>>>> struct drm_device *drm;
>>>>
>>>>+ /* Platform identification */
>>>>+ struct intel_display_is is;
>>>>+
>>>> /* 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 0c275d85bd30..954caea38005 100644
>>>>--- a/drivers/gpu/drm/i915/display/intel_display_device.c
>>>>+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
>>>>@@ -1269,8 +1269,25 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
>>>> return NULL;
>>>> }
>>>>
>>>>+static void mem_or(void *_dst, const void *_src, size_t size)
>>>
>>> why are we not using linux/bitmap.h that has support for bitfields with
>>> multiple words and instead rolling our own?
>>
>>Because this is primarily about named struct members, and the bitfields
>>and ORing them together is just an implementation detail.
>>
>>I could use bitmap_or(), but I'd have to rely on bitmap implementation
>>details to get it all precisely correct. I would not be able to
>>trivially use DECLARE_BITMAP() for this.
>>
>>Using a union can get tricky:
>>
>>struct intel_display_is {
>> union {
>> struct {
>> INTEL_DISPLAY_PLATFORMS(MEMBER);
>> };
>> DECLARE_BITMAP(raw, NUM_PLATFORMS);
>> };
>>};
>>
>>I don't know if that even works. Can't used named structs, otherwise it
>>defeats the purpose.
>
> a union like that seems good to me
With the platform enum removed in patch 6, where do we get the number of
platforms and subplatforms?
BR,
Jani.
>
> Lucas De Marchi
>
>
>>
>>BR,
>>Jani.
>>
>>>
>>> Lucas De Marchi
>>>
>>>>+{
>>>>+ const u8 *src = _src;
>>>>+ u8 *dst = _dst;
>>>>+ size_t i;
>>>>+
>>>>+ for (i = 0; i < size; i++)
>>>>+ dst[i] |= src[i];
>>>>+}
>>>>+
>>>>+static void merge_display_is(struct intel_display_is *dst,
>>>>+ const struct intel_display_is *src)
>>>>+{
>>>>+ mem_or(dst, src, sizeof(*dst));
>>>>+}
>>>>+
>>>> void intel_display_device_probe(struct drm_i915_private *i915)
>>>> {
>>>>+ struct intel_display *display = &i915->display;
>>>> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
>>>> const struct intel_display_device_info *info;
>>>> struct intel_display_ip_ver ip_ver = {};
>>>>@@ -1308,11 +1325,13 @@ void intel_display_device_probe(struct drm_i915_private *i915)
>>>>
>>>> drm_WARN_ON(&i915->drm, !desc->platform || !desc->name);
>>>> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
>>>>+ display->is = desc->is;
>>>>
>>>> subdesc = find_subplatform_desc(pdev, desc);
>>>> if (subdesc) {
>>>> drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
>>>> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
>>>>+ merge_display_is(&display->is, &subdesc->is);
>>>> }
>>>>
>>>> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
>>>>--
>>>>2.39.2
>>>>
>>
>>--
>>Jani Nikula, Intel
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2024-06-27 22:19 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-18 14:22 [PATCH 0/6] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
2024-06-18 14:22 ` [PATCH 1/6] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
2024-06-19 18:29 ` Rodrigo Vivi
2024-06-18 14:22 ` [PATCH 2/6] drm/i915/display: use a macro to define platform enumerations Jani Nikula
2024-06-19 18:29 ` Rodrigo Vivi
2024-06-18 14:22 ` [PATCH 3/6] drm/i915/display: join the platform and subplatform macros Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
2024-06-18 14:22 ` [PATCH 4/6] drm/i915/display: add "display is" structure with platform members Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
2024-06-27 17:04 ` Lucas De Marchi
2024-06-27 18:48 ` Jani Nikula
2024-06-18 14:22 ` [PATCH 5/6] drm/i915/display: add "is" member to struct intel_display Jani Nikula
2024-06-19 18:36 ` Rodrigo Vivi
2024-06-20 13:05 ` Jani Nikula
2024-06-20 16:09 ` Rodrigo Vivi
2024-06-27 17:06 ` Lucas De Marchi
2024-06-27 18:47 ` Jani Nikula
2024-06-27 21:45 ` Lucas De Marchi
2024-06-27 22:19 ` Jani Nikula
2024-06-18 14:22 ` [PATCH 6/6] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
2024-06-19 18:30 ` Rodrigo Vivi
2024-06-18 14:51 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> Patchwork
2024-06-18 14:51 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-06-18 15:00 ` ✓ Fi.CI.BAT: success " Patchwork
2024-06-18 23:47 ` ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).