* [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
@ 2024-08-19 18:44 Jani Nikula
2024-08-19 18:44 ` [PATCH v2 1/9] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
` (13 more replies)
0 siblings, 14 replies; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
v2 of [1]. Please read the cover letter there.
This addresses review comments and adds a few more commits on top, in particular
the last one showcasing the approach.
The main question remains, is this what we want?
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1718719962.git.jani.nikula@intel.com
Jani Nikula (9):
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 enums
drm/i915/display: add display platforms structure with platform
members
drm/i915/display: add platforms "is" member to struct intel_display
drm/i915/display: remove the display platform enum as unnecessary
drm/i915/display: consider HSW/BDW ULX to also be ULT
drm/i915/display: keep subplatforms next to their platforms
drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM()
drivers/gpu/drm/i915/display/intel_bios.c | 36 ++--
.../gpu/drm/i915/display/intel_display_core.h | 3 +
.../drm/i915/display/intel_display_device.c | 89 ++++++---
.../drm/i915/display/intel_display_device.h | 180 ++++++++++--------
4 files changed, 174 insertions(+), 134 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 34+ messages in thread
* [PATCH v2 1/9] drm/i915/display: use a macro to initialize subplatforms
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-19 18:44 ` [PATCH v2 2/9] drm/i915/display: use a macro to define platform enumerations Jani Nikula
` (12 subsequent siblings)
13 siblings, 0 replies; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
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 a31f89df2c0a..7bb7348b96d8 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] 34+ messages in thread
* [PATCH v2 2/9] drm/i915/display: use a macro to define platform enumerations
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
2024-08-19 18:44 ` [PATCH v2 1/9] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-19 18:44 ` [PATCH v2 3/9] drm/i915/display: join the platform and subplatform enums Jani Nikula
` (11 subsequent siblings)
13 siblings, 0 replies; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
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..f5c9bba3baa2 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] 34+ messages in thread
* [PATCH v2 3/9] drm/i915/display: join the platform and subplatform enums
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
2024-08-19 18:44 ` [PATCH v2 1/9] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
2024-08-19 18:44 ` [PATCH v2 2/9] drm/i915/display: use a macro to define platform enumerations Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-19 18:44 ` [PATCH v2 4/9] drm/i915/display: add display platforms structure with platform members Jani Nikula
` (10 subsequent siblings)
13 siblings, 0 replies; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
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 7bb7348b96d8..336cc8e717f5 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 f5c9bba3baa2..0a78f7438035 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] 34+ messages in thread
* [PATCH v2 4/9] drm/i915/display: add display platforms structure with platform members
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (2 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 3/9] drm/i915/display: join the platform and subplatform enums Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-28 20:46 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display Jani Nikula
` (9 subsequent siblings)
13 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
Add a structure with a bitfield member for each platform and
subplatform, and initialize them in platform and subplatform descs.
The structure also contains a bitmap in a union for easier manipulation
of the bits.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_device.c | 8 ++++++--
.../drm/i915/display/intel_display_device.h | 19 +++++++++++++++++++
2 files changed, 25 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 336cc8e717f5..55ab1923c8b3 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_platforms platforms;
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, \
+ .platforms._platform##_##_subplatform = 1
struct platform_desc {
+ struct intel_display_platforms platforms;
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, \
+ .platforms._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 0a78f7438035..6f8814d1fabd 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -6,6 +6,7 @@
#ifndef __INTEL_DISPLAY_DEVICE_H__
#define __INTEL_DISPLAY_DEVICE_H__
+#include <linux/bitops.h>
#include <linux/types.h>
#include "intel_display_conversion.h"
@@ -101,6 +102,24 @@ enum intel_display_platform {
#undef __ENUM
+#define __MEMBER(name) unsigned long name:1;
+#define __COUNT(x) 1 +
+
+#define __NUM_PLATFORMS (INTEL_DISPLAY_PLATFORMS(__COUNT) 0)
+
+struct intel_display_platforms {
+ union {
+ struct {
+ INTEL_DISPLAY_PLATFORMS(__MEMBER);
+ };
+ DECLARE_BITMAP(bitmap, __NUM_PLATFORMS);
+ };
+};
+
+#undef __MEMBER
+#undef __COUNT
+#undef __NUM_PLATFORMS
+
#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] 34+ messages in thread
* [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (3 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 4/9] drm/i915/display: add display platforms structure with platform members Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-19 18:48 ` [PATCH v3] " Jani Nikula
2024-08-28 20:47 ` [PATCH v2 5/9] " Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 6/9] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
` (8 subsequent siblings)
13 siblings, 2 replies; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
Facilitate using display->is.HASWELL and display->is.HASWELL_ULT
etc. for identifying platforms and subplatforms. Merge platform and
subplatform members together.
v2:
- Use bitmap ops
- Add some sanity checks with warnings
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 | 31 +++++++++++++++++--
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 0a711114ff2b..b2907894fa28 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 (and subplatform, if any) identification */
+ struct intel_display_platforms 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 55ab1923c8b3..3d3b4ed7940e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -1269,8 +1269,28 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
return NULL;
}
+/* Size of the entire bitmap, not the number of platforms */
+static unsigned int display_platforms_num_bits(void)
+{
+ return sizeof(((struct intel_display_platforms *)0)->bitmap) * BITS_PER_BYTE;
+}
+
+/* Number of platform bits set */
+static unsigned int display_platforms_weight(const struct intel_display_platforms *p)
+{
+ return bitmap_weight(p->bitmap, display_platforms_num_bits());
+}
+
+/* Merge the subplatform information from src to dst */
+static void display_platforms_or(struct intel_display_platforms *dst,
+ const struct intel_display_platforms *src)
+{
+ bitmap_or(dst->bitmap, dst->bitmap, src->bitmap, display_platforms_num_bits());
+}
+
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 = {};
@@ -1306,13 +1326,20 @@ 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);
+ drm_WARN_ON(&i915->drm, !desc->platform || !desc->name ||
+ display_platforms_weight(&desc->platforms) != 1);
DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
+ display->is = desc->platforms;
subdesc = find_subplatform_desc(pdev, desc);
if (subdesc) {
- drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
+ drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name ||
+ display_platforms_weight(&subdesc->platforms) != 1);
DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
+ display_platforms_or(&display->is, &subdesc->platforms);
+
+ /* Ensure platform and subplatform are distinct */
+ drm_WARN_ON(&i915->drm, display_platforms_weight(&subdesc->platforms) == 1);
}
if (ip_ver.ver || ip_ver.rel || ip_ver.step)
--
2.39.2
^ permalink raw reply related [flat|nested] 34+ messages in thread
* [PATCH v2 6/9] drm/i915/display: remove the display platform enum as unnecessary
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (4 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-28 20:49 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 7/9] drm/i915/display: consider HSW/BDW ULX to also be ULT Jani Nikula
` (7 subsequent siblings)
13 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
The display platform enums are not really needed for
anything. Remove.
Without the enum, PLATFORM_UNINITIALIZED is also no longer needed for
keeping the first enum 0.
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 | 12 ------------
2 files changed, 3 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index 3d3b4ed7940e..90609b561630 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_platforms platforms;
- enum intel_display_platform subplatform;
const char *name;
const u16 *pciidlist;
};
#define SUBPLATFORM(_platform, _subplatform) \
- .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
.name = #_subplatform, \
.platforms._platform##_##_subplatform = 1
struct platform_desc {
struct intel_display_platforms platforms;
- 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, \
.platforms._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;
@@ -1326,16 +1322,14 @@ 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 ||
+ drm_WARN_ON(&i915->drm, !desc->name ||
display_platforms_weight(&desc->platforms) != 1);
- DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
display->is = desc->platforms;
subdesc = find_subplatform_desc(pdev, desc);
if (subdesc) {
- drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name ||
+ drm_WARN_ON(&i915->drm, !subdesc->name ||
display_platforms_weight(&subdesc->platforms) != 1);
- DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
display_platforms_or(&display->is, &subdesc->platforms);
/* Ensure platform and subplatform are distinct */
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 6f8814d1fabd..6d1f3de46836 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -17,7 +17,6 @@ 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) \
@@ -94,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) unsigned long name:1;
#define __COUNT(x) 1 +
@@ -218,9 +209,6 @@ struct intel_display_platforms {
(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] 34+ messages in thread
* [PATCH v2 7/9] drm/i915/display: consider HSW/BDW ULX to also be ULT
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (5 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 6/9] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-28 20:50 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 8/9] drm/i915/display: keep subplatforms next to their platforms Jani Nikula
` (6 subsequent siblings)
13 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
Follow i915 core and IS_HASWELL_ULT()/IS_BROADWELL_ULT() conventions,
i.e. "is ULT" also matches ULX platforms.
Using multiple SUBPLATFORM() macros, we initialize both ULT and ULX
subplatforms, and take the subplatform name from the last (so be careful
to keep ULX last).
This is *not* an example to be copied.
Note: Pedantically, this should have been done earlier, but it's only
feasible now that we no longer have a subplatform enum and can actually
initialize multiple subplatforms.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_device.c | 6 ++++--
1 file changed, 4 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 90609b561630..fd145f87d86b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -490,7 +490,8 @@ static const struct platform_desc hsw_desc = {
PLATFORM(HASWELL),
.subplatforms = (const struct subplatform_desc[]) {
{ SUBPLATFORM(HASWELL, ULT), .pciidlist = hsw_ult_ids },
- { SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids },
+ /* Special case: ULX is also ULT. Do not copy this approach. */
+ { SUBPLATFORM(HASWELL, ULT), SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids },
{},
},
.info = &(const struct intel_display_device_info) {
@@ -534,7 +535,8 @@ static const struct platform_desc bdw_desc = {
PLATFORM(BROADWELL),
.subplatforms = (const struct subplatform_desc[]) {
{ SUBPLATFORM(BROADWELL, ULT), .pciidlist = bdw_ult_ids },
- { SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
+ /* Special case: ULX is also ULT. Do not copy this approach. */
+ { SUBPLATFORM(BROADWELL, ULT), SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
{},
},
.info = &(const struct intel_display_device_info) {
--
2.39.2
^ permalink raw reply related [flat|nested] 34+ messages in thread
* [PATCH v2 8/9] drm/i915/display: keep subplatforms next to their platforms
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (6 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 7/9] drm/i915/display: consider HSW/BDW ULX to also be ULT Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-28 20:52 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 9/9] drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM() Jani Nikula
` (5 subsequent siblings)
13 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
There's no reason to keep subplatforms separated in the members. Update
the comment while at it.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_device.h | 51 ++++++++++---------
1 file changed, 27 insertions(+), 24 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 6d1f3de46836..86664b999ca9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -15,7 +15,11 @@
struct drm_i915_private;
struct drm_printer;
-/* Keep in gen based order, and chronological order within a gen */
+/*
+ * Display platforms and subplatforms. Keep platforms in display version based
+ * order, chronological order within a version, and subplatforms next to the
+ * platform.
+ */
#define INTEL_DISPLAY_PLATFORMS(func) \
/* Display ver 2 */ \
func(I830) \
@@ -42,56 +46,55 @@ struct drm_printer;
func(IVYBRIDGE) \
func(VALLEYVIEW) \
func(HASWELL) \
+ func(HASWELL_ULT) \
+ func(HASWELL_ULX) \
/* Display ver 8 */ \
func(BROADWELL) \
+ func(BROADWELL_ULT) \
+ func(BROADWELL_ULX) \
func(CHERRYVIEW) \
/* Display ver 9 */ \
func(SKYLAKE) \
+ func(SKYLAKE_ULT) \
+ func(SKYLAKE_ULX) \
func(BROXTON) \
func(KABYLAKE) \
+ func(KABYLAKE_ULT) \
+ func(KABYLAKE_ULX) \
func(GEMINILAKE) \
func(COFFEELAKE) \
+ func(COFFEELAKE_ULT) \
+ func(COFFEELAKE_ULX) \
func(COMETLAKE) \
+ func(COMETLAKE_ULT) \
+ func(COMETLAKE_ULX) \
/* Display ver 11 */ \
func(ICELAKE) \
+ func(ICELAKE_PORT_F) \
func(JASPERLAKE) \
func(ELKHARTLAKE) \
/* Display ver 12 */ \
func(TIGERLAKE) \
+ func(TIGERLAKE_UY) \
func(ROCKETLAKE) \
func(DG1) \
func(ALDERLAKE_S) \
+ func(ALDERLAKE_S_RAPTORLAKE_S) \
/* Display ver 13 */ \
func(ALDERLAKE_P) \
+ func(ALDERLAKE_P_ALDERLAKE_N) \
+ func(ALDERLAKE_P_RAPTORLAKE_P) \
+ func(ALDERLAKE_P_RAPTORLAKE_U) \
func(DG2) \
+ func(DG2_G10) \
+ func(DG2_G11) \
+ func(DG2_G12) \
/* 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) \
- /* 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)
+ func(BATTLEMAGE)
#define __MEMBER(name) unsigned long name:1;
#define __COUNT(x) 1 +
--
2.39.2
^ permalink raw reply related [flat|nested] 34+ messages in thread
* [PATCH v2 9/9] drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM()
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (7 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 8/9] drm/i915/display: keep subplatforms next to their platforms Jani Nikula
@ 2024-08-19 18:44 ` Jani Nikula
2024-08-28 20:52 ` Rodrigo Vivi
2024-08-19 19:13 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3) Patchwork
` (4 subsequent siblings)
13 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:44 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: jani.nikula, rodrigo.vivi, lucas.demarchi, ville.syrjala
Switch to using the new display->is.PLATFORM members.
There are still cases like IS_G4X() which is trivial with macros, but
not so with platform members. Ditto for IS_IRONLAKE_M() and IS_IVB_GT1()
etc. although not used in this file.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_bios.c | 36 +++++++++--------------
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index d49435af62c7..c701f13e0cf6 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -1168,7 +1168,6 @@ static int intel_bios_ssc_frequency(struct intel_display *display,
static void
parse_general_features(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
const struct bdb_general_features *general;
general = bdb_find_section(display, BDB_GENERAL_FEATURES);
@@ -1178,7 +1177,7 @@ parse_general_features(struct intel_display *display)
display->vbt.int_tv_support = general->int_tv_support;
/* int_crt_support can't be trusted on earlier platforms */
if (display->vbt.version >= 155 &&
- (HAS_DDI(display) || IS_VALLEYVIEW(i915)))
+ (HAS_DDI(display) || display->is.VALLEYVIEW))
display->vbt.int_crt_support = general->int_crt_support;
display->vbt.lvds_use_ssc = general->enable_ssc;
display->vbt.lvds_ssc_freq =
@@ -1541,7 +1540,6 @@ static void
parse_psr(struct intel_display *display,
struct intel_panel *panel)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
const struct bdb_psr *psr;
const struct psr_table *psr_table;
int panel_type = panel->vbt.panel_type;
@@ -1566,7 +1564,7 @@ parse_psr(struct intel_display *display,
* Old decimal value is wake up time in multiples of 100 us.
*/
if (display->vbt.version >= 205 &&
- (DISPLAY_VER(display) >= 9 && !IS_BROXTON(i915))) {
+ (DISPLAY_VER(display) >= 9 && !display->is.BROXTON)) {
switch (psr_table->tp1_wakeup_time) {
case 0:
panel->vbt.psr.tp1_wakeup_time_us = 500;
@@ -2028,11 +2026,9 @@ static void icl_fixup_mipi_sequences(struct intel_display *display,
static void fixup_mipi_sequences(struct intel_display *display,
struct intel_panel *panel)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
-
if (DISPLAY_VER(display) >= 11)
icl_fixup_mipi_sequences(display, panel);
- else if (IS_VALLEYVIEW(i915))
+ else if (display->is.VALLEYVIEW)
vlv_fixup_mipi_sequences(display, panel);
}
@@ -2242,15 +2238,15 @@ static u8 map_ddc_pin(struct intel_display *display, u8 vbt_pin)
const u8 *ddc_pin_map;
int i, n_entries;
- if (INTEL_PCH_TYPE(i915) >= PCH_MTL || IS_ALDERLAKE_P(i915)) {
+ if (INTEL_PCH_TYPE(i915) >= PCH_MTL || display->is.ALDERLAKE_P) {
ddc_pin_map = adlp_ddc_pin_map;
n_entries = ARRAY_SIZE(adlp_ddc_pin_map);
- } else if (IS_ALDERLAKE_S(i915)) {
+ } else if (display->is.ALDERLAKE_S) {
ddc_pin_map = adls_ddc_pin_map;
n_entries = ARRAY_SIZE(adls_ddc_pin_map);
} else if (INTEL_PCH_TYPE(i915) >= PCH_DG1) {
return vbt_pin;
- } else if (IS_ROCKETLAKE(i915) && INTEL_PCH_TYPE(i915) == PCH_TGP) {
+ } else if (display->is.ROCKETLAKE && INTEL_PCH_TYPE(i915) == PCH_TGP) {
ddc_pin_map = rkl_pch_tgp_ddc_pin_map;
n_entries = ARRAY_SIZE(rkl_pch_tgp_ddc_pin_map);
} else if (HAS_PCH_TGP(i915) && DISPLAY_VER(display) == 9) {
@@ -2333,7 +2329,6 @@ static enum port __dvo_port_to_port(int n_ports, int n_dvo,
static enum port dvo_port_to_port(struct intel_display *display,
u8 dvo_port)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
/*
* Each DDI port can have more than one value on the "DVO Port" field,
* so look for all the possible values for each port.
@@ -2390,12 +2385,12 @@ static enum port dvo_port_to_port(struct intel_display *display,
ARRAY_SIZE(xelpd_port_mapping[0]),
xelpd_port_mapping,
dvo_port);
- else if (IS_ALDERLAKE_S(i915))
+ else if (display->is.ALDERLAKE_S)
return __dvo_port_to_port(ARRAY_SIZE(adls_port_mapping),
ARRAY_SIZE(adls_port_mapping[0]),
adls_port_mapping,
dvo_port);
- else if (IS_DG1(i915) || IS_ROCKETLAKE(i915))
+ else if (display->is.DG1 || display->is.ROCKETLAKE)
return __dvo_port_to_port(ARRAY_SIZE(rkl_port_mapping),
ARRAY_SIZE(rkl_port_mapping[0]),
rkl_port_mapping,
@@ -2518,7 +2513,6 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
enum port port)
{
struct intel_display *display = devdata->display;
- struct drm_i915_private *i915 = to_i915(display->drm);
if (!intel_bios_encoder_supports_dvi(devdata))
return;
@@ -2528,7 +2522,7 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
* with a HSW VBT where the level shifter value goes
* up to 11, whereas the BDW max is 9.
*/
- if (IS_BROADWELL(i915) && devdata->child.hdmi_level_shifter_value > 9) {
+ if (display->is.BROADWELL && devdata->child.hdmi_level_shifter_value > 9) {
drm_dbg_kms(display->drm,
"Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
port_name(port), devdata->child.hdmi_level_shifter_value, 9);
@@ -2617,14 +2611,13 @@ int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata
static bool is_port_valid(struct intel_display *display, enum port port)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
/*
* On some ICL SKUs port F is not present, but broken VBTs mark
* the port as present. Only try to initialize port F for the
* SKUs that may actually have it.
*/
- if (port == PORT_F && IS_ICELAKE(i915))
- return IS_ICL_WITH_PORT_F(i915);
+ if (port == PORT_F && display->is.ICELAKE)
+ return display->is.ICELAKE_PORT_F;
return true;
}
@@ -2906,7 +2899,7 @@ init_vbt_missing_defaults(struct intel_display *display)
unsigned int ports = DISPLAY_RUNTIME_INFO(display)->port_mask;
enum port port;
- if (!HAS_DDI(display) && !IS_CHERRYVIEW(i915))
+ if (!HAS_DDI(display) && !display->is.CHERRYVIEW)
return;
for_each_port_masked(port, ports) {
@@ -3671,17 +3664,16 @@ static const u8 direct_aux_ch_map[] = {
static enum aux_ch map_aux_ch(struct intel_display *display, u8 aux_channel)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
const u8 *aux_ch_map;
int i, n_entries;
if (DISPLAY_VER(display) >= 13) {
aux_ch_map = adlp_aux_ch_map;
n_entries = ARRAY_SIZE(adlp_aux_ch_map);
- } else if (IS_ALDERLAKE_S(i915)) {
+ } else if (display->is.ALDERLAKE_S) {
aux_ch_map = adls_aux_ch_map;
n_entries = ARRAY_SIZE(adls_aux_ch_map);
- } else if (IS_DG1(i915) || IS_ROCKETLAKE(i915)) {
+ } else if (display->is.DG1 || display->is.ROCKETLAKE) {
aux_ch_map = rkl_aux_ch_map;
n_entries = ARRAY_SIZE(rkl_aux_ch_map);
} else {
--
2.39.2
^ permalink raw reply related [flat|nested] 34+ messages in thread
* [PATCH v3] drm/i915/display: add platforms "is" member to struct intel_display
2024-08-19 18:44 ` [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display Jani Nikula
@ 2024-08-19 18:48 ` Jani Nikula
2024-08-28 20:48 ` Rodrigo Vivi
2024-08-28 20:47 ` [PATCH v2 5/9] " Rodrigo Vivi
1 sibling, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-08-19 18:48 UTC (permalink / raw)
To: Jani Nikula, intel-gfx, intel-xe
Cc: rodrigo.vivi, lucas.demarchi, ville.syrjala
Facilitate using display->is.HASWELL and display->is.HASWELL_ULT
etc. for identifying platforms and subplatforms. Merge platform and
subplatform members together.
v3:
- Fix sanity check on display->is after merging subplatform members
v2:
- Use bitmap ops
- Add some sanity checks with warnings
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 | 31 +++++++++++++++++--
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 0a711114ff2b..b2907894fa28 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 (and subplatform, if any) identification */
+ struct intel_display_platforms 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 55ab1923c8b3..d0b7cf63bc9f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -1269,8 +1269,28 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
return NULL;
}
+/* Size of the entire bitmap, not the number of platforms */
+static unsigned int display_platforms_num_bits(void)
+{
+ return sizeof(((struct intel_display_platforms *)0)->bitmap) * BITS_PER_BYTE;
+}
+
+/* Number of platform bits set */
+static unsigned int display_platforms_weight(const struct intel_display_platforms *p)
+{
+ return bitmap_weight(p->bitmap, display_platforms_num_bits());
+}
+
+/* Merge the subplatform information from src to dst */
+static void display_platforms_or(struct intel_display_platforms *dst,
+ const struct intel_display_platforms *src)
+{
+ bitmap_or(dst->bitmap, dst->bitmap, src->bitmap, display_platforms_num_bits());
+}
+
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 = {};
@@ -1306,13 +1326,20 @@ 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);
+ drm_WARN_ON(&i915->drm, !desc->platform || !desc->name ||
+ display_platforms_weight(&desc->platforms) != 1);
DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
+ display->is = desc->platforms;
subdesc = find_subplatform_desc(pdev, desc);
if (subdesc) {
- drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
+ drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name ||
+ display_platforms_weight(&subdesc->platforms) != 1);
DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
+ display_platforms_or(&display->is, &subdesc->platforms);
+
+ /* Ensure platform and subplatform are distinct */
+ drm_WARN_ON(&i915->drm, display_platforms_weight(&display->is) == 1);
}
if (ip_ver.ver || ip_ver.rel || ip_ver.step)
--
2.39.2
^ permalink raw reply related [flat|nested] 34+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (8 preceding siblings ...)
2024-08-19 18:44 ` [PATCH v2 9/9] drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM() Jani Nikula
@ 2024-08-19 19:13 ` Patchwork
2024-08-19 19:13 ` ✗ Fi.CI.SPARSE: " Patchwork
` (3 subsequent siblings)
13 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2024-08-19 19:13 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
URL : https://patchwork.freedesktop.org/series/135016/
State : warning
== Summary ==
Error: dim checkpatch failed
49590e10bdf0 drm/i915/display: use a macro to initialize subplatforms
8be6dec8c79a drm/i915/display: use a macro to define platform enumerations
-:20: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#20: 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)
-:20: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'func' - possible side-effects?
#20: 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
2476aacca30b drm/i915/display: join the platform and subplatform enums
cb22b2f36651 drm/i915/display: add display platforms structure with platform members
-:66: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#66: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:105:
+#define __MEMBER(name) unsigned long name:1;
-:67: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#67: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:106:
+#define __COUNT(x) 1 +
-:67: WARNING:MACRO_ARG_UNUSED: Argument 'x' is not used in function-like macro
#67: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:106:
+#define __COUNT(x) 1 +
total: 1 errors, 2 warnings, 0 checks, 59 lines checked
b04a2536fb37 drm/i915/display: add platforms "is" member to struct intel_display
aef1eff07425 drm/i915/display: remove the display platform enum as unnecessary
d93f125cade6 drm/i915/display: consider HSW/BDW ULX to also be ULT
-:41: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#41: FILE: drivers/gpu/drm/i915/display/intel_display_device.c:539:
+ { SUBPLATFORM(BROADWELL, ULT), SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
total: 0 errors, 1 warnings, 0 checks, 18 lines checked
c1c2e8951d99 drm/i915/display: keep subplatforms next to their platforms
562e204f4251 drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM()
^ permalink raw reply [flat|nested] 34+ messages in thread
* ✗ Fi.CI.SPARSE: warning for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (9 preceding siblings ...)
2024-08-19 19:13 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3) Patchwork
@ 2024-08-19 19:13 ` Patchwork
2024-08-19 19:15 ` ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
13 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2024-08-19 19:13 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
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] 34+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (10 preceding siblings ...)
2024-08-19 19:13 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-08-19 19:15 ` Patchwork
2024-08-20 9:51 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-08-28 20:41 ` [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Rodrigo Vivi
13 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2024-08-19 19:15 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 16892 bytes --]
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
URL : https://patchwork.freedesktop.org/series/135016/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_15261 -> Patchwork_135016v3
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/index.html
Participating hosts (39 -> 39)
------------------------------
Additional (3): bat-dg1-7 bat-mtlp-8 bat-mtlp-6
Missing (3): bat-arls-1 fi-snb-2520m fi-kbl-8809g
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_135016v3:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_selftest@live@sanitycheck:
- {bat-arlh-3}: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/bat-arlh-3/igt@i915_selftest@live@sanitycheck.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-arlh-3/igt@i915_selftest@live@sanitycheck.html
Known issues
------------
Here are the changes found in Patchwork_135016v3 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_135016v3/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html
- bat-mtlp-6: NOTRUN -> [SKIP][4] ([i915#9318])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@debugfs_test@basic-hwmon.html
* igt@fbdev@info:
- bat-mtlp-6: NOTRUN -> [SKIP][5] ([i915#1849] / [i915#2582])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@fbdev@info.html
* igt@fbdev@write:
- bat-mtlp-6: NOTRUN -> [SKIP][6] ([i915#2582]) +3 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@fbdev@write.html
* igt@gem_lmem_swapping@verify-random:
- bat-mtlp-6: NOTRUN -> [SKIP][7] ([i915#4613]) +3 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@gem_lmem_swapping@verify-random.html
- bat-mtlp-8: NOTRUN -> [SKIP][8] ([i915#4613]) +3 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html
* igt@gem_mmap@basic:
- bat-dg1-7: NOTRUN -> [SKIP][9] ([i915#4083])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@gem_mmap@basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][10] ([i915#4083])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@gem_mmap@basic.html
- bat-mtlp-6: NOTRUN -> [SKIP][11] ([i915#4083])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@gem_mmap@basic.html
* igt@gem_mmap_gtt@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][12] ([i915#4077]) +2 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@gem_mmap_gtt@basic.html
* igt@gem_render_tiled_blits@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][13] ([i915#4079]) +1 other test skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html
* igt@gem_tiled_blits@basic:
- bat-mtlp-6: NOTRUN -> [SKIP][14] ([i915#4077]) +2 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@gem_tiled_blits@basic.html
* igt@gem_tiled_fence_blits@basic:
- bat-dg1-7: NOTRUN -> [SKIP][15] ([i915#4077]) +2 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html
* igt@gem_tiled_pread_basic:
- bat-dg1-7: NOTRUN -> [SKIP][16] ([i915#4079]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@gem_tiled_pread_basic.html
- bat-mtlp-6: NOTRUN -> [SKIP][17] ([i915#4079]) +1 other test skip
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@gem_tiled_pread_basic.html
* igt@i915_pm_rps@basic-api:
- bat-dg1-7: NOTRUN -> [SKIP][18] ([i915#11681] / [i915#6621])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@i915_pm_rps@basic-api.html
- bat-mtlp-8: NOTRUN -> [SKIP][19] ([i915#11681] / [i915#6621])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
- bat-mtlp-6: NOTRUN -> [SKIP][20] ([i915#11681] / [i915#6621])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@gt_lrc:
- bat-rplp-1: [PASS][21] -> [INCOMPLETE][22] ([i915#9413])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/bat-rplp-1/igt@i915_selftest@live@gt_lrc.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-rplp-1/igt@i915_selftest@live@gt_lrc.html
* igt@i915_selftest@live@hangcheck:
- bat-arls-2: [PASS][23] -> [DMESG-WARN][24] ([i915#11349] / [i915#11378])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/bat-arls-2/igt@i915_selftest@live@hangcheck.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-arls-2/igt@i915_selftest@live@hangcheck.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- bat-mtlp-6: NOTRUN -> [SKIP][25] ([i915#4212] / [i915#9792]) +8 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- bat-dg1-7: NOTRUN -> [SKIP][26] ([i915#4212]) +7 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][27] ([i915#5190])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-mtlp-6: NOTRUN -> [SKIP][28] ([i915#5190] / [i915#9792])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][29] ([i915#4212]) +8 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg1-7: NOTRUN -> [SKIP][30] ([i915#4215])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][31] ([i915#4213]) +1 other test skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-dg1-7: NOTRUN -> [SKIP][32] ([i915#4103] / [i915#4213]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
- bat-mtlp-6: NOTRUN -> [SKIP][33] ([i915#9792]) +17 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html
* igt@kms_dsc@dsc-basic:
- bat-mtlp-8: NOTRUN -> [SKIP][34] ([i915#3555] / [i915#3840] / [i915#9159])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_dsc@dsc-basic.html
- bat-dg1-7: NOTRUN -> [SKIP][35] ([i915#3555] / [i915#3840])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_dsc@dsc-basic.html
* igt@kms_flip@basic-flip-vs-dpms:
- bat-mtlp-6: NOTRUN -> [SKIP][36] ([i915#3637] / [i915#9792]) +3 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-mtlp-8: NOTRUN -> [SKIP][37]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg1-7: NOTRUN -> [SKIP][38]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_force_connector_basic@prune-stale-modes:
- bat-mtlp-8: NOTRUN -> [SKIP][39] ([i915#5274])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html
- bat-mtlp-6: NOTRUN -> [SKIP][40] ([i915#5274] / [i915#9792])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_frontbuffer_tracking@basic:
- bat-mtlp-6: NOTRUN -> [SKIP][41] ([i915#4342] / [i915#5354] / [i915#9792])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_frontbuffer_tracking@basic.html
* igt@kms_hdmi_inject@inject-audio:
- bat-dg1-7: NOTRUN -> [SKIP][42] ([i915#433])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_pm_backlight@basic-brightness:
- bat-dg1-7: NOTRUN -> [SKIP][43] ([i915#5354])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
- bat-mtlp-6: NOTRUN -> [SKIP][44] ([i915#5354] / [i915#9792])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_psr@psr-cursor-plane-move:
- bat-mtlp-6: NOTRUN -> [SKIP][45] ([i915#1072] / [i915#9673] / [i915#9732] / [i915#9792]) +3 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_psr@psr-primary-mmap-gtt@edp-1:
- bat-mtlp-8: NOTRUN -> [SKIP][46] ([i915#4077] / [i915#9688])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html
* igt@kms_psr@psr-primary-page-flip:
- bat-dg1-7: NOTRUN -> [SKIP][47] ([i915#1072] / [i915#9732]) +3 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-mtlp-8: NOTRUN -> [SKIP][48] ([i915#3555] / [i915#8809])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
- bat-mtlp-6: NOTRUN -> [SKIP][49] ([i915#3555] / [i915#8809] / [i915#9792])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: NOTRUN -> [SKIP][50] ([i915#3555])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-flip:
- bat-dg1-7: NOTRUN -> [SKIP][51] ([i915#3708]) +3 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html
- bat-mtlp-6: NOTRUN -> [SKIP][52] ([i915#3708] / [i915#9792])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-mmap:
- bat-dg1-7: NOTRUN -> [SKIP][53] ([i915#3708] / [i915#4077]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
- bat-mtlp-6: NOTRUN -> [SKIP][54] ([i915#3708] / [i915#4077]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@prime_vgem@basic-fence-mmap.html
- bat-mtlp-8: NOTRUN -> [SKIP][55] ([i915#3708] / [i915#4077]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- bat-mtlp-8: NOTRUN -> [SKIP][56] ([i915#3708]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-read:
- bat-mtlp-6: NOTRUN -> [SKIP][57] ([i915#3708]) +1 other test skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@prime_vgem@basic-read.html
* igt@prime_vgem@basic-write:
- bat-mtlp-8: NOTRUN -> [SKIP][58] ([i915#10216] / [i915#3708])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-8/igt@prime_vgem@basic-write.html
- bat-mtlp-6: NOTRUN -> [SKIP][59] ([i915#10216] / [i915#3708])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/bat-mtlp-6/igt@prime_vgem@basic-write.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#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#11349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11349
[i915#11378]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11378
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[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#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#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[i915#433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/433
[i915#4342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4342
[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#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[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#9413]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9413
[i915#9673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9673
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9792]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9792
Build changes
-------------
* Linux: CI_DRM_15261 -> Patchwork_135016v3
CI-20190529: 20190529
CI_DRM_15261: 19d5b3fcc4a8dcf26076e522c794164f4d3e40c0 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7975: 7975
Patchwork_135016v3: 19d5b3fcc4a8dcf26076e522c794164f4d3e40c0 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/index.html
[-- Attachment #2: Type: text/html, Size: 22192 bytes --]
^ permalink raw reply [flat|nested] 34+ messages in thread
* ✗ Fi.CI.IGT: failure for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (11 preceding siblings ...)
2024-08-19 19:15 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-08-20 9:51 ` Patchwork
2024-08-28 20:41 ` [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Rodrigo Vivi
13 siblings, 0 replies; 34+ messages in thread
From: Patchwork @ 2024-08-20 9:51 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 64856 bytes --]
== Series Details ==
Series: drm/i915/display: platform identification with display->is.<PLATFORM> (rev3)
URL : https://patchwork.freedesktop.org/series/135016/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_15261_full -> Patchwork_135016v3_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_135016v3_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_135016v3_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 -> 10)
------------------------------
Additional (1): shard-snb-0
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_135016v3_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_gttfill@multigpu-basic:
- shard-glk: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-glk8/igt@gem_exec_gttfill@multigpu-basic.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk5/igt@gem_exec_gttfill@multigpu-basic.html
* igt@i915_selftest@live@gt_pm:
- shard-rkl: [PASS][3] -> [DMESG-FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-2/igt@i915_selftest@live@gt_pm.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-2/igt@i915_selftest@live@gt_pm.html
Known issues
------------
Here are the changes found in Patchwork_135016v3_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-keep-cache:
- shard-dg2: NOTRUN -> [SKIP][5] ([i915#8411])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@api_intel_bb@blit-reloc-keep-cache.html
* igt@drm_fdinfo@busy-idle-check-all@vcs1:
- shard-dg1: NOTRUN -> [SKIP][6] ([i915#8414]) +11 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@drm_fdinfo@busy-idle-check-all@vcs1.html
* igt@drm_fdinfo@most-busy-idle-check-all@vecs1:
- shard-dg2: NOTRUN -> [SKIP][7] ([i915#8414]) +6 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@drm_fdinfo@most-busy-idle-check-all@vecs1.html
* igt@gem_ccs@block-multicopy-inplace:
- shard-dg1: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@gem_ccs@block-multicopy-inplace.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-dg2: NOTRUN -> [SKIP][9] ([i915#7697])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_ctx_persistence@heartbeat-hang:
- shard-dg2: NOTRUN -> [SKIP][10] ([i915#8555])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_ctx_persistence@heartbeat-hang.html
* igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0:
- shard-dg2: NOTRUN -> [SKIP][11] ([i915#5882]) +6 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0.html
* igt@gem_ctx_persistence@smoketest:
- shard-rkl: [PASS][12] -> [FAIL][13] ([i915#11837])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-5/igt@gem_ctx_persistence@smoketest.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-2/igt@gem_ctx_persistence@smoketest.html
* igt@gem_ctx_sseu@engines:
- shard-rkl: NOTRUN -> [SKIP][14] ([i915#280])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-dg2: NOTRUN -> [SKIP][15] ([i915#280])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_eio@kms:
- shard-dg2: NOTRUN -> [FAIL][16] ([i915#5784])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@gem_eio@kms.html
* igt@gem_exec_balancer@bonded-dual:
- shard-dg1: NOTRUN -> [SKIP][17] ([i915#4771]) +1 other test skip
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@gem_exec_balancer@bonded-dual.html
* igt@gem_exec_balancer@parallel-bb-first:
- shard-rkl: NOTRUN -> [SKIP][18] ([i915#4525])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@gem_exec_balancer@parallel-bb-first.html
* igt@gem_exec_big@single:
- shard-tglu: [PASS][19] -> [ABORT][20] ([i915#11713])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-6/igt@gem_exec_big@single.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-6/igt@gem_exec_big@single.html
* igt@gem_exec_capture@capture-invisible@smem0:
- shard-rkl: NOTRUN -> [SKIP][21] ([i915#6334])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gem_exec_capture@capture-invisible@smem0.html
* igt@gem_exec_fair@basic-none:
- shard-dg1: NOTRUN -> [SKIP][22] ([i915#3539] / [i915#4852]) +5 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@gem_exec_fair@basic-none.html
* igt@gem_exec_fair@basic-none-rrul@rcs0:
- shard-glk: NOTRUN -> [FAIL][23] ([i915#2842]) +1 other test fail
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk6/igt@gem_exec_fair@basic-none-rrul@rcs0.html
* igt@gem_exec_fair@basic-pace-solo:
- shard-dg2: NOTRUN -> [SKIP][24] ([i915#3539])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_exec_fair@basic-pace-solo.html
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-rkl: [PASS][25] -> [FAIL][26] ([i915#2842])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-4/igt@gem_exec_fair@basic-pace@rcs0.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-5/igt@gem_exec_fair@basic-pace@rcs0.html
* igt@gem_exec_fair@basic-throttle:
- shard-dg1: NOTRUN -> [SKIP][27] ([i915#3539])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@gem_exec_fair@basic-throttle.html
* igt@gem_exec_fence@submit67:
- shard-dg2: NOTRUN -> [SKIP][28] ([i915#4812])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@gem_exec_fence@submit67.html
* igt@gem_exec_flush@basic-wb-pro-default:
- shard-dg2: NOTRUN -> [SKIP][29] ([i915#3539] / [i915#4852])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_exec_flush@basic-wb-pro-default.html
* igt@gem_exec_reloc@basic-gtt-active:
- shard-dg2: NOTRUN -> [SKIP][30] ([i915#3281]) +8 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_exec_reloc@basic-gtt-active.html
* igt@gem_exec_reloc@basic-wc-gtt-noreloc:
- shard-dg1: NOTRUN -> [SKIP][31] ([i915#3281]) +7 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@gem_exec_reloc@basic-wc-gtt-noreloc.html
* igt@gem_exec_reloc@basic-write-cpu:
- shard-rkl: NOTRUN -> [SKIP][32] ([i915#3281])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@gem_exec_reloc@basic-write-cpu.html
* igt@gem_exec_schedule@preempt-queue-contexts:
- shard-dg1: NOTRUN -> [SKIP][33] ([i915#4812]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@gem_exec_schedule@preempt-queue-contexts.html
* igt@gem_exec_schedule@reorder-wide:
- shard-dg2: NOTRUN -> [SKIP][34] ([i915#4537] / [i915#4812])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@gem_exec_schedule@reorder-wide.html
* igt@gem_exec_schedule@semaphore-power:
- shard-rkl: NOTRUN -> [SKIP][35] ([i915#7276])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gem_exec_schedule@semaphore-power.html
* igt@gem_fence_thrash@bo-write-verify-threaded-none:
- shard-dg1: NOTRUN -> [SKIP][36] ([i915#4860]) +2 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@gem_fence_thrash@bo-write-verify-threaded-none.html
* igt@gem_lmem_swapping@heavy-multi:
- shard-rkl: NOTRUN -> [SKIP][37] ([i915#4613]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gem_lmem_swapping@heavy-multi.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs:
- shard-glk: NOTRUN -> [SKIP][38] ([i915#4613]) +3 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk9/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
* igt@gem_mmap_gtt@cpuset-big-copy-odd:
- shard-dg2: NOTRUN -> [SKIP][39] ([i915#4077]) +3 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
* igt@gem_mmap_wc@write-prefaulted:
- shard-dg2: NOTRUN -> [SKIP][40] ([i915#4083]) +1 other test skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_mmap_wc@write-prefaulted.html
* igt@gem_mmap_wc@write-read:
- shard-dg1: NOTRUN -> [SKIP][41] ([i915#4083]) +7 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@gem_mmap_wc@write-read.html
* igt@gem_partial_pwrite_pread@reads-snoop:
- shard-dg1: NOTRUN -> [SKIP][42] ([i915#3282]) +2 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@gem_partial_pwrite_pread@reads-snoop.html
* igt@gem_partial_pwrite_pread@write-uncached:
- shard-dg2: NOTRUN -> [SKIP][43] ([i915#3282]) +2 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@gem_partial_pwrite_pread@write-uncached.html
* igt@gem_pread@uncached:
- shard-rkl: NOTRUN -> [SKIP][44] ([i915#3282]) +2 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gem_pread@uncached.html
* igt@gem_pxp@create-protected-buffer:
- shard-dg1: NOTRUN -> [SKIP][45] ([i915#4270]) +2 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@gem_pxp@create-protected-buffer.html
* igt@gem_pxp@verify-pxp-stale-ctx-execution:
- shard-rkl: NOTRUN -> [SKIP][46] ([i915#4270])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gem_pxp@verify-pxp-stale-ctx-execution.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled-ccs:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#5190] / [i915#8428]) +2 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-ccs.html
* igt@gem_softpin@evict-snoop-interruptible:
- shard-dg1: NOTRUN -> [SKIP][48] ([i915#4885])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@gem_softpin@evict-snoop-interruptible.html
* igt@gem_spin_batch@spin-all-new:
- shard-dg2: NOTRUN -> [FAIL][49] ([i915#5889])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_spin_batch@spin-all-new.html
* igt@gem_tiled_partial_pwrite_pread@writes-after-reads:
- shard-dg1: NOTRUN -> [SKIP][50] ([i915#4077]) +16 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@gem_tiled_partial_pwrite_pread@writes-after-reads.html
* igt@gem_userptr_blits@coherency-sync:
- shard-dg1: NOTRUN -> [SKIP][51] ([i915#3297])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@gem_userptr_blits@coherency-sync.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-glk: NOTRUN -> [SKIP][52] ([i915#3323])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk6/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@forbidden-operations:
- shard-dg1: NOTRUN -> [SKIP][53] ([i915#3282] / [i915#3297])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@gem_userptr_blits@forbidden-operations.html
* igt@gem_userptr_blits@invalid-mmap-offset-unsync:
- shard-dg2: NOTRUN -> [SKIP][54] ([i915#3297])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html
* igt@gem_userptr_blits@relocations:
- shard-dg2: NOTRUN -> [SKIP][55] ([i915#3281] / [i915#3297])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@gem_userptr_blits@relocations.html
* igt@gen9_exec_parse@allowed-single:
- shard-rkl: NOTRUN -> [SKIP][56] ([i915#2527])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@bb-oversize:
- shard-dg1: NOTRUN -> [SKIP][57] ([i915#2527]) +3 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@gen9_exec_parse@bb-oversize.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-dg2: NOTRUN -> [SKIP][58] ([i915#2856])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@gen9_exec_parse@bb-start-cmd.html
* igt@i915_fb_tiling:
- shard-dg1: NOTRUN -> [SKIP][59] ([i915#4881])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@i915_fb_tiling.html
* igt@i915_module_load@load:
- shard-glk: NOTRUN -> [SKIP][60] ([i915#6227])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk8/igt@i915_module_load@load.html
* igt@i915_module_load@resize-bar:
- shard-dg1: NOTRUN -> [SKIP][61] ([i915#7178])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@i915_module_load@resize-bar.html
* igt@i915_pipe_stress@stress-xrgb8888-ytiled:
- shard-dg2: NOTRUN -> [SKIP][62] ([i915#7091])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-rkl: NOTRUN -> [SKIP][63] ([i915#8399])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@i915_pm_freq_api@freq-suspend.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
- shard-dg1: [PASS][64] -> [FAIL][65] ([i915#3591])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
* igt@i915_pm_rps@reset:
- shard-tglu: [PASS][66] -> [INCOMPLETE][67] ([i915#11848])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-6/igt@i915_pm_rps@reset.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-7/igt@i915_pm_rps@reset.html
* igt@i915_power@sanity:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#7984])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@i915_power@sanity.html
* igt@i915_query@hwconfig_table:
- shard-dg1: NOTRUN -> [SKIP][69] ([i915#6245])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@i915_query@hwconfig_table.html
* igt@i915_selftest@mock@memory_region:
- shard-dg2: NOTRUN -> [DMESG-WARN][70] ([i915#9311])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@i915_selftest@mock@memory_region.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- shard-dg1: NOTRUN -> [SKIP][71] ([i915#4215])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_addfb_basic@bo-too-small-due-to-tiling:
- shard-dg2: NOTRUN -> [SKIP][72] ([i915#4212])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-rkl: NOTRUN -> [SKIP][73] ([i915#9531])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-dg1: NOTRUN -> [SKIP][74] ([i915#1769] / [i915#3555])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1:
- shard-mtlp: [PASS][75] -> [FAIL][76] ([i915#11808] / [i915#5956])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-mtlp-3/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-mtlp-7/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html
* igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
- shard-dg1: NOTRUN -> [SKIP][77] ([i915#5286])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180:
- shard-rkl: NOTRUN -> [SKIP][78] ([i915#5286]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#4538] / [i915#5286]) +4 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][80] ([i915#3638]) +1 other test skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][81] ([i915#3638]) +1 other test skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#4538] / [i915#5190]) +5 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
- shard-dg1: NOTRUN -> [SKIP][83] ([i915#4538]) +2 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_big_fb@yf-tiled-8bpp-rotate-180.html
* igt@kms_big_joiner@basic:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#10656]) +1 other test skip
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_big_joiner@basic.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][85] ([i915#6095]) +83 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-3.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][86] ([i915#10307] / [i915#6095]) +166 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][87] ([i915#6095]) +49 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][88] ([i915#10307] / [i915#10434] / [i915#6095]) +8 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][89] ([i915#4087]) +3 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3.html
* igt@kms_chamelium_audio@hdmi-audio:
- shard-dg2: NOTRUN -> [SKIP][90] ([i915#7828]) +3 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_chamelium_audio@hdmi-audio.html
* igt@kms_chamelium_audio@hdmi-audio-edid:
- shard-dg1: NOTRUN -> [SKIP][91] ([i915#7828]) +8 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_chamelium_audio@hdmi-audio-edid.html
* igt@kms_chamelium_frames@hdmi-crc-multiple:
- shard-rkl: NOTRUN -> [SKIP][92] ([i915#7828]) +2 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_chamelium_frames@hdmi-crc-multiple.html
* igt@kms_content_protection@atomic:
- shard-dg2: NOTRUN -> [SKIP][93] ([i915#7118] / [i915#9424])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@content-type-change:
- shard-dg1: NOTRUN -> [SKIP][94] ([i915#9424])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@legacy@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][95] ([i915#7173])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-11/igt@kms_content_protection@legacy@pipe-a-dp-4.html
* igt@kms_content_protection@lic-type-1:
- shard-rkl: NOTRUN -> [SKIP][96] ([i915#9424])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_content_protection@lic-type-1.html
* igt@kms_cursor_crc@cursor-offscreen-max-size:
- shard-dg1: NOTRUN -> [SKIP][97] ([i915#3555]) +2 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_cursor_crc@cursor-offscreen-max-size.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-rkl: NOTRUN -> [SKIP][98] ([i915#11453]) +2 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#3555]) +4 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-max-size:
- shard-dg2: NOTRUN -> [SKIP][100] ([i915#3555]) +2 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-rkl: NOTRUN -> [SKIP][101] +12 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-glk: NOTRUN -> [FAIL][102] ([i915#2346])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-dg1: NOTRUN -> [SKIP][103] ([i915#4103] / [i915#4213])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-rkl: NOTRUN -> [SKIP][104] ([i915#9723])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_draw_crc@draw-method-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][105] ([i915#8812])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_draw_crc@draw-method-mmap-wc.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-dg1: NOTRUN -> [SKIP][106] ([i915#3555] / [i915#3840])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_feature_discovery@display-4x:
- shard-dg1: NOTRUN -> [SKIP][107] ([i915#1839])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@psr1:
- shard-dg2: NOTRUN -> [SKIP][108] ([i915#658])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-dg1: NOTRUN -> [SKIP][109] ([i915#9934]) +2 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-dg2: NOTRUN -> [SKIP][110] +6 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_flip@2x-modeset-vs-vblank-race.html
* igt@kms_flip@blocking-wf_vblank@d-hdmi-a3:
- shard-dg2: NOTRUN -> [FAIL][111] ([i915#2122])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_flip@blocking-wf_vblank@d-hdmi-a3.html
* igt@kms_flip@flip-vs-fences:
- shard-dg1: NOTRUN -> [SKIP][112] ([i915#8381])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_flip@flip-vs-fences.html
* igt@kms_flip@flip-vs-panning@a-hdmi-a1:
- shard-dg2: NOTRUN -> [INCOMPLETE][113] ([i915#6113])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_flip@flip-vs-panning@a-hdmi-a1.html
* igt@kms_flip@plain-flip-ts-check@b-vga1:
- shard-snb: [PASS][114] -> [FAIL][115] ([i915#2122]) +2 other tests fail
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-snb6/igt@kms_flip@plain-flip-ts-check@b-vga1.html
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-snb7/igt@kms_flip@plain-flip-ts-check@b-vga1.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][116] ([i915#2587] / [i915#2672]) +2 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][117] ([i915#2672]) +2 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][118] ([i915#2672])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-rte:
- shard-dg2: NOTRUN -> [SKIP][119] ([i915#5354]) +16 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-2p-rte.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-dg1: NOTRUN -> [SKIP][120] +38 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-rkl: NOTRUN -> [SKIP][121] ([i915#3023]) +7 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][122] ([i915#8708]) +11 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][123] ([i915#1825]) +16 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render:
- shard-dg1: NOTRUN -> [SKIP][124] ([i915#3458]) +15 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-dg2: NOTRUN -> [SKIP][125] ([i915#10055])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-rkl: NOTRUN -> [SKIP][126] ([i915#9766])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][127] ([i915#8708]) +18 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-rte:
- shard-dg2: NOTRUN -> [SKIP][128] ([i915#3458]) +8 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-1p-rte.html
* igt@kms_hdmi_inject@inject-audio:
- shard-dg1: NOTRUN -> [SKIP][129] ([i915#433])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_hdr@bpc-switch:
- shard-dg1: NOTRUN -> [SKIP][130] ([i915#3555] / [i915#8228]) +2 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_hdr@bpc-switch.html
* igt@kms_hdr@static-toggle-dpms:
- shard-dg2: NOTRUN -> [SKIP][131] ([i915#3555] / [i915#8228])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-dg2: NOTRUN -> [SKIP][132] ([i915#6301])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][133] ([i915#7862]) +1 other test fail
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk9/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1.html
* igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][134] ([i915#10647]) +1 other test fail
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk8/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1.html
* igt@kms_plane_lowres@tiling-y:
- shard-dg2: NOTRUN -> [SKIP][135] ([i915#8821])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_plane_lowres@tiling-y.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [FAIL][136] ([i915#8292])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-11/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [FAIL][137] ([i915#8292])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][138] ([i915#9423]) +28 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-1/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][139] ([i915#9423]) +9 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][140] ([i915#5176] / [i915#9423]) +3 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][141] ([i915#9423]) +7 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-18/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d-hdmi-a-4.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][142] ([i915#5235] / [i915#9423]) +2 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-8/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-1.html
- shard-rkl: NOTRUN -> [SKIP][143] ([i915#5235]) +1 other test skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-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][144] ([i915#5235]) +2 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c-hdmi-a-4.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][145] ([i915#9728]) +5 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][146] ([i915#9728]) +8 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b-hdmi-a-3.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-rkl: NOTRUN -> [SKIP][147] ([i915#5354])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-dg1: NOTRUN -> [SKIP][148] ([i915#5354])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc6-dpms:
- shard-dg1: NOTRUN -> [SKIP][149] ([i915#3361])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_pm_dc@dc6-dpms.html
- shard-tglu: [PASS][150] -> [FAIL][151] ([i915#9295])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-3/igt@kms_pm_dc@dc6-dpms.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-9/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-rkl: [PASS][152] -> [SKIP][153] ([i915#9519]) +1 other test skip
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-4/igt@kms_pm_rpm@dpms-lpsp.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-6/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [PASS][154] -> [SKIP][155] ([i915#9519]) +2 other tests skip
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-7/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@dpms-non-lpsp:
- shard-dg2: NOTRUN -> [SKIP][156] ([i915#9519])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_pm_rpm@dpms-non-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-dg1: NOTRUN -> [SKIP][157] ([i915#9519])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-rkl: NOTRUN -> [SKIP][158] ([i915#9519])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_prime@basic-crc-hybrid:
- shard-dg2: NOTRUN -> [SKIP][159] ([i915#6524] / [i915#6805])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@d3hot:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#6524])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
- shard-dg1: NOTRUN -> [SKIP][161] ([i915#11520]) +3 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][162] ([i915#11520]) +1 other test skip
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
- shard-dg2: NOTRUN -> [SKIP][163] ([i915#11520]) +1 other test skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-dg1: NOTRUN -> [SKIP][164] ([i915#9683]) +1 other test skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr@fbc-pr-sprite-render:
- shard-dg1: NOTRUN -> [SKIP][165] ([i915#1072] / [i915#9732]) +18 other tests skip
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_psr@fbc-pr-sprite-render.html
* igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
- shard-glk: NOTRUN -> [SKIP][166] +299 other tests skip
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk6/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-rkl: NOTRUN -> [SKIP][167] ([i915#1072] / [i915#9732]) +9 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_psr@psr-cursor-render:
- shard-dg2: NOTRUN -> [SKIP][168] ([i915#1072] / [i915#9732]) +9 other tests skip
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_psr@psr-cursor-render.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-dg1: NOTRUN -> [SKIP][169] ([i915#9685]) +1 other test skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-dg2: NOTRUN -> [SKIP][170] ([i915#11131] / [i915#5190])
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-rkl: NOTRUN -> [SKIP][171] ([i915#5289])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-glk: NOTRUN -> [FAIL][172] ([i915#10959])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk7/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
- shard-mtlp: [PASS][173] -> [FAIL][174] ([i915#9196])
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-mtlp-5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-mtlp-5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [FAIL][175] ([i915#9196])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-14/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-4.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
- shard-tglu: [PASS][176] -> [FAIL][177] ([i915#9196])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-10/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-3/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
* igt@kms_vrr@flip-basic-fastset:
- shard-dg2: NOTRUN -> [SKIP][178] ([i915#9906])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-10/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_vrr@lobf:
- shard-dg2: NOTRUN -> [SKIP][179] ([i915#11920])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@kms_vrr@lobf.html
* igt@kms_vrr@negative-basic:
- shard-dg2: NOTRUN -> [SKIP][180] ([i915#3555] / [i915#9906])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-dg1: NOTRUN -> [SKIP][181] ([i915#9906])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-16/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-glk: NOTRUN -> [SKIP][182] ([i915#2437]) +2 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk8/igt@kms_writeback@writeback-pixel-formats.html
* igt@perf_pmu@rc6-all-gts:
- shard-dg1: NOTRUN -> [SKIP][183] ([i915#8516])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@perf_pmu@rc6-all-gts.html
* igt@prime_vgem@basic-fence-mmap:
- shard-dg1: NOTRUN -> [SKIP][184] ([i915#3708] / [i915#4077])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@fence-flip-hang:
- shard-rkl: NOTRUN -> [SKIP][185] ([i915#3708])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@prime_vgem@fence-flip-hang.html
* igt@prime_vgem@fence-read-hang:
- shard-dg1: NOTRUN -> [SKIP][186] ([i915#3708])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@prime_vgem@fence-read-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-rkl: NOTRUN -> [SKIP][187] ([i915#9917])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-1/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-dg2: NOTRUN -> [SKIP][188] ([i915#9917])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-6/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-dg1: NOTRUN -> [SKIP][189] ([i915#9917])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@tools_test@sysfs_l3_parity:
- shard-dg1: NOTRUN -> [SKIP][190] ([i915#4818])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-17/igt@tools_test@sysfs_l3_parity.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- shard-rkl: [FAIL][191] ([i915#7742]) -> [PASS][192] +1 other test pass
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-2/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-5/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@gen9_exec_parse@allowed-single:
- shard-glk: [ABORT][193] ([i915#5566]) -> [PASS][194]
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-glk7/igt@gen9_exec_parse@allowed-single.html
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-glk6/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0:
- shard-dg1: [FAIL][195] ([i915#3591]) -> [PASS][196] +1 other test pass
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
* igt@i915_pm_rpm@system-suspend-execbuf:
- shard-dg1: [DMESG-WARN][197] ([i915#4423]) -> [PASS][198]
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg1-18/igt@i915_pm_rpm@system-suspend-execbuf.html
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg1-13/igt@i915_pm_rpm@system-suspend-execbuf.html
* igt@i915_power@sanity:
- shard-mtlp: [SKIP][199] ([i915#7984]) -> [PASS][200]
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-mtlp-7/igt@i915_power@sanity.html
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-mtlp-3/igt@i915_power@sanity.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-d-hdmi-a-1:
- shard-tglu: [FAIL][201] ([i915#10991]) -> [PASS][202]
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-8/igt@kms_async_flips@alternate-sync-async-flip@pipe-d-hdmi-a-1.html
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-8/igt@kms_async_flips@alternate-sync-async-flip@pipe-d-hdmi-a-1.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-dg2: [FAIL][203] ([i915#6880]) -> [PASS][204] +1 other test pass
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [SKIP][205] ([i915#9519]) -> [PASS][206] +2 other tests pass
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-3/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
#### Warnings ####
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-tglu: [FAIL][207] ([i915#2842]) -> [FAIL][208] ([i915#2876])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-5/igt@gem_exec_fair@basic-pace@rcs0.html
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-10/igt@gem_exec_fair@basic-pace@rcs0.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-tglu: [ABORT][209] ([i915#10887] / [i915#9697]) -> [ABORT][210] ([i915#9820])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-tglu-3/igt@i915_module_load@reload-with-fault-injection.html
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-tglu-7/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-dg2: [SKIP][211] ([i915#11453]) -> [SKIP][212] ([i915#11453] / [i915#3359])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-3/igt@kms_cursor_crc@cursor-offscreen-512x512.html
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-11/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-dg2: [SKIP][213] ([i915#11453] / [i915#3359]) -> [SKIP][214] ([i915#11453])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-11/igt@kms_cursor_crc@cursor-sliding-512x512.html
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_pm_dc@dc6-dpms:
- shard-rkl: [FAIL][215] ([i915#9295]) -> [SKIP][216] ([i915#3361])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-5/igt@kms_pm_dc@dc6-dpms.html
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-2/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: [SKIP][217] ([i915#3361]) -> [SKIP][218] ([i915#4281])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-rkl-4/igt@kms_pm_dc@dc9-dpms.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-rkl-5/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_psr@fbc-pr-primary-render:
- shard-dg2: [SKIP][219] ([i915#1072] / [i915#9673] / [i915#9732]) -> [SKIP][220] ([i915#1072] / [i915#9732]) +10 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-11/igt@kms_psr@fbc-pr-primary-render.html
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-2/igt@kms_psr@fbc-pr-primary-render.html
* igt@kms_psr@psr2-cursor-blt:
- shard-dg2: [SKIP][221] ([i915#1072] / [i915#9732]) -> [SKIP][222] ([i915#1072] / [i915#9673] / [i915#9732]) +14 other tests skip
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-5/igt@kms_psr@psr2-cursor-blt.html
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-11/igt@kms_psr@psr2-cursor-blt.html
* igt@kms_rotation_crc@bad-tiling:
- shard-dg2: [SKIP][223] ([i915#11131]) -> [SKIP][224] ([i915#11131] / [i915#4235]) +1 other test skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-5/igt@kms_rotation_crc@bad-tiling.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-11/igt@kms_rotation_crc@bad-tiling.html
* igt@perf@non-zero-reason@0-rcs0:
- shard-dg2: [FAIL][225] ([i915#9100]) -> [FAIL][226] ([i915#7484])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15261/shard-dg2-1/igt@perf@non-zero-reason@0-rcs0.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135016v3/shard-dg2-4/igt@perf@non-zero-reason@0-rcs0.html
[i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
[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#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
[i915#10991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10991
[i915#11131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11131
[i915#11453]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11453
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11713
[i915#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808
[i915#11837]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11837
[i915#11848]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11848
[i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
[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#2122]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2122
[i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
[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#2842]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#2876]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2876
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
[i915#3359]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[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#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#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[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#433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/433
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881
[i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
[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#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
[i915#5784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5784
[i915#5882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5882
[i915#5889]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5889
[i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
[i915#6227]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6227
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
[i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
[i915#7091]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7091
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7178
[i915#7276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7276
[i915#7484]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7484
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
[i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8292]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8292
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[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#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
[i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
[i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100
[i915#9196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9196
[i915#9295]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9295
[i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[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#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
[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#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9728]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9728
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
[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_15261 -> Patchwork_135016v3
CI-20190529: 20190529
CI_DRM_15261: 19d5b3fcc4a8dcf26076e522c794164f4d3e40c0 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7975: 7975
Patchwork_135016v3: 19d5b3fcc4a8dcf26076e522c794164f4d3e40c0 @ 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_135016v3/index.html
[-- Attachment #2: Type: text/html, Size: 78033 bytes --]
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
` (12 preceding siblings ...)
2024-08-20 9:51 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2024-08-28 20:41 ` Rodrigo Vivi
2024-08-29 16:03 ` Ville Syrjälä
13 siblings, 1 reply; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:41 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
> v2 of [1]. Please read the cover letter there.
>
> This addresses review comments and adds a few more commits on top, in particular
> the last one showcasing the approach.
>
> The main question remains, is this what we want?
I don't know why, but the 'is' thing is still strange.
I know I know... I'm bad with naming myself.
I think about 'platform' but that get too big
if (display->platform.BROADWELL)
I think about 'gen' but then it is overloaded....
then I think about 'ip' is worse...
'version'?
'name'?
if (display->name.HASWELL)...
....
But well, I like the overall simplification here in general.
Without a better name to suggest, I guess let's just move ahead...
>
> BR,
> Jani.
>
> [1] https://lore.kernel.org/r/cover.1718719962.git.jani.nikula@intel.com
>
>
> Jani Nikula (9):
> 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 enums
> drm/i915/display: add display platforms structure with platform
> members
> drm/i915/display: add platforms "is" member to struct intel_display
> drm/i915/display: remove the display platform enum as unnecessary
> drm/i915/display: consider HSW/BDW ULX to also be ULT
> drm/i915/display: keep subplatforms next to their platforms
> drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM()
>
> drivers/gpu/drm/i915/display/intel_bios.c | 36 ++--
> .../gpu/drm/i915/display/intel_display_core.h | 3 +
> .../drm/i915/display/intel_display_device.c | 89 ++++++---
> .../drm/i915/display/intel_display_device.h | 180 ++++++++++--------
> 4 files changed, 174 insertions(+), 134 deletions(-)
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 4/9] drm/i915/display: add display platforms structure with platform members
2024-08-19 18:44 ` [PATCH v2 4/9] drm/i915/display: add display platforms structure with platform members Jani Nikula
@ 2024-08-28 20:46 ` Rodrigo Vivi
0 siblings, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:46 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:31PM +0300, Jani Nikula wrote:
> Add a structure with a bitfield member for each platform and
> subplatform, and initialize them in platform and subplatform descs.
>
> The structure also contains a bitmap in a union for easier manipulation
> of the bits.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_device.c | 8 ++++++--
> .../drm/i915/display/intel_display_device.h | 19 +++++++++++++++++++
> 2 files changed, 25 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 336cc8e717f5..55ab1923c8b3 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_platforms platforms;
> enum intel_display_platform subplatform;
singular and plural here gets a bit confusing as well...
perhaps we should change the enum to something else?
intel_display_plat_names :/
But well, again, I'm bad with names and without anything better to suggest:
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 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, \
> + .platforms._platform##_##_subplatform = 1
>
> struct platform_desc {
> + struct intel_display_platforms platforms;
> 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, \
> + .platforms._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 0a78f7438035..6f8814d1fabd 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -6,6 +6,7 @@
> #ifndef __INTEL_DISPLAY_DEVICE_H__
> #define __INTEL_DISPLAY_DEVICE_H__
>
> +#include <linux/bitops.h>
> #include <linux/types.h>
>
> #include "intel_display_conversion.h"
> @@ -101,6 +102,24 @@ enum intel_display_platform {
>
> #undef __ENUM
>
> +#define __MEMBER(name) unsigned long name:1;
> +#define __COUNT(x) 1 +
> +
> +#define __NUM_PLATFORMS (INTEL_DISPLAY_PLATFORMS(__COUNT) 0)
> +
> +struct intel_display_platforms {
> + union {
> + struct {
> + INTEL_DISPLAY_PLATFORMS(__MEMBER);
> + };
> + DECLARE_BITMAP(bitmap, __NUM_PLATFORMS);
> + };
> +};
> +
> +#undef __MEMBER
> +#undef __COUNT
> +#undef __NUM_PLATFORMS
> +
> #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
> /* Keep in alphabetical order */ \
> func(cursor_needs_physical); \
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display
2024-08-19 18:44 ` [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display Jani Nikula
2024-08-19 18:48 ` [PATCH v3] " Jani Nikula
@ 2024-08-28 20:47 ` Rodrigo Vivi
1 sibling, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:47 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:32PM +0300, Jani Nikula wrote:
11;rgb:ffff/ffff/ffff> Facilitate using display->is.HASWELL and display->is.HASWELL_ULT
> etc. for identifying platforms and subplatforms. Merge platform and
> subplatform members together.
>
> v2:
> - Use bitmap ops
> - Add some sanity checks with warnings
>
> 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 | 31 +++++++++++++++++--
> 2 files changed, 32 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 0a711114ff2b..b2907894fa28 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 (and subplatform, if any) identification */
> + struct intel_display_platforms is;
as I told, I don't have a better suggestion I'm afraid, so
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> +
> /* 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 55ab1923c8b3..3d3b4ed7940e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -1269,8 +1269,28 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
> return NULL;
> }
>
> +/* Size of the entire bitmap, not the number of platforms */
> +static unsigned int display_platforms_num_bits(void)
> +{
> + return sizeof(((struct intel_display_platforms *)0)->bitmap) * BITS_PER_BYTE;
> +}
> +
> +/* Number of platform bits set */
> +static unsigned int display_platforms_weight(const struct intel_display_platforms *p)
> +{
> + return bitmap_weight(p->bitmap, display_platforms_num_bits());
> +}
> +
> +/* Merge the subplatform information from src to dst */
> +static void display_platforms_or(struct intel_display_platforms *dst,
> + const struct intel_display_platforms *src)
> +{
> + bitmap_or(dst->bitmap, dst->bitmap, src->bitmap, display_platforms_num_bits());
> +}
> +
> 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 = {};
> @@ -1306,13 +1326,20 @@ 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);
> + drm_WARN_ON(&i915->drm, !desc->platform || !desc->name ||
> + display_platforms_weight(&desc->platforms) != 1);
> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
> + display->is = desc->platforms;
>
> subdesc = find_subplatform_desc(pdev, desc);
> if (subdesc) {
> - drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
> + drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name ||
> + display_platforms_weight(&subdesc->platforms) != 1);
> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
> + display_platforms_or(&display->is, &subdesc->platforms);
> +
> + /* Ensure platform and subplatform are distinct */
> + drm_WARN_ON(&i915->drm, display_platforms_weight(&subdesc->platforms) == 1);
> }
>
> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v3] drm/i915/display: add platforms "is" member to struct intel_display
2024-08-19 18:48 ` [PATCH v3] " Jani Nikula
@ 2024-08-28 20:48 ` Rodrigo Vivi
0 siblings, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:48 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:48:40PM +0300, Jani Nikula wrote:
> Facilitate using display->is.HASWELL and display->is.HASWELL_ULT
> etc. for identifying platforms and subplatforms. Merge platform and
> subplatform members together.
>
> v3:
> - Fix sanity check on display->is after merging subplatform members
ops, add my rv-b here instead of v2
>
> v2:
> - Use bitmap ops
> - Add some sanity checks with warnings
>
> 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 | 31 +++++++++++++++++--
> 2 files changed, 32 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 0a711114ff2b..b2907894fa28 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 (and subplatform, if any) identification */
> + struct intel_display_platforms 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 55ab1923c8b3..d0b7cf63bc9f 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -1269,8 +1269,28 @@ find_subplatform_desc(struct pci_dev *pdev, const struct platform_desc *desc)
> return NULL;
> }
>
> +/* Size of the entire bitmap, not the number of platforms */
> +static unsigned int display_platforms_num_bits(void)
> +{
> + return sizeof(((struct intel_display_platforms *)0)->bitmap) * BITS_PER_BYTE;
> +}
> +
> +/* Number of platform bits set */
> +static unsigned int display_platforms_weight(const struct intel_display_platforms *p)
> +{
> + return bitmap_weight(p->bitmap, display_platforms_num_bits());
> +}
> +
> +/* Merge the subplatform information from src to dst */
> +static void display_platforms_or(struct intel_display_platforms *dst,
> + const struct intel_display_platforms *src)
> +{
> + bitmap_or(dst->bitmap, dst->bitmap, src->bitmap, display_platforms_num_bits());
> +}
> +
> 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 = {};
> @@ -1306,13 +1326,20 @@ 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);
> + drm_WARN_ON(&i915->drm, !desc->platform || !desc->name ||
> + display_platforms_weight(&desc->platforms) != 1);
> DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
> + display->is = desc->platforms;
>
> subdesc = find_subplatform_desc(pdev, desc);
> if (subdesc) {
> - drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name);
> + drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name ||
> + display_platforms_weight(&subdesc->platforms) != 1);
> DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
> + display_platforms_or(&display->is, &subdesc->platforms);
> +
> + /* Ensure platform and subplatform are distinct */
> + drm_WARN_ON(&i915->drm, display_platforms_weight(&display->is) == 1);
> }
>
> if (ip_ver.ver || ip_ver.rel || ip_ver.step)
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 6/9] drm/i915/display: remove the display platform enum as unnecessary
2024-08-19 18:44 ` [PATCH v2 6/9] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
@ 2024-08-28 20:49 ` Rodrigo Vivi
0 siblings, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:49 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:33PM +0300, Jani Nikula wrote:
> The display platform enums are not really needed for
> anything. Remove.
>
> Without the enum, PLATFORM_UNINITIALIZED is also no longer needed for
> keeping the first enum 0.
oh great! no need to rename that then! :)
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 | 12 ------------
> 2 files changed, 3 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index 3d3b4ed7940e..90609b561630 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_platforms platforms;
> - enum intel_display_platform subplatform;
> const char *name;
> const u16 *pciidlist;
> };
>
> #define SUBPLATFORM(_platform, _subplatform) \
> - .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \
> .name = #_subplatform, \
> .platforms._platform##_##_subplatform = 1
>
> struct platform_desc {
> struct intel_display_platforms platforms;
> - 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, \
> .platforms._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;
> @@ -1326,16 +1322,14 @@ 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 ||
> + drm_WARN_ON(&i915->drm, !desc->name ||
> display_platforms_weight(&desc->platforms) != 1);
> - DISPLAY_RUNTIME_INFO(i915)->platform = desc->platform;
> display->is = desc->platforms;
>
> subdesc = find_subplatform_desc(pdev, desc);
> if (subdesc) {
> - drm_WARN_ON(&i915->drm, !subdesc->subplatform || !subdesc->name ||
> + drm_WARN_ON(&i915->drm, !subdesc->name ||
> display_platforms_weight(&subdesc->platforms) != 1);
> - DISPLAY_RUNTIME_INFO(i915)->subplatform = subdesc->subplatform;
> display_platforms_or(&display->is, &subdesc->platforms);
>
> /* Ensure platform and subplatform are distinct */
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 6f8814d1fabd..6d1f3de46836 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -17,7 +17,6 @@ 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) \
> @@ -94,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) unsigned long name:1;
> #define __COUNT(x) 1 +
>
> @@ -218,9 +209,6 @@ struct intel_display_platforms {
> (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] 34+ messages in thread
* Re: [PATCH v2 7/9] drm/i915/display: consider HSW/BDW ULX to also be ULT
2024-08-19 18:44 ` [PATCH v2 7/9] drm/i915/display: consider HSW/BDW ULX to also be ULT Jani Nikula
@ 2024-08-28 20:50 ` Rodrigo Vivi
0 siblings, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:50 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:34PM +0300, Jani Nikula wrote:
> Follow i915 core and IS_HASWELL_ULT()/IS_BROADWELL_ULT() conventions,
> i.e. "is ULT" also matches ULX platforms.
>
> Using multiple SUBPLATFORM() macros, we initialize both ULT and ULX
> subplatforms, and take the subplatform name from the last (so be careful
> to keep ULX last).
>
> This is *not* an example to be copied.
>
> Note: Pedantically, this should have been done earlier, but it's only
> feasible now that we no longer have a subplatform enum and can actually
> initialize multiple subplatforms.
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 | 6 ++++--
> 1 file changed, 4 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 90609b561630..fd145f87d86b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -490,7 +490,8 @@ static const struct platform_desc hsw_desc = {
> PLATFORM(HASWELL),
> .subplatforms = (const struct subplatform_desc[]) {
> { SUBPLATFORM(HASWELL, ULT), .pciidlist = hsw_ult_ids },
> - { SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids },
> + /* Special case: ULX is also ULT. Do not copy this approach. */
> + { SUBPLATFORM(HASWELL, ULT), SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> @@ -534,7 +535,8 @@ static const struct platform_desc bdw_desc = {
> PLATFORM(BROADWELL),
> .subplatforms = (const struct subplatform_desc[]) {
> { SUBPLATFORM(BROADWELL, ULT), .pciidlist = bdw_ult_ids },
> - { SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
> + /* Special case: ULX is also ULT. Do not copy this approach. */
> + { SUBPLATFORM(BROADWELL, ULT), SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids },
> {},
> },
> .info = &(const struct intel_display_device_info) {
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 8/9] drm/i915/display: keep subplatforms next to their platforms
2024-08-19 18:44 ` [PATCH v2 8/9] drm/i915/display: keep subplatforms next to their platforms Jani Nikula
@ 2024-08-28 20:52 ` Rodrigo Vivi
0 siblings, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:52 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:35PM +0300, Jani Nikula wrote:
> There's no reason to keep subplatforms separated in the members. Update
> the comment while at it.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_device.h | 51 ++++++++++---------
> 1 file changed, 27 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 6d1f3de46836..86664b999ca9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -15,7 +15,11 @@
> struct drm_i915_private;
> struct drm_printer;
>
> -/* Keep in gen based order, and chronological order within a gen */
> +/*
> + * Display platforms and subplatforms. Keep platforms in display version based
> + * order, chronological order within a version, and subplatforms next to the
> + * platform.
> + */
I wonder if we should do the reverse other, so a patch introducing a new
platform doesn't need to touch the previous one to add the '\'.
but,
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> #define INTEL_DISPLAY_PLATFORMS(func) \
> /* Display ver 2 */ \
> func(I830) \
> @@ -42,56 +46,55 @@ struct drm_printer;
> func(IVYBRIDGE) \
> func(VALLEYVIEW) \
> func(HASWELL) \
> + func(HASWELL_ULT) \
> + func(HASWELL_ULX) \
> /* Display ver 8 */ \
> func(BROADWELL) \
> + func(BROADWELL_ULT) \
> + func(BROADWELL_ULX) \
> func(CHERRYVIEW) \
> /* Display ver 9 */ \
> func(SKYLAKE) \
> + func(SKYLAKE_ULT) \
> + func(SKYLAKE_ULX) \
> func(BROXTON) \
> func(KABYLAKE) \
> + func(KABYLAKE_ULT) \
> + func(KABYLAKE_ULX) \
> func(GEMINILAKE) \
> func(COFFEELAKE) \
> + func(COFFEELAKE_ULT) \
> + func(COFFEELAKE_ULX) \
> func(COMETLAKE) \
> + func(COMETLAKE_ULT) \
> + func(COMETLAKE_ULX) \
> /* Display ver 11 */ \
> func(ICELAKE) \
> + func(ICELAKE_PORT_F) \
> func(JASPERLAKE) \
> func(ELKHARTLAKE) \
> /* Display ver 12 */ \
> func(TIGERLAKE) \
> + func(TIGERLAKE_UY) \
> func(ROCKETLAKE) \
> func(DG1) \
> func(ALDERLAKE_S) \
> + func(ALDERLAKE_S_RAPTORLAKE_S) \
> /* Display ver 13 */ \
> func(ALDERLAKE_P) \
> + func(ALDERLAKE_P_ALDERLAKE_N) \
> + func(ALDERLAKE_P_RAPTORLAKE_P) \
> + func(ALDERLAKE_P_RAPTORLAKE_U) \
> func(DG2) \
> + func(DG2_G10) \
> + func(DG2_G11) \
> + func(DG2_G12) \
> /* 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) \
> - /* 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)
> + func(BATTLEMAGE)
>
> #define __MEMBER(name) unsigned long name:1;
> #define __COUNT(x) 1 +
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 9/9] drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM()
2024-08-19 18:44 ` [PATCH v2 9/9] drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM() Jani Nikula
@ 2024-08-28 20:52 ` Rodrigo Vivi
0 siblings, 0 replies; 34+ messages in thread
From: Rodrigo Vivi @ 2024-08-28 20:52 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, lucas.demarchi, ville.syrjala
On Mon, Aug 19, 2024 at 09:44:36PM +0300, Jani Nikula wrote:
> Switch to using the new display->is.PLATFORM members.
>
> There are still cases like IS_G4X() which is trivial with macros, but
> not so with platform members. Ditto for IS_IRONLAKE_M() and IS_IVB_GT1()
> etc. although not used in this file.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 36 +++++++++--------------
> 1 file changed, 14 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index d49435af62c7..c701f13e0cf6 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -1168,7 +1168,6 @@ static int intel_bios_ssc_frequency(struct intel_display *display,
> static void
> parse_general_features(struct intel_display *display)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> const struct bdb_general_features *general;
>
> general = bdb_find_section(display, BDB_GENERAL_FEATURES);
> @@ -1178,7 +1177,7 @@ parse_general_features(struct intel_display *display)
> display->vbt.int_tv_support = general->int_tv_support;
> /* int_crt_support can't be trusted on earlier platforms */
> if (display->vbt.version >= 155 &&
> - (HAS_DDI(display) || IS_VALLEYVIEW(i915)))
> + (HAS_DDI(display) || display->is.VALLEYVIEW))
> display->vbt.int_crt_support = general->int_crt_support;
> display->vbt.lvds_use_ssc = general->enable_ssc;
> display->vbt.lvds_ssc_freq =
> @@ -1541,7 +1540,6 @@ static void
> parse_psr(struct intel_display *display,
> struct intel_panel *panel)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> const struct bdb_psr *psr;
> const struct psr_table *psr_table;
> int panel_type = panel->vbt.panel_type;
> @@ -1566,7 +1564,7 @@ parse_psr(struct intel_display *display,
> * Old decimal value is wake up time in multiples of 100 us.
> */
> if (display->vbt.version >= 205 &&
> - (DISPLAY_VER(display) >= 9 && !IS_BROXTON(i915))) {
> + (DISPLAY_VER(display) >= 9 && !display->is.BROXTON)) {
> switch (psr_table->tp1_wakeup_time) {
> case 0:
> panel->vbt.psr.tp1_wakeup_time_us = 500;
> @@ -2028,11 +2026,9 @@ static void icl_fixup_mipi_sequences(struct intel_display *display,
> static void fixup_mipi_sequences(struct intel_display *display,
> struct intel_panel *panel)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> -
> if (DISPLAY_VER(display) >= 11)
> icl_fixup_mipi_sequences(display, panel);
> - else if (IS_VALLEYVIEW(i915))
> + else if (display->is.VALLEYVIEW)
> vlv_fixup_mipi_sequences(display, panel);
> }
>
> @@ -2242,15 +2238,15 @@ static u8 map_ddc_pin(struct intel_display *display, u8 vbt_pin)
> const u8 *ddc_pin_map;
> int i, n_entries;
>
> - if (INTEL_PCH_TYPE(i915) >= PCH_MTL || IS_ALDERLAKE_P(i915)) {
> + if (INTEL_PCH_TYPE(i915) >= PCH_MTL || display->is.ALDERLAKE_P) {
> ddc_pin_map = adlp_ddc_pin_map;
> n_entries = ARRAY_SIZE(adlp_ddc_pin_map);
> - } else if (IS_ALDERLAKE_S(i915)) {
> + } else if (display->is.ALDERLAKE_S) {
> ddc_pin_map = adls_ddc_pin_map;
> n_entries = ARRAY_SIZE(adls_ddc_pin_map);
> } else if (INTEL_PCH_TYPE(i915) >= PCH_DG1) {
> return vbt_pin;
> - } else if (IS_ROCKETLAKE(i915) && INTEL_PCH_TYPE(i915) == PCH_TGP) {
> + } else if (display->is.ROCKETLAKE && INTEL_PCH_TYPE(i915) == PCH_TGP) {
> ddc_pin_map = rkl_pch_tgp_ddc_pin_map;
> n_entries = ARRAY_SIZE(rkl_pch_tgp_ddc_pin_map);
> } else if (HAS_PCH_TGP(i915) && DISPLAY_VER(display) == 9) {
> @@ -2333,7 +2329,6 @@ static enum port __dvo_port_to_port(int n_ports, int n_dvo,
> static enum port dvo_port_to_port(struct intel_display *display,
> u8 dvo_port)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> /*
> * Each DDI port can have more than one value on the "DVO Port" field,
> * so look for all the possible values for each port.
> @@ -2390,12 +2385,12 @@ static enum port dvo_port_to_port(struct intel_display *display,
> ARRAY_SIZE(xelpd_port_mapping[0]),
> xelpd_port_mapping,
> dvo_port);
> - else if (IS_ALDERLAKE_S(i915))
> + else if (display->is.ALDERLAKE_S)
> return __dvo_port_to_port(ARRAY_SIZE(adls_port_mapping),
> ARRAY_SIZE(adls_port_mapping[0]),
> adls_port_mapping,
> dvo_port);
> - else if (IS_DG1(i915) || IS_ROCKETLAKE(i915))
> + else if (display->is.DG1 || display->is.ROCKETLAKE)
> return __dvo_port_to_port(ARRAY_SIZE(rkl_port_mapping),
> ARRAY_SIZE(rkl_port_mapping[0]),
> rkl_port_mapping,
> @@ -2518,7 +2513,6 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
> enum port port)
> {
> struct intel_display *display = devdata->display;
> - struct drm_i915_private *i915 = to_i915(display->drm);
>
> if (!intel_bios_encoder_supports_dvi(devdata))
> return;
> @@ -2528,7 +2522,7 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
> * with a HSW VBT where the level shifter value goes
> * up to 11, whereas the BDW max is 9.
> */
> - if (IS_BROADWELL(i915) && devdata->child.hdmi_level_shifter_value > 9) {
> + if (display->is.BROADWELL && devdata->child.hdmi_level_shifter_value > 9) {
> drm_dbg_kms(display->drm,
> "Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
> port_name(port), devdata->child.hdmi_level_shifter_value, 9);
> @@ -2617,14 +2611,13 @@ int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata
>
> static bool is_port_valid(struct intel_display *display, enum port port)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> /*
> * On some ICL SKUs port F is not present, but broken VBTs mark
> * the port as present. Only try to initialize port F for the
> * SKUs that may actually have it.
> */
> - if (port == PORT_F && IS_ICELAKE(i915))
> - return IS_ICL_WITH_PORT_F(i915);
> + if (port == PORT_F && display->is.ICELAKE)
> + return display->is.ICELAKE_PORT_F;
>
> return true;
> }
> @@ -2906,7 +2899,7 @@ init_vbt_missing_defaults(struct intel_display *display)
> unsigned int ports = DISPLAY_RUNTIME_INFO(display)->port_mask;
> enum port port;
>
> - if (!HAS_DDI(display) && !IS_CHERRYVIEW(i915))
> + if (!HAS_DDI(display) && !display->is.CHERRYVIEW)
> return;
>
> for_each_port_masked(port, ports) {
> @@ -3671,17 +3664,16 @@ static const u8 direct_aux_ch_map[] = {
>
> static enum aux_ch map_aux_ch(struct intel_display *display, u8 aux_channel)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> const u8 *aux_ch_map;
> int i, n_entries;
>
> if (DISPLAY_VER(display) >= 13) {
> aux_ch_map = adlp_aux_ch_map;
> n_entries = ARRAY_SIZE(adlp_aux_ch_map);
> - } else if (IS_ALDERLAKE_S(i915)) {
> + } else if (display->is.ALDERLAKE_S) {
> aux_ch_map = adls_aux_ch_map;
> n_entries = ARRAY_SIZE(adls_aux_ch_map);
> - } else if (IS_DG1(i915) || IS_ROCKETLAKE(i915)) {
> + } else if (display->is.DG1 || display->is.ROCKETLAKE) {
> aux_ch_map = rkl_aux_ch_map;
> n_entries = ARRAY_SIZE(rkl_aux_ch_map);
> } else {
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-08-28 20:41 ` [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Rodrigo Vivi
@ 2024-08-29 16:03 ` Ville Syrjälä
2024-09-24 9:49 ` Jani Nikula
0 siblings, 1 reply; 34+ messages in thread
From: Ville Syrjälä @ 2024-08-29 16:03 UTC (permalink / raw)
To: Rodrigo Vivi; +Cc: Jani Nikula, intel-gfx, intel-xe, lucas.demarchi
On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
> > v2 of [1]. Please read the cover letter there.
> >
> > This addresses review comments and adds a few more commits on top, in particular
> > the last one showcasing the approach.
> >
> > The main question remains, is this what we want?
>
> I don't know why, but the 'is' thing is still strange.
>
> I know I know... I'm bad with naming myself.
>
> I think about 'platform' but that get too big
>
> if (display->platform.BROADWELL)
>
> I think about 'gen' but then it is overloaded....
>
> then I think about 'ip' is worse...
>
> 'version'?
>
> 'name'?
>
> if (display->name.HASWELL)...
>
> ....
>
> But well, I like the overall simplification here in general.
> Without a better name to suggest, I guess let's just move ahead...
One slight concern with the is.foo is whether it complicates finding
things with eg. cscope. But I suppose for platforms that doesn't matter
all that much. For the has_foo stuff it'd be much more relevant.
Anyways, can't think of anything particularly elegant myself either,
so go ahead I guess.
>
> >
> > BR,
> > Jani.
> >
> > [1] https://lore.kernel.org/r/cover.1718719962.git.jani.nikula@intel.com
> >
> >
> > Jani Nikula (9):
> > 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 enums
> > drm/i915/display: add display platforms structure with platform
> > members
> > drm/i915/display: add platforms "is" member to struct intel_display
> > drm/i915/display: remove the display platform enum as unnecessary
> > drm/i915/display: consider HSW/BDW ULX to also be ULT
> > drm/i915/display: keep subplatforms next to their platforms
> > drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM()
> >
> > drivers/gpu/drm/i915/display/intel_bios.c | 36 ++--
> > .../gpu/drm/i915/display/intel_display_core.h | 3 +
> > .../drm/i915/display/intel_display_device.c | 89 ++++++---
> > .../drm/i915/display/intel_display_device.h | 180 ++++++++++--------
> > 4 files changed, 174 insertions(+), 134 deletions(-)
> >
> > --
> > 2.39.2
> >
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-08-29 16:03 ` Ville Syrjälä
@ 2024-09-24 9:49 ` Jani Nikula
2024-09-24 13:14 ` Lucas De Marchi
0 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-09-24 9:49 UTC (permalink / raw)
To: Ville Syrjälä, Rodrigo Vivi; +Cc: intel-gfx, intel-xe, lucas.demarchi
On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
>> > v2 of [1]. Please read the cover letter there.
>> >
>> > This addresses review comments and adds a few more commits on top, in particular
>> > the last one showcasing the approach.
>> >
>> > The main question remains, is this what we want?
>>
>> I don't know why, but the 'is' thing is still strange.
>>
>> I know I know... I'm bad with naming myself.
>>
>> I think about 'platform' but that get too big
>>
>> if (display->platform.BROADWELL)
>>
>> I think about 'gen' but then it is overloaded....
>>
>> then I think about 'ip' is worse...
>>
>> 'version'?
>>
>> 'name'?
>>
>> if (display->name.HASWELL)...
>>
>> ....
>>
>> But well, I like the overall simplification here in general.
>> Without a better name to suggest, I guess let's just move ahead...
>
> One slight concern with the is.foo is whether it complicates finding
> things with eg. cscope. But I suppose for platforms that doesn't matter
> all that much. For the has_foo stuff it'd be much more relevant.
It does make finding things harder with cscope and gnu global, but git
grep for is.FOO is pretty accurate.
> Anyways, can't think of anything particularly elegant myself either,
> so go ahead I guess.
So I haven't yet. I just still have that slightly uneasy feeling about
whether this is a good thing or not. That doesn't usually make me shy
away from things, because you can fix stuff later, but getting this
wrong causes so much churn everywhere.
The fact that it's not a macro makes it less flexible for future
changes. The display->is.FOO is somewhat legible, but could be
better. Would all lowercase make it better? I don't know.
More alternatives? Not elegant for sure, but just alternatives:
- Lowercase names:
if (display->is.rocketlake)
Does not help with flexibility or cscope.
- Lowercase macros for display, e.g. is_rocketlake().
if (is_rocketlake(display))
- Macros based on just the platform name, e.g. ROCKETLAKE().
if (ROCKETLAKE(display))
or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
if (PLATFORM_ROCKETLAKE(display))
But that can get a bit long in some if ladders etc.
- Go through the trouble of making the existing IS_FOO() macros _Generic
and accept either i915 or display pointer. This does postpone making
any further changes, but fairly soon there will need to be two sets of
macros, separate for i915 and display, even though named the same.
Also, the _Generic thing would look up the platform definitions from
different places, which could be error prone.
Yeah, procrastination...
BR,
Jani.
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-24 9:49 ` Jani Nikula
@ 2024-09-24 13:14 ` Lucas De Marchi
2024-09-24 13:37 ` Jani Nikula
0 siblings, 1 reply; 34+ messages in thread
From: Lucas De Marchi @ 2024-09-24 13:14 UTC (permalink / raw)
To: Jani Nikula; +Cc: Ville Syrjälä, Rodrigo Vivi, intel-gfx, intel-xe
On Tue, Sep 24, 2024 at 12:49:25PM GMT, Jani Nikula wrote:
>On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
>>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
>>> > v2 of [1]. Please read the cover letter there.
>>> >
>>> > This addresses review comments and adds a few more commits on top, in particular
>>> > the last one showcasing the approach.
>>> >
>>> > The main question remains, is this what we want?
>>>
>>> I don't know why, but the 'is' thing is still strange.
>>>
>>> I know I know... I'm bad with naming myself.
>>>
>>> I think about 'platform' but that get too big
>>>
>>> if (display->platform.BROADWELL)
>>>
>>> I think about 'gen' but then it is overloaded....
>>>
>>> then I think about 'ip' is worse...
>>>
>>> 'version'?
>>>
>>> 'name'?
>>>
>>> if (display->name.HASWELL)...
>>>
>>> ....
>>>
>>> But well, I like the overall simplification here in general.
>>> Without a better name to suggest, I guess let's just move ahead...
>>
>> One slight concern with the is.foo is whether it complicates finding
>> things with eg. cscope. But I suppose for platforms that doesn't matter
>> all that much. For the has_foo stuff it'd be much more relevant.
>
>It does make finding things harder with cscope and gnu global, but git
>grep for is.FOO is pretty accurate.
>
>> Anyways, can't think of anything particularly elegant myself either,
>> so go ahead I guess.
>
>So I haven't yet. I just still have that slightly uneasy feeling about
>whether this is a good thing or not. That doesn't usually make me shy
>away from things, because you can fix stuff later, but getting this
>wrong causes so much churn everywhere.
>
>The fact that it's not a macro makes it less flexible for future
>changes. The display->is.FOO is somewhat legible, but could be
>better. Would all lowercase make it better? I don't know.
>
>More alternatives? Not elegant for sure, but just alternatives:
>
>- Lowercase names:
>
> if (display->is.rocketlake)
what I really dislike is a struct named "is". Going full mesa-way would
be slightly better IMO:
if (display->is_rockelake)
or
if (display->platform_rocketlake)
or
if (display->platform.rocketlake)
>
> Does not help with flexibility or cscope.
>
>- Lowercase macros for display, e.g. is_rocketlake().
>
> if (is_rocketlake(display))
>
>- Macros based on just the platform name, e.g. ROCKETLAKE().
>
> if (ROCKETLAKE(display))
>
> or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
>
> if (PLATFORM_ROCKETLAKE(display))
>
> But that can get a bit long in some if ladders etc.
Does it matter much? I think those would be the exception, particularly
because platform checks are kind of rare these days.
grepping for LUNARLAKE in xe reveals only 2 users (+ few workarounds),
because wherever we can we check by graphics/display version rather than
platform.
Then simply using something similar to what we already have in xe, would
be great IMO:
if (display->platform == PLATFORM_LUNARLAKE)
it may be verbose, but shouldn't be much used to matter in the end.
Lucas De Marchi
>
>- Go through the trouble of making the existing IS_FOO() macros _Generic
> and accept either i915 or display pointer. This does postpone making
> any further changes, but fairly soon there will need to be two sets of
> macros, separate for i915 and display, even though named the same.
>
> Also, the _Generic thing would look up the platform definitions from
> different places, which could be error prone.
>
>
>Yeah, procrastination...
>
>
>BR,
>Jani.
>
>
>
>
>--
>Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-24 13:14 ` Lucas De Marchi
@ 2024-09-24 13:37 ` Jani Nikula
2024-09-24 13:43 ` Ville Syrjälä
2024-09-26 14:58 ` Rodrigo Vivi
0 siblings, 2 replies; 34+ messages in thread
From: Jani Nikula @ 2024-09-24 13:37 UTC (permalink / raw)
To: Lucas De Marchi
Cc: Ville Syrjälä, Rodrigo Vivi, intel-gfx, intel-xe
On Tue, 24 Sep 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Tue, Sep 24, 2024 at 12:49:25PM GMT, Jani Nikula wrote:
>>On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>>> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
>>>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
>>>> > v2 of [1]. Please read the cover letter there.
>>>> >
>>>> > This addresses review comments and adds a few more commits on top, in particular
>>>> > the last one showcasing the approach.
>>>> >
>>>> > The main question remains, is this what we want?
>>>>
>>>> I don't know why, but the 'is' thing is still strange.
>>>>
>>>> I know I know... I'm bad with naming myself.
>>>>
>>>> I think about 'platform' but that get too big
>>>>
>>>> if (display->platform.BROADWELL)
>>>>
>>>> I think about 'gen' but then it is overloaded....
>>>>
>>>> then I think about 'ip' is worse...
>>>>
>>>> 'version'?
>>>>
>>>> 'name'?
>>>>
>>>> if (display->name.HASWELL)...
>>>>
>>>> ....
>>>>
>>>> But well, I like the overall simplification here in general.
>>>> Without a better name to suggest, I guess let's just move ahead...
>>>
>>> One slight concern with the is.foo is whether it complicates finding
>>> things with eg. cscope. But I suppose for platforms that doesn't matter
>>> all that much. For the has_foo stuff it'd be much more relevant.
>>
>>It does make finding things harder with cscope and gnu global, but git
>>grep for is.FOO is pretty accurate.
>>
>>> Anyways, can't think of anything particularly elegant myself either,
>>> so go ahead I guess.
>>
>>So I haven't yet. I just still have that slightly uneasy feeling about
>>whether this is a good thing or not. That doesn't usually make me shy
>>away from things, because you can fix stuff later, but getting this
>>wrong causes so much churn everywhere.
>>
>>The fact that it's not a macro makes it less flexible for future
>>changes. The display->is.FOO is somewhat legible, but could be
>>better. Would all lowercase make it better? I don't know.
>>
>>More alternatives? Not elegant for sure, but just alternatives:
>>
>>- Lowercase names:
>>
>> if (display->is.rocketlake)
>
> what I really dislike is a struct named "is". Going full mesa-way would
> be slightly better IMO:
>
> if (display->is_rockelake)
>
> or
>
> if (display->platform_rocketlake)
>
> or
>
> if (display->platform.rocketlake)
Fair enough.
From implementation POV having a sub-struct is easier than not.
>>
>> Does not help with flexibility or cscope.
>>
>>- Lowercase macros for display, e.g. is_rocketlake().
>>
>> if (is_rocketlake(display))
>>
>>- Macros based on just the platform name, e.g. ROCKETLAKE().
>>
>> if (ROCKETLAKE(display))
>>
>> or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
>>
>> if (PLATFORM_ROCKETLAKE(display))
>>
>> But that can get a bit long in some if ladders etc.
>
> Does it matter much? I think those would be the exception, particularly
> because platform checks are kind of rare these days.
Well, they're maybe the exception for new platforms, but i915 display
does have to deal with a lot of legacy with a lot of platform checks.
> grepping for LUNARLAKE in xe reveals only 2 users (+ few workarounds),
> because wherever we can we check by graphics/display version rather than
> platform.
i915 display has only one use of IS_LUNARLAKE(), but there are 1k+ other
uses of IS_<PLATFORM>.
Incidentally, this is the reason I'm procrastinating about the change at
all.
> Then simply using something similar to what we already have in xe, would
> be great IMO:
>
> if (display->platform == PLATFORM_LUNARLAKE)
>
> it may be verbose, but shouldn't be much used to matter in the end.
The downside with that is that you can't deal with subplatforms as
easily. It becomes
if (display->platform == PLATFORM_LUNARLAKE ||
(display->platform == PLATFORM_ALDERLAKE_P &&
display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N))
or similar. Definitely not a fan.
BR,
Jani.
>
> Lucas De Marchi
>
>>
>>- Go through the trouble of making the existing IS_FOO() macros _Generic
>> and accept either i915 or display pointer. This does postpone making
>> any further changes, but fairly soon there will need to be two sets of
>> macros, separate for i915 and display, even though named the same.
>>
>> Also, the _Generic thing would look up the platform definitions from
>> different places, which could be error prone.
>>
>>
>>Yeah, procrastination...
>>
>>
>>BR,
>>Jani.
>>
>>
>>
>>
>>--
>>Jani Nikula, Intel
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-24 13:37 ` Jani Nikula
@ 2024-09-24 13:43 ` Ville Syrjälä
2024-09-26 14:58 ` Rodrigo Vivi
1 sibling, 0 replies; 34+ messages in thread
From: Ville Syrjälä @ 2024-09-24 13:43 UTC (permalink / raw)
To: Jani Nikula; +Cc: Lucas De Marchi, Rodrigo Vivi, intel-gfx, intel-xe
On Tue, Sep 24, 2024 at 04:37:04PM +0300, Jani Nikula wrote:
> On Tue, 24 Sep 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> > On Tue, Sep 24, 2024 at 12:49:25PM GMT, Jani Nikula wrote:
> >>On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> >>> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
> >>>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
> >>>> > v2 of [1]. Please read the cover letter there.
> >>>> >
> >>>> > This addresses review comments and adds a few more commits on top, in particular
> >>>> > the last one showcasing the approach.
> >>>> >
> >>>> > The main question remains, is this what we want?
> >>>>
> >>>> I don't know why, but the 'is' thing is still strange.
> >>>>
> >>>> I know I know... I'm bad with naming myself.
> >>>>
> >>>> I think about 'platform' but that get too big
> >>>>
> >>>> if (display->platform.BROADWELL)
> >>>>
> >>>> I think about 'gen' but then it is overloaded....
> >>>>
> >>>> then I think about 'ip' is worse...
> >>>>
> >>>> 'version'?
> >>>>
> >>>> 'name'?
> >>>>
> >>>> if (display->name.HASWELL)...
> >>>>
> >>>> ....
> >>>>
> >>>> But well, I like the overall simplification here in general.
> >>>> Without a better name to suggest, I guess let's just move ahead...
> >>>
> >>> One slight concern with the is.foo is whether it complicates finding
> >>> things with eg. cscope. But I suppose for platforms that doesn't matter
> >>> all that much. For the has_foo stuff it'd be much more relevant.
> >>
> >>It does make finding things harder with cscope and gnu global, but git
> >>grep for is.FOO is pretty accurate.
> >>
> >>> Anyways, can't think of anything particularly elegant myself either,
> >>> so go ahead I guess.
> >>
> >>So I haven't yet. I just still have that slightly uneasy feeling about
> >>whether this is a good thing or not. That doesn't usually make me shy
> >>away from things, because you can fix stuff later, but getting this
> >>wrong causes so much churn everywhere.
> >>
> >>The fact that it's not a macro makes it less flexible for future
> >>changes. The display->is.FOO is somewhat legible, but could be
> >>better. Would all lowercase make it better? I don't know.
> >>
> >>More alternatives? Not elegant for sure, but just alternatives:
> >>
> >>- Lowercase names:
> >>
> >> if (display->is.rocketlake)
> >
> > what I really dislike is a struct named "is". Going full mesa-way would
> > be slightly better IMO:
> >
> > if (display->is_rockelake)
> >
> > or
> >
> > if (display->platform_rocketlake)
> >
> > or
> >
> > if (display->platform.rocketlake)
>
> Fair enough.
>
> >From implementation POV having a sub-struct is easier than not.
>
> >>
> >> Does not help with flexibility or cscope.
> >>
> >>- Lowercase macros for display, e.g. is_rocketlake().
> >>
> >> if (is_rocketlake(display))
> >>
> >>- Macros based on just the platform name, e.g. ROCKETLAKE().
> >>
> >> if (ROCKETLAKE(display))
> >>
> >> or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
> >>
> >> if (PLATFORM_ROCKETLAKE(display))
> >>
> >> But that can get a bit long in some if ladders etc.
> >
> > Does it matter much? I think those would be the exception, particularly
> > because platform checks are kind of rare these days.
>
> Well, they're maybe the exception for new platforms, but i915 display
> does have to deal with a lot of legacy with a lot of platform checks.
There are a lot of annoying exceptions for new platforms
as well. Feels like most features are doing some kind
of weird leap frogging between integrated vs. discrete
these days. So most new features seem to require an
exception one way or the other :(
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-24 13:37 ` Jani Nikula
2024-09-24 13:43 ` Ville Syrjälä
@ 2024-09-26 14:58 ` Rodrigo Vivi
2024-09-27 12:16 ` Jani Nikula
1 sibling, 1 reply; 34+ messages in thread
From: Rodrigo Vivi @ 2024-09-26 14:58 UTC (permalink / raw)
To: Jani Nikula; +Cc: Lucas De Marchi, Ville Syrjälä, intel-gfx, intel-xe
On Tue, Sep 24, 2024 at 04:37:04PM +0300, Jani Nikula wrote:
> On Tue, 24 Sep 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> > On Tue, Sep 24, 2024 at 12:49:25PM GMT, Jani Nikula wrote:
> >>On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> >>> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
> >>>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
> >>>> > v2 of [1]. Please read the cover letter there.
> >>>> >
> >>>> > This addresses review comments and adds a few more commits on top, in particular
> >>>> > the last one showcasing the approach.
> >>>> >
> >>>> > The main question remains, is this what we want?
> >>>>
> >>>> I don't know why, but the 'is' thing is still strange.
> >>>>
> >>>> I know I know... I'm bad with naming myself.
> >>>>
> >>>> I think about 'platform' but that get too big
> >>>>
> >>>> if (display->platform.BROADWELL)
> >>>>
> >>>> I think about 'gen' but then it is overloaded....
> >>>>
> >>>> then I think about 'ip' is worse...
> >>>>
> >>>> 'version'?
> >>>>
> >>>> 'name'?
> >>>>
> >>>> if (display->name.HASWELL)...
> >>>>
> >>>> ....
> >>>>
> >>>> But well, I like the overall simplification here in general.
> >>>> Without a better name to suggest, I guess let's just move ahead...
> >>>
> >>> One slight concern with the is.foo is whether it complicates finding
> >>> things with eg. cscope. But I suppose for platforms that doesn't matter
> >>> all that much. For the has_foo stuff it'd be much more relevant.
> >>
> >>It does make finding things harder with cscope and gnu global, but git
> >>grep for is.FOO is pretty accurate.
> >>
> >>> Anyways, can't think of anything particularly elegant myself either,
> >>> so go ahead I guess.
> >>
> >>So I haven't yet. I just still have that slightly uneasy feeling about
> >>whether this is a good thing or not. That doesn't usually make me shy
> >>away from things, because you can fix stuff later, but getting this
> >>wrong causes so much churn everywhere.
> >>
> >>The fact that it's not a macro makes it less flexible for future
> >>changes. The display->is.FOO is somewhat legible, but could be
> >>better. Would all lowercase make it better? I don't know.
> >>
> >>More alternatives? Not elegant for sure, but just alternatives:
> >>
> >>- Lowercase names:
> >>
> >> if (display->is.rocketlake)
> >
> > what I really dislike is a struct named "is". Going full mesa-way would
> > be slightly better IMO:
> >
> > if (display->is_rockelake)
> >
> > or
> >
> > if (display->platform_rocketlake)
> >
> > or
> >
> > if (display->platform.rocketlake)
>
> Fair enough.
>
> >From implementation POV having a sub-struct is easier than not.
how the subplatform would appear in this case?
>
> >>
> >> Does not help with flexibility or cscope.
> >>
> >>- Lowercase macros for display, e.g. is_rocketlake().
> >>
> >> if (is_rocketlake(display))
> >>
> >>- Macros based on just the platform name, e.g. ROCKETLAKE().
> >>
> >> if (ROCKETLAKE(display))
> >>
> >> or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
> >>
> >> if (PLATFORM_ROCKETLAKE(display))
> >>
> >> But that can get a bit long in some if ladders etc.
> >
> > Does it matter much? I think those would be the exception, particularly
> > because platform checks are kind of rare these days.
>
> Well, they're maybe the exception for new platforms, but i915 display
> does have to deal with a lot of legacy with a lot of platform checks.
>
> > grepping for LUNARLAKE in xe reveals only 2 users (+ few workarounds),
> > because wherever we can we check by graphics/display version rather than
> > platform.
>
> i915 display has only one use of IS_LUNARLAKE(), but there are 1k+ other
> uses of IS_<PLATFORM>.
>
> Incidentally, this is the reason I'm procrastinating about the change at
> all.
>
> > Then simply using something similar to what we already have in xe, would
> > be great IMO:
> >
> > if (display->platform == PLATFORM_LUNARLAKE)
> >
> > it may be verbose, but shouldn't be much used to matter in the end.
>
> The downside with that is that you can't deal with subplatforms as
> easily. It becomes
>
> if (display->platform == PLATFORM_LUNARLAKE ||
> (display->platform == PLATFORM_ALDERLAKE_P &&
> display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N))
>
> or similar. Definitely not a fan.
unless the subplatform already includes the platform?
But well, I also don't have a good suggestion here.
The '.is' struct is strange indeed, but at least covers all the past
and future strange cases.
But I also wouldn't mind if we decide to get the verbose path,
but try to at least making the subplatform already infering the
platform in a way that this case could only be:
if (display->platform == PLATFORM_LUNARLAKE ||
display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N)
or perhaps do in a way that we don't even need the subplatform struct?
if (display->platform == PLATFORM_LUNARLAKE ||
display->platform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N)
>
>
> BR,
> Jani.
>
>
> >
> > Lucas De Marchi
> >
> >>
> >>- Go through the trouble of making the existing IS_FOO() macros _Generic
> >> and accept either i915 or display pointer. This does postpone making
> >> any further changes, but fairly soon there will need to be two sets of
> >> macros, separate for i915 and display, even though named the same.
> >>
> >> Also, the _Generic thing would look up the platform definitions from
> >> different places, which could be error prone.
> >>
> >>
> >>Yeah, procrastination...
> >>
> >>
> >>BR,
> >>Jani.
> >>
> >>
> >>
> >>
> >>--
> >>Jani Nikula, Intel
>
> --
> Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-26 14:58 ` Rodrigo Vivi
@ 2024-09-27 12:16 ` Jani Nikula
2024-09-27 14:49 ` Rodrigo Vivi
0 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-09-27 12:16 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: Lucas De Marchi, Ville Syrjälä, intel-gfx, intel-xe
On Thu, 26 Sep 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Tue, Sep 24, 2024 at 04:37:04PM +0300, Jani Nikula wrote:
>> On Tue, 24 Sep 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> > On Tue, Sep 24, 2024 at 12:49:25PM GMT, Jani Nikula wrote:
>> >>On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>> >>> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
>> >>>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
>> >>>> > v2 of [1]. Please read the cover letter there.
>> >>>> >
>> >>>> > This addresses review comments and adds a few more commits on top, in particular
>> >>>> > the last one showcasing the approach.
>> >>>> >
>> >>>> > The main question remains, is this what we want?
>> >>>>
>> >>>> I don't know why, but the 'is' thing is still strange.
>> >>>>
>> >>>> I know I know... I'm bad with naming myself.
>> >>>>
>> >>>> I think about 'platform' but that get too big
>> >>>>
>> >>>> if (display->platform.BROADWELL)
>> >>>>
>> >>>> I think about 'gen' but then it is overloaded....
>> >>>>
>> >>>> then I think about 'ip' is worse...
>> >>>>
>> >>>> 'version'?
>> >>>>
>> >>>> 'name'?
>> >>>>
>> >>>> if (display->name.HASWELL)...
>> >>>>
>> >>>> ....
>> >>>>
>> >>>> But well, I like the overall simplification here in general.
>> >>>> Without a better name to suggest, I guess let's just move ahead...
>> >>>
>> >>> One slight concern with the is.foo is whether it complicates finding
>> >>> things with eg. cscope. But I suppose for platforms that doesn't matter
>> >>> all that much. For the has_foo stuff it'd be much more relevant.
>> >>
>> >>It does make finding things harder with cscope and gnu global, but git
>> >>grep for is.FOO is pretty accurate.
>> >>
>> >>> Anyways, can't think of anything particularly elegant myself either,
>> >>> so go ahead I guess.
>> >>
>> >>So I haven't yet. I just still have that slightly uneasy feeling about
>> >>whether this is a good thing or not. That doesn't usually make me shy
>> >>away from things, because you can fix stuff later, but getting this
>> >>wrong causes so much churn everywhere.
>> >>
>> >>The fact that it's not a macro makes it less flexible for future
>> >>changes. The display->is.FOO is somewhat legible, but could be
>> >>better. Would all lowercase make it better? I don't know.
>> >>
>> >>More alternatives? Not elegant for sure, but just alternatives:
>> >>
>> >>- Lowercase names:
>> >>
>> >> if (display->is.rocketlake)
>> >
>> > what I really dislike is a struct named "is". Going full mesa-way would
>> > be slightly better IMO:
>> >
>> > if (display->is_rockelake)
>> >
>> > or
>> >
>> > if (display->platform_rocketlake)
>> >
>> > or
>> >
>> > if (display->platform.rocketlake)
>>
>> Fair enough.
>>
>> >From implementation POV having a sub-struct is easier than not.
>
> how the subplatform would appear in this case?
For example, RPL-S:
if (display->platform.alderlake_s_raptorlake_s)
But the main platform also matches its subplatforms:
if (display->platform.alderlake_s)
This is the same as with the patches at hand. Except for the
uppercase/lowercase difference, and s/is/platform/.
>> >> Does not help with flexibility or cscope.
>> >>
>> >>- Lowercase macros for display, e.g. is_rocketlake().
>> >>
>> >> if (is_rocketlake(display))
>> >>
>> >>- Macros based on just the platform name, e.g. ROCKETLAKE().
>> >>
>> >> if (ROCKETLAKE(display))
>> >>
>> >> or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
>> >>
>> >> if (PLATFORM_ROCKETLAKE(display))
>> >>
>> >> But that can get a bit long in some if ladders etc.
>> >
>> > Does it matter much? I think those would be the exception, particularly
>> > because platform checks are kind of rare these days.
>>
>> Well, they're maybe the exception for new platforms, but i915 display
>> does have to deal with a lot of legacy with a lot of platform checks.
>>
>> > grepping for LUNARLAKE in xe reveals only 2 users (+ few workarounds),
>> > because wherever we can we check by graphics/display version rather than
>> > platform.
>>
>> i915 display has only one use of IS_LUNARLAKE(), but there are 1k+ other
>> uses of IS_<PLATFORM>.
>>
>> Incidentally, this is the reason I'm procrastinating about the change at
>> all.
>>
>> > Then simply using something similar to what we already have in xe, would
>> > be great IMO:
>> >
>> > if (display->platform == PLATFORM_LUNARLAKE)
>> >
>> > it may be verbose, but shouldn't be much used to matter in the end.
>>
>> The downside with that is that you can't deal with subplatforms as
>> easily. It becomes
>>
>> if (display->platform == PLATFORM_LUNARLAKE ||
>> (display->platform == PLATFORM_ALDERLAKE_P &&
>> display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N))
>>
>> or similar. Definitely not a fan.
>
> unless the subplatform already includes the platform?
Oh, yeah, it would.
> But well, I also don't have a good suggestion here.
> The '.is' struct is strange indeed, but at least covers all the past
> and future strange cases.
>
> But I also wouldn't mind if we decide to get the verbose path,
> but try to at least making the subplatform already infering the
> platform in a way that this case could only be:
>
> if (display->platform == PLATFORM_LUNARLAKE ||
> display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N)
>
>
> or perhaps do in a way that we don't even need the subplatform struct?
>
> if (display->platform == PLATFORM_LUNARLAKE ||
> display->platform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N)
How would that even be possible? display->platform can't be multiple
things at the same time, unless it's a bitmask. If it's a bitmask, you
need a way to nicely check for it instead of having it everywhere.
The alternatives are using a macro, or using bitfields - which is
exactly what the patch at hand does. We've come full circle.
BR,
Jani.
>
>>
>>
>> BR,
>> Jani.
>>
>>
>> >
>> > Lucas De Marchi
>> >
>> >>
>> >>- Go through the trouble of making the existing IS_FOO() macros _Generic
>> >> and accept either i915 or display pointer. This does postpone making
>> >> any further changes, but fairly soon there will need to be two sets of
>> >> macros, separate for i915 and display, even though named the same.
>> >>
>> >> Also, the _Generic thing would look up the platform definitions from
>> >> different places, which could be error prone.
>> >>
>> >>
>> >>Yeah, procrastination...
>> >>
>> >>
>> >>BR,
>> >>Jani.
>> >>
>> >>
>> >>
>> >>
>> >>--
>> >>Jani Nikula, Intel
>>
>> --
>> Jani Nikula, Intel
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-27 12:16 ` Jani Nikula
@ 2024-09-27 14:49 ` Rodrigo Vivi
2024-09-27 15:01 ` Jani Nikula
0 siblings, 1 reply; 34+ messages in thread
From: Rodrigo Vivi @ 2024-09-27 14:49 UTC (permalink / raw)
To: Jani Nikula; +Cc: Lucas De Marchi, Ville Syrjälä, intel-gfx, intel-xe
On Fri, Sep 27, 2024 at 03:16:23PM +0300, Jani Nikula wrote:
> On Thu, 26 Sep 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> > On Tue, Sep 24, 2024 at 04:37:04PM +0300, Jani Nikula wrote:
> >> On Tue, 24 Sep 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> >> > On Tue, Sep 24, 2024 at 12:49:25PM GMT, Jani Nikula wrote:
> >> >>On Thu, 29 Aug 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> >> >>> On Wed, Aug 28, 2024 at 04:41:24PM -0400, Rodrigo Vivi wrote:
> >> >>>> On Mon, Aug 19, 2024 at 09:44:27PM +0300, Jani Nikula wrote:
> >> >>>> > v2 of [1]. Please read the cover letter there.
> >> >>>> >
> >> >>>> > This addresses review comments and adds a few more commits on top, in particular
> >> >>>> > the last one showcasing the approach.
> >> >>>> >
> >> >>>> > The main question remains, is this what we want?
> >> >>>>
> >> >>>> I don't know why, but the 'is' thing is still strange.
> >> >>>>
> >> >>>> I know I know... I'm bad with naming myself.
> >> >>>>
> >> >>>> I think about 'platform' but that get too big
> >> >>>>
> >> >>>> if (display->platform.BROADWELL)
> >> >>>>
> >> >>>> I think about 'gen' but then it is overloaded....
> >> >>>>
> >> >>>> then I think about 'ip' is worse...
> >> >>>>
> >> >>>> 'version'?
> >> >>>>
> >> >>>> 'name'?
> >> >>>>
> >> >>>> if (display->name.HASWELL)...
> >> >>>>
> >> >>>> ....
> >> >>>>
> >> >>>> But well, I like the overall simplification here in general.
> >> >>>> Without a better name to suggest, I guess let's just move ahead...
> >> >>>
> >> >>> One slight concern with the is.foo is whether it complicates finding
> >> >>> things with eg. cscope. But I suppose for platforms that doesn't matter
> >> >>> all that much. For the has_foo stuff it'd be much more relevant.
> >> >>
> >> >>It does make finding things harder with cscope and gnu global, but git
> >> >>grep for is.FOO is pretty accurate.
> >> >>
> >> >>> Anyways, can't think of anything particularly elegant myself either,
> >> >>> so go ahead I guess.
> >> >>
> >> >>So I haven't yet. I just still have that slightly uneasy feeling about
> >> >>whether this is a good thing or not. That doesn't usually make me shy
> >> >>away from things, because you can fix stuff later, but getting this
> >> >>wrong causes so much churn everywhere.
> >> >>
> >> >>The fact that it's not a macro makes it less flexible for future
> >> >>changes. The display->is.FOO is somewhat legible, but could be
> >> >>better. Would all lowercase make it better? I don't know.
> >> >>
> >> >>More alternatives? Not elegant for sure, but just alternatives:
> >> >>
> >> >>- Lowercase names:
> >> >>
> >> >> if (display->is.rocketlake)
> >> >
> >> > what I really dislike is a struct named "is". Going full mesa-way would
> >> > be slightly better IMO:
> >> >
> >> > if (display->is_rockelake)
> >> >
> >> > or
> >> >
> >> > if (display->platform_rocketlake)
> >> >
> >> > or
> >> >
> >> > if (display->platform.rocketlake)
> >>
> >> Fair enough.
> >>
> >> >From implementation POV having a sub-struct is easier than not.
> >
> > how the subplatform would appear in this case?
>
> For example, RPL-S:
>
>
> if (display->platform.alderlake_s_raptorlake_s)
>
> But the main platform also matches its subplatforms:
>
> if (display->platform.alderlake_s)
>
> This is the same as with the patches at hand. Except for the
> uppercase/lowercase difference, and s/is/platform/.
Yeap, let's go with that then!
>
> >> >> Does not help with flexibility or cscope.
> >> >>
> >> >>- Lowercase macros for display, e.g. is_rocketlake().
> >> >>
> >> >> if (is_rocketlake(display))
> >> >>
> >> >>- Macros based on just the platform name, e.g. ROCKETLAKE().
> >> >>
> >> >> if (ROCKETLAKE(display))
> >> >>
> >> >> or change IS_ to something else e.g. PLATFORM_ROCKETLAKE().
> >> >>
> >> >> if (PLATFORM_ROCKETLAKE(display))
> >> >>
> >> >> But that can get a bit long in some if ladders etc.
> >> >
> >> > Does it matter much? I think those would be the exception, particularly
> >> > because platform checks are kind of rare these days.
> >>
> >> Well, they're maybe the exception for new platforms, but i915 display
> >> does have to deal with a lot of legacy with a lot of platform checks.
> >>
> >> > grepping for LUNARLAKE in xe reveals only 2 users (+ few workarounds),
> >> > because wherever we can we check by graphics/display version rather than
> >> > platform.
> >>
> >> i915 display has only one use of IS_LUNARLAKE(), but there are 1k+ other
> >> uses of IS_<PLATFORM>.
> >>
> >> Incidentally, this is the reason I'm procrastinating about the change at
> >> all.
> >>
> >> > Then simply using something similar to what we already have in xe, would
> >> > be great IMO:
> >> >
> >> > if (display->platform == PLATFORM_LUNARLAKE)
> >> >
> >> > it may be verbose, but shouldn't be much used to matter in the end.
> >>
> >> The downside with that is that you can't deal with subplatforms as
> >> easily. It becomes
> >>
> >> if (display->platform == PLATFORM_LUNARLAKE ||
> >> (display->platform == PLATFORM_ALDERLAKE_P &&
> >> display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N))
> >>
> >> or similar. Definitely not a fan.
> >
> > unless the subplatform already includes the platform?
>
> Oh, yeah, it would.
>
> > But well, I also don't have a good suggestion here.
> > The '.is' struct is strange indeed, but at least covers all the past
> > and future strange cases.
> >
> > But I also wouldn't mind if we decide to get the verbose path,
> > but try to at least making the subplatform already infering the
> > platform in a way that this case could only be:
> >
> > if (display->platform == PLATFORM_LUNARLAKE ||
> > display->subplatform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N)
> >
> >
> > or perhaps do in a way that we don't even need the subplatform struct?
> >
> > if (display->platform == PLATFORM_LUNARLAKE ||
> > display->platform == SUBPLATFORM_ALDERLAKE_P_ALDERLAKE_N)
>
> How would that even be possible? display->platform can't be multiple
> things at the same time, unless it's a bitmask. If it's a bitmask, you
> need a way to nicely check for it instead of having it everywhere.
>
> The alternatives are using a macro, or using bitfields - which is
> exactly what the patch at hand does. We've come full circle.
yeap, forget about this...
>
>
> BR,
> Jani.
>
>
> >
> >>
> >>
> >> BR,
> >> Jani.
> >>
> >>
> >> >
> >> > Lucas De Marchi
> >> >
> >> >>
> >> >>- Go through the trouble of making the existing IS_FOO() macros _Generic
> >> >> and accept either i915 or display pointer. This does postpone making
> >> >> any further changes, but fairly soon there will need to be two sets of
> >> >> macros, separate for i915 and display, even though named the same.
> >> >>
> >> >> Also, the _Generic thing would look up the platform definitions from
> >> >> different places, which could be error prone.
> >> >>
> >> >>
> >> >>Yeah, procrastination...
> >> >>
> >> >>
> >> >>BR,
> >> >>Jani.
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>--
> >> >>Jani Nikula, Intel
> >>
> >> --
> >> Jani Nikula, Intel
>
> --
> Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-27 14:49 ` Rodrigo Vivi
@ 2024-09-27 15:01 ` Jani Nikula
2024-09-27 16:13 ` Rodrigo Vivi
0 siblings, 1 reply; 34+ messages in thread
From: Jani Nikula @ 2024-09-27 15:01 UTC (permalink / raw)
To: Rodrigo Vivi
Cc: Lucas De Marchi, Ville Syrjälä, intel-gfx, intel-xe
On Fri, 27 Sep 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Fri, Sep 27, 2024 at 03:16:23PM +0300, Jani Nikula wrote:
>> For example, RPL-S:
>>
>>
>> if (display->platform.alderlake_s_raptorlake_s)
>>
>> But the main platform also matches its subplatforms:
>>
>> if (display->platform.alderlake_s)
>>
>> This is the same as with the patches at hand. Except for the
>> uppercase/lowercase difference, and s/is/platform/.
>
> Yeap, let's go with that then!
Double-checking: do you want both s/is/platform *and* lowercase?
if (display->platform.alderlake_s_raptorlake_s)
Mulling over this I've ended up preferring lowercase. (Maybe need to do
something to pretty print them to logs.)
And just the platform without "is_" prefix, i.e. *not*:
if (display->platform.is_alderlake_s_raptorlake_s)
BR,
Jani.
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-27 15:01 ` Jani Nikula
@ 2024-09-27 16:13 ` Rodrigo Vivi
2024-09-27 18:12 ` Lucas De Marchi
0 siblings, 1 reply; 34+ messages in thread
From: Rodrigo Vivi @ 2024-09-27 16:13 UTC (permalink / raw)
To: Jani Nikula; +Cc: Lucas De Marchi, Ville Syrjälä, intel-gfx, intel-xe
On Fri, Sep 27, 2024 at 06:01:58PM +0300, Jani Nikula wrote:
> On Fri, 27 Sep 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> > On Fri, Sep 27, 2024 at 03:16:23PM +0300, Jani Nikula wrote:
> >> For example, RPL-S:
> >>
> >>
> >> if (display->platform.alderlake_s_raptorlake_s)
> >>
> >> But the main platform also matches its subplatforms:
> >>
> >> if (display->platform.alderlake_s)
> >>
> >> This is the same as with the patches at hand. Except for the
> >> uppercase/lowercase difference, and s/is/platform/.
> >
> > Yeap, let's go with that then!
>
> Double-checking: do you want both s/is/platform *and* lowercase?
>
> if (display->platform.alderlake_s_raptorlake_s)
>
> Mulling over this I've ended up preferring lowercase. (Maybe need to do
> something to pretty print them to logs.)
I believe that I like the lowercase more too.
We could have a map for the debug prints, but I would delay this, because
that could end up in discussions with marketing brand strings... :/
>
> And just the platform without "is_" prefix, i.e. *not*:
>
> if (display->platform.is_alderlake_s_raptorlake_s)
I like the version without 'is' better...
>
>
> BR,
> Jani.
>
>
> --
> Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM>
2024-09-27 16:13 ` Rodrigo Vivi
@ 2024-09-27 18:12 ` Lucas De Marchi
0 siblings, 0 replies; 34+ messages in thread
From: Lucas De Marchi @ 2024-09-27 18:12 UTC (permalink / raw)
To: Rodrigo Vivi; +Cc: Jani Nikula, Ville Syrjälä, intel-gfx, intel-xe
On Fri, Sep 27, 2024 at 12:13:20PM GMT, Rodrigo Vivi wrote:
>On Fri, Sep 27, 2024 at 06:01:58PM +0300, Jani Nikula wrote:
>> On Fri, 27 Sep 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
>> > On Fri, Sep 27, 2024 at 03:16:23PM +0300, Jani Nikula wrote:
>> >> For example, RPL-S:
>> >>
>> >>
>> >> if (display->platform.alderlake_s_raptorlake_s)
>> >>
>> >> But the main platform also matches its subplatforms:
>> >>
>> >> if (display->platform.alderlake_s)
>> >>
>> >> This is the same as with the patches at hand. Except for the
>> >> uppercase/lowercase difference, and s/is/platform/.
>> >
>> > Yeap, let's go with that then!
>>
>> Double-checking: do you want both s/is/platform *and* lowercase?
>>
>> if (display->platform.alderlake_s_raptorlake_s)
>>
>> Mulling over this I've ended up preferring lowercase. (Maybe need to do
>> something to pretty print them to logs.)
>
>I believe that I like the lowercase more too.
ack
>We could have a map for the debug prints, but I would delay this, because
>that could end up in discussions with marketing brand strings... :/
>
>>
>> And just the platform without "is_" prefix, i.e. *not*:
>>
>> if (display->platform.is_alderlake_s_raptorlake_s)
>
>I like the version without 'is' better...
ack
Lucas De Marchi
>
>>
>>
>> BR,
>> Jani.
>>
>>
>> --
>> Jani Nikula, Intel
^ permalink raw reply [flat|nested] 34+ messages in thread
end of thread, other threads:[~2024-09-27 18:13 UTC | newest]
Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-19 18:44 [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Jani Nikula
2024-08-19 18:44 ` [PATCH v2 1/9] drm/i915/display: use a macro to initialize subplatforms Jani Nikula
2024-08-19 18:44 ` [PATCH v2 2/9] drm/i915/display: use a macro to define platform enumerations Jani Nikula
2024-08-19 18:44 ` [PATCH v2 3/9] drm/i915/display: join the platform and subplatform enums Jani Nikula
2024-08-19 18:44 ` [PATCH v2 4/9] drm/i915/display: add display platforms structure with platform members Jani Nikula
2024-08-28 20:46 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 5/9] drm/i915/display: add platforms "is" member to struct intel_display Jani Nikula
2024-08-19 18:48 ` [PATCH v3] " Jani Nikula
2024-08-28 20:48 ` Rodrigo Vivi
2024-08-28 20:47 ` [PATCH v2 5/9] " Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 6/9] drm/i915/display: remove the display platform enum as unnecessary Jani Nikula
2024-08-28 20:49 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 7/9] drm/i915/display: consider HSW/BDW ULX to also be ULT Jani Nikula
2024-08-28 20:50 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 8/9] drm/i915/display: keep subplatforms next to their platforms Jani Nikula
2024-08-28 20:52 ` Rodrigo Vivi
2024-08-19 18:44 ` [PATCH v2 9/9] drm/i915/bios: use display->is.PLATFORM instead of IS_PLATFORM() Jani Nikula
2024-08-28 20:52 ` Rodrigo Vivi
2024-08-19 19:13 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: platform identification with display->is.<PLATFORM> (rev3) Patchwork
2024-08-19 19:13 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-08-19 19:15 ` ✓ Fi.CI.BAT: success " Patchwork
2024-08-20 9:51 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-08-28 20:41 ` [PATCH v2 0/9] drm/i915/display: platform identification with display->is.<PLATFORM> Rodrigo Vivi
2024-08-29 16:03 ` Ville Syrjälä
2024-09-24 9:49 ` Jani Nikula
2024-09-24 13:14 ` Lucas De Marchi
2024-09-24 13:37 ` Jani Nikula
2024-09-24 13:43 ` Ville Syrjälä
2024-09-26 14:58 ` Rodrigo Vivi
2024-09-27 12:16 ` Jani Nikula
2024-09-27 14:49 ` Rodrigo Vivi
2024-09-27 15:01 ` Jani Nikula
2024-09-27 16:13 ` Rodrigo Vivi
2024-09-27 18:12 ` Lucas De Marchi
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).