* [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order
@ 2023-06-30 15:58 Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 1/6] drm/i915: Initialize dig_port->aux_ch to NONE to be sure Ville Syrjala
` (12 more replies)
0 siblings, 13 replies; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
The remaining parts of the big VBT based DDI port initialization
series.
The main goal being to get the HDMI port working on many
ADL-P machines where the VBT declares both eDP and HDMI
for the same DDI port (B).
v3: Pimped commit messages
Add intel_bios_encoder_port() and use it
Ville Syrjälä (6):
drm/i915: Initialize dig_port->aux_ch to NONE to be sure
drm/i915: Only populate aux_ch if really needed
drm/i915: Remove DDC pin sanitation
drm/i915: Remove AUX CH sanitation
drm/i915/bios: Extract intel_bios_encoder_port()
drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child
device
drivers/gpu/drm/i915/display/g4x_dp.c | 5 +
drivers/gpu/drm/i915/display/g4x_hdmi.c | 3 +-
drivers/gpu/drm/i915/display/icl_dsi.c | 9 +-
drivers/gpu/drm/i915/display/icl_dsi.h | 4 +-
drivers/gpu/drm/i915/display/intel_bios.c | 185 ++++--------------
drivers/gpu/drm/i915/display/intel_bios.h | 6 +
drivers/gpu/drm/i915/display/intel_ddi.c | 74 +++++--
drivers/gpu/drm/i915/display/intel_ddi.h | 4 +-
drivers/gpu/drm/i915/display/intel_display.c | 11 +-
.../gpu/drm/i915/display/intel_display_core.h | 2 -
drivers/gpu/drm/i915/display/intel_dp_aux.c | 51 ++++-
drivers/gpu/drm/i915/display/intel_hdmi.c | 72 +++++--
12 files changed, 231 insertions(+), 195 deletions(-)
--
2.39.3
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH v3 1/6] drm/i915: Initialize dig_port->aux_ch to NONE to be sure
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
@ 2023-06-30 15:58 ` Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 2/6] drm/i915: Only populate aux_ch if really needed Ville Syrjala
` (11 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Make sure dig_port->aux_ch is trustworthy by initializing it
to NONE (-1) at the start. The encoder init will later fill in
the actual value, if appropriate.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/g4x_dp.c | 2 ++
drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 ++
drivers/gpu/drm/i915/display/intel_ddi.c | 2 ++
3 files changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
index c58a3f249a01..0cab5992e3da 100644
--- a/drivers/gpu/drm/i915/display/g4x_dp.c
+++ b/drivers/gpu/drm/i915/display/g4x_dp.c
@@ -1273,6 +1273,8 @@ bool g4x_dp_init(struct drm_i915_private *dev_priv,
if (!dig_port)
return false;
+ dig_port->aux_ch = AUX_CH_NONE;
+
intel_connector = intel_connector_alloc();
if (!intel_connector)
goto err_connector_alloc;
diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c
index 8c71e3ede680..c1fd13bdc9d2 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
@@ -698,6 +698,8 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
if (!dig_port)
return;
+ dig_port->aux_ch = AUX_CH_NONE;
+
intel_connector = intel_connector_alloc();
if (!intel_connector) {
kfree(dig_port);
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 61722556bb47..6cb24a472a9b 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4747,6 +4747,8 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
if (!dig_port)
return;
+ dig_port->aux_ch = AUX_CH_NONE;
+
encoder = &dig_port->base;
encoder->devdata = devdata;
--
2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH v3 2/6] drm/i915: Only populate aux_ch if really needed
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 1/6] drm/i915: Initialize dig_port->aux_ch to NONE to be sure Ville Syrjala
@ 2023-06-30 15:58 ` Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 3/6] drm/i915: Remove DDC pin sanitation Ville Syrjala
` (10 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Mixing VBT based AUX CH with platform defaults seems like
a recipe for conflicts. Let's only populate AUX CH if we
absolutely need it, that is only if we are dealing with
a DP output or a TC port (which need it due to some power
well shenanigans).
TODO: double check that real VBTs do in fact populate
the AUX CH for HDMI TC legacy ports...
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/g4x_hdmi.c | 1 -
drivers/gpu/drm/i915/display/intel_ddi.c | 12 +++++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c
index c1fd13bdc9d2..634b14116d9d 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
@@ -775,6 +775,5 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
intel_infoframe_init(dig_port);
- dig_port->aux_ch = intel_dp_aux_ch(intel_encoder);
intel_hdmi_init_connector(dig_port, intel_connector);
}
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 6cb24a472a9b..662b5ceef3c8 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4676,6 +4676,14 @@ static bool port_strap_detected(struct drm_i915_private *i915, enum port port)
}
}
+static bool need_aux_ch(struct intel_encoder *encoder, bool init_dp)
+{
+ struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ enum phy phy = intel_port_to_phy(i915, encoder->port);
+
+ return init_dp || intel_phy_is_tc(i915, phy);
+}
+
void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
{
struct intel_digital_port *dig_port;
@@ -4929,7 +4937,9 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
dig_port->dp.output_reg = INVALID_MMIO_REG;
dig_port->max_lanes = intel_ddi_max_lanes(dig_port);
- dig_port->aux_ch = intel_dp_aux_ch(encoder);
+
+ if (need_aux_ch(encoder, init_dp))
+ dig_port->aux_ch = intel_dp_aux_ch(encoder);
if (intel_phy_is_tc(dev_priv, phy)) {
bool is_legacy =
--
2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH v3 3/6] drm/i915: Remove DDC pin sanitation
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 1/6] drm/i915: Initialize dig_port->aux_ch to NONE to be sure Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 2/6] drm/i915: Only populate aux_ch if really needed Ville Syrjala
@ 2023-06-30 15:58 ` Ville Syrjala
2023-06-30 16:36 ` Jani Nikula
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 4/6] drm/i915: Remove AUX CH sanitation Ville Syrjala
` (9 subsequent siblings)
12 siblings, 1 reply; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Stop with the VBT DDC pin sanitation, and instead just check
that the appropriate DDC pin is still available when initializing
a HDMI connector.
The reason being that we want to start initializing ports in
VBT order to deal with VBTs that declare child devices with
seemingly conflicting ports. As the encoder initialization can
fail for other reasons (at least for eDP+AUX) we can't know
upfront which way the conflicts should be resolved.
Note that the old way of sanitizing gave priority to the last
port declared in the VBT, but now we sort of do the opposite by
favoring the first encoder to successfully initialize. So far
we're not aware of HDMI/DDC use cases where this would matter
but for AUX CH (will be subject to a similar change) there are
known cases where it matters.
Also note that the old code fell back to the platform default DDC
pin if the VBT pin was populated but invalid. That doesn't seem like
such a great idea because the VBT might have later declared another
port using that platform default pin, and so we might just be
creating more DDC pin conflicts here. So lets not second guess the
VBT and simply reject the entire HDMI encoder if the VBT DDC pin is
invalid.
v2: Pimp the commit message (Jani)
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_bios.c | 69 ----------------------
drivers/gpu/drm/i915/display/intel_hdmi.c | 72 +++++++++++++++++++----
2 files changed, 59 insertions(+), 82 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 4b9bf76e137d..6aeebd3c97f9 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2230,72 +2230,6 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
return 0;
}
-static enum port get_port_by_ddc_pin(struct drm_i915_private *i915, u8 ddc_pin)
-{
- enum port port;
-
- if (!ddc_pin)
- return PORT_NONE;
-
- for_each_port(port) {
- const struct intel_bios_encoder_data *devdata =
- i915->display.vbt.ports[port];
-
- if (devdata && ddc_pin == devdata->child.ddc_pin)
- return port;
- }
-
- return PORT_NONE;
-}
-
-static void sanitize_ddc_pin(struct intel_bios_encoder_data *devdata,
- enum port port)
-{
- struct drm_i915_private *i915 = devdata->i915;
- struct child_device_config *child;
- u8 mapped_ddc_pin;
- enum port p;
-
- if (!devdata->child.ddc_pin)
- return;
-
- mapped_ddc_pin = map_ddc_pin(i915, devdata->child.ddc_pin);
- if (!intel_gmbus_is_valid_pin(i915, mapped_ddc_pin)) {
- drm_dbg_kms(&i915->drm,
- "Port %c has invalid DDC pin %d, "
- "sticking to defaults\n",
- port_name(port), mapped_ddc_pin);
- devdata->child.ddc_pin = 0;
- return;
- }
-
- p = get_port_by_ddc_pin(i915, devdata->child.ddc_pin);
- if (p == PORT_NONE)
- return;
-
- drm_dbg_kms(&i915->drm,
- "port %c trying to use the same DDC pin (0x%x) as port %c, "
- "disabling port %c DVI/HDMI support\n",
- port_name(port), mapped_ddc_pin,
- port_name(p), port_name(p));
-
- /*
- * If we have multiple ports supposedly sharing the pin, then dvi/hdmi
- * couldn't exist on the shared port. Otherwise they share the same ddc
- * pin and system couldn't communicate with them separately.
- *
- * Give inverse child device order the priority, last one wins. Yes,
- * there are real machines (eg. Asrock B250M-HDV) where VBT has both
- * port A and port E with the same AUX ch and we must pick port E :(
- */
- child = &i915->display.vbt.ports[p]->child;
-
- child->device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING;
- child->device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT;
-
- child->ddc_pin = 0;
-}
-
static enum port get_port_by_aux_ch(struct drm_i915_private *i915, u8 aux_ch)
{
enum port port;
@@ -2754,9 +2688,6 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
sanitize_device_type(devdata, port);
- if (intel_bios_encoder_supports_dvi(devdata))
- sanitize_ddc_pin(devdata, port);
-
if (intel_bios_encoder_supports_dp(devdata))
sanitize_aux_ch(devdata, port);
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 7ac5e6c5e00d..8d1c8abfcffa 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2880,21 +2880,12 @@ static u8 g4x_port_to_ddc_pin(struct drm_i915_private *dev_priv,
return ddc_pin;
}
-static u8 intel_hdmi_ddc_pin(struct intel_encoder *encoder)
+static u8 intel_hdmi_default_ddc_pin(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
enum port port = encoder->port;
u8 ddc_pin;
- ddc_pin = intel_bios_hdmi_ddc_pin(encoder->devdata);
- if (ddc_pin) {
- drm_dbg_kms(&dev_priv->drm,
- "[ENCODER:%d:%s] Using DDC pin 0x%x (VBT)\n",
- encoder->base.base.id, encoder->base.name,
- ddc_pin);
- return ddc_pin;
- }
-
if (IS_ALDERLAKE_S(dev_priv))
ddc_pin = adls_port_to_ddc_pin(dev_priv, port);
else if (INTEL_PCH_TYPE(dev_priv) >= PCH_DG1)
@@ -2916,10 +2907,62 @@ static u8 intel_hdmi_ddc_pin(struct intel_encoder *encoder)
else
ddc_pin = g4x_port_to_ddc_pin(dev_priv, port);
- drm_dbg_kms(&dev_priv->drm,
- "[ENCODER:%d:%s] Using DDC pin 0x%x (platform default)\n",
+ return ddc_pin;
+}
+
+static struct intel_encoder *
+get_encoder_by_ddc_pin(struct intel_encoder *encoder, u8 ddc_pin)
+{
+ struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ struct intel_encoder *other;
+
+ for_each_intel_encoder(&i915->drm, other) {
+ if (other == encoder)
+ continue;
+
+ if (!intel_encoder_is_dig_port(other))
+ continue;
+
+ if (enc_to_dig_port(other)->hdmi.ddc_bus == ddc_pin)
+ return other;
+ }
+
+ return NULL;
+}
+
+static u8 intel_hdmi_ddc_pin(struct intel_encoder *encoder)
+{
+ struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ struct intel_encoder *other;
+ const char *source;
+ u8 ddc_pin;
+
+ ddc_pin = intel_bios_hdmi_ddc_pin(encoder->devdata);
+ source = "VBT";
+
+ if (!ddc_pin) {
+ ddc_pin = intel_hdmi_default_ddc_pin(encoder);
+ source = "platform default";
+ }
+
+ if (!intel_gmbus_is_valid_pin(i915, ddc_pin)) {
+ drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] Invalid DDC pin %d\n",
+ encoder->base.base.id, encoder->base.name, ddc_pin);
+ return 0;
+ }
+
+ other = get_encoder_by_ddc_pin(encoder, ddc_pin);
+ if (other) {
+ drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] DDC pin %d already claimed by [ENCODER:%d:%s]\n",
+ encoder->base.base.id, encoder->base.name, ddc_pin,
+ other->base.base.id, other->base.name);
+ return 0;
+ }
+
+ drm_dbg_kms(&i915->drm,
+ "[ENCODER:%d:%s] Using DDC pin 0x%x (%s)\n",
encoder->base.base.id, encoder->base.name,
- ddc_pin);
+ ddc_pin, source);
return ddc_pin;
}
@@ -2990,6 +3033,9 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
return;
intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(intel_encoder);
+ if (!intel_hdmi->ddc_bus)
+ return;
+
ddc = intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus);
drm_connector_init_with_ddc(dev, connector,
--
2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH v3 4/6] drm/i915: Remove AUX CH sanitation
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (2 preceding siblings ...)
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 3/6] drm/i915: Remove DDC pin sanitation Ville Syrjala
@ 2023-06-30 15:58 ` Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 5/6] drm/i915/bios: Extract intel_bios_encoder_port() Ville Syrjala
` (8 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Stop with the VBT AUX CH sanitation, and instead just check
that the appropriate AUX CH is still available when initializing
a DP/TC port.
The reason being that we want to start initializing ports in
VBT order to deal with VBTs that declare child devices with
seemingly conflicting ports. As the encoder initialization can
fail for other reasons (at least for eDP+AUX) we can't know
upfront which way the conflicts should be resolved.
Note that the old way of sanitizing gave priority to the last
port declared in the VBT, but now we sort of do the opposite by
favoring the first encoder to successfully initialize. The reason
for the old "last port wins" preference was eg. Asrock B250M-HDV
where port A (eDP) and port E (DP->VGA) have an AUX CH conflict
and we need to prefer port E. However with the new way port A (eDP)
will be probed first, but will fail to probe due to HPD and thus
port E will still win in the end.
v2: Pimp the commit message (Jani)
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/g4x_dp.c | 3 ++
drivers/gpu/drm/i915/display/intel_bios.c | 53 ---------------------
drivers/gpu/drm/i915/display/intel_ddi.c | 5 +-
drivers/gpu/drm/i915/display/intel_dp_aux.c | 51 ++++++++++++++++----
4 files changed, 50 insertions(+), 62 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
index 0cab5992e3da..4c7187f7913e 100644
--- a/drivers/gpu/drm/i915/display/g4x_dp.c
+++ b/drivers/gpu/drm/i915/display/g4x_dp.c
@@ -1378,6 +1378,9 @@ bool g4x_dp_init(struct drm_i915_private *dev_priv,
intel_infoframe_init(dig_port);
dig_port->aux_ch = intel_dp_aux_ch(intel_encoder);
+ if (dig_port->aux_ch == AUX_CH_NONE)
+ goto err_init_connector;
+
if (!intel_dp_init_connector(dig_port, intel_connector))
goto err_init_connector;
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 6aeebd3c97f9..ae83788177ce 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2230,56 +2230,6 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
return 0;
}
-static enum port get_port_by_aux_ch(struct drm_i915_private *i915, u8 aux_ch)
-{
- enum port port;
-
- if (!aux_ch)
- return PORT_NONE;
-
- for_each_port(port) {
- const struct intel_bios_encoder_data *devdata =
- i915->display.vbt.ports[port];
-
- if (devdata && aux_ch == devdata->child.aux_channel)
- return port;
- }
-
- return PORT_NONE;
-}
-
-static void sanitize_aux_ch(struct intel_bios_encoder_data *devdata,
- enum port port)
-{
- struct drm_i915_private *i915 = devdata->i915;
- struct child_device_config *child;
- enum port p;
-
- p = get_port_by_aux_ch(i915, devdata->child.aux_channel);
- if (p == PORT_NONE)
- return;
-
- drm_dbg_kms(&i915->drm,
- "port %c trying to use the same AUX CH (0x%x) as port %c, "
- "disabling port %c DP support\n",
- port_name(port), devdata->child.aux_channel,
- port_name(p), port_name(p));
-
- /*
- * If we have multiple ports supposedly sharing the aux channel, then DP
- * couldn't exist on the shared port. Otherwise they share the same aux
- * channel and system couldn't communicate with them separately.
- *
- * Give inverse child device order the priority, last one wins. Yes,
- * there are real machines (eg. Asrock B250M-HDV) where VBT has both
- * port A and port E with the same AUX ch and we must pick port E :(
- */
- child = &i915->display.vbt.ports[p]->child;
-
- child->device_type &= ~DEVICE_TYPE_DISPLAYPORT_OUTPUT;
- child->aux_channel = 0;
-}
-
static u8 dvo_port_type(u8 dvo_port)
{
switch (dvo_port) {
@@ -2688,9 +2638,6 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
sanitize_device_type(devdata, port);
- if (intel_bios_encoder_supports_dp(devdata))
- sanitize_aux_ch(devdata, port);
-
i915->display.vbt.ports[port] = devdata;
}
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 662b5ceef3c8..9e4e6482aa26 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4938,8 +4938,11 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
dig_port->dp.output_reg = INVALID_MMIO_REG;
dig_port->max_lanes = intel_ddi_max_lanes(dig_port);
- if (need_aux_ch(encoder, init_dp))
+ if (need_aux_ch(encoder, init_dp)) {
dig_port->aux_ch = intel_dp_aux_ch(encoder);
+ if (dig_port->aux_ch == AUX_CH_NONE)
+ goto err;
+ }
if (intel_phy_is_tc(dev_priv, phy)) {
bool is_legacy =
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux.c b/drivers/gpu/drm/i915/display/intel_dp_aux.c
index 21b50a5c8a85..2d173bd495a3 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux.c
@@ -792,25 +792,60 @@ static enum aux_ch default_aux_ch(struct intel_encoder *encoder)
return (enum aux_ch)encoder->port;
}
+static struct intel_encoder *
+get_encoder_by_aux_ch(struct intel_encoder *encoder,
+ enum aux_ch aux_ch)
+{
+ struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ struct intel_encoder *other;
+
+ for_each_intel_encoder(&i915->drm, other) {
+ if (other == encoder)
+ continue;
+
+ if (!intel_encoder_is_dig_port(other))
+ continue;
+
+ if (enc_to_dig_port(other)->aux_ch == aux_ch)
+ return other;
+ }
+
+ return NULL;
+}
+
enum aux_ch intel_dp_aux_ch(struct intel_encoder *encoder)
{
struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ struct intel_encoder *other;
+ const char *source;
enum aux_ch aux_ch;
aux_ch = intel_bios_dp_aux_ch(encoder->devdata);
- if (aux_ch != AUX_CH_NONE) {
- drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] using AUX %c (VBT)\n",
- encoder->base.base.id, encoder->base.name,
- aux_ch_name(aux_ch));
- return aux_ch;
+ source = "VBT";
+
+ if (aux_ch == AUX_CH_NONE) {
+ aux_ch = default_aux_ch(encoder);
+ source = "platform default";
}
- aux_ch = default_aux_ch(encoder);
+ if (aux_ch == AUX_CH_NONE)
+ return AUX_CH_NONE;
+
+ /* FIXME validate aux_ch against platform caps */
+
+ other = get_encoder_by_aux_ch(encoder, aux_ch);
+ if (other) {
+ drm_dbg_kms(&i915->drm,
+ "[ENCODER:%d:%s] AUX CH %c already claimed by [ENCODER:%d:%s]\n",
+ encoder->base.base.id, encoder->base.name, aux_ch_name(aux_ch),
+ other->base.base.id, other->base.name);
+ return AUX_CH_NONE;
+ }
drm_dbg_kms(&i915->drm,
- "[ENCODER:%d:%s] using AUX %c (platform default)\n",
+ "[ENCODER:%d:%s] Using AUX CH %c (%s)\n",
encoder->base.base.id, encoder->base.name,
- aux_ch_name(aux_ch));
+ aux_ch_name(aux_ch), source);
return aux_ch;
}
--
2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH v3 5/6] drm/i915/bios: Extract intel_bios_encoder_port()
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (3 preceding siblings ...)
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 4/6] drm/i915: Remove AUX CH sanitation Ville Syrjala
@ 2023-06-30 15:58 ` Ville Syrjala
2023-06-30 16:28 ` Jani Nikula
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device Ville Syrjala
` (7 subsequent siblings)
12 siblings, 1 reply; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
We'll have a few places where we need to do the full (incl. ICL+ DSI)
DVO port->port conversion, so extract the code for that into a helper.
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_bios.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index ae83788177ce..c96bbbe4448e 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2374,6 +2374,19 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
}
}
+static enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
+{
+ struct drm_i915_private *i915 = devdata->i915;
+ const struct child_device_config *child = &devdata->child;
+ enum port port;
+
+ port = dvo_port_to_port(i915, child->dvo_port);
+ if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
+ port = dsi_dvo_port_to_port(i915, child->dvo_port);
+
+ return port;
+}
+
static int parse_bdb_230_dp_max_link_rate(const int vbt_max_link_rate)
{
switch (vbt_max_link_rate) {
@@ -2613,12 +2626,9 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata,
static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
{
struct drm_i915_private *i915 = devdata->i915;
- const struct child_device_config *child = &devdata->child;
enum port port;
- port = dvo_port_to_port(i915, child->dvo_port);
- if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
- port = dsi_dvo_port_to_port(i915, child->dvo_port);
+ port = intel_bios_encoder_port(devdata);
if (port == PORT_NONE)
return;
--
2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (4 preceding siblings ...)
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 5/6] drm/i915/bios: Extract intel_bios_encoder_port() Ville Syrjala
@ 2023-06-30 15:58 ` Ville Syrjala
2023-06-30 16:38 ` Jani Nikula
2023-06-30 16:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev5) Patchwork
` (6 subsequent siblings)
12 siblings, 1 reply; 18+ messages in thread
From: Ville Syrjala @ 2023-06-30 15:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Try to deal with duplicate child devices for the same DDI port
by attempting to initialize them in VBT defined order The first
on to succeed for a specific DDI port will be the one we use.
We'll also get rid of i915->display.vbt.ports[] here as any conflicts
will now be handled at encoder registration time rather than during
VBT parsing. Note that intel_bios_encoder_data_lookup() still remaims
for pre-DDI DP/HDMI ports as those don't (at least yet) use VBT
driven initialization.
TODO: DSI dual link handling is sketchy at best
v2: Leave intel_bios_encoder_port() to the encoder callback (Jani)
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/icl_dsi.c | 9 ++-
drivers/gpu/drm/i915/display/icl_dsi.h | 4 +-
drivers/gpu/drm/i915/display/intel_bios.c | 47 ++++++++-------
drivers/gpu/drm/i915/display/intel_bios.h | 6 ++
drivers/gpu/drm/i915/display/intel_ddi.c | 57 +++++++++++++++----
drivers/gpu/drm/i915/display/intel_ddi.h | 4 +-
drivers/gpu/drm/i915/display/intel_display.c | 11 +---
.../gpu/drm/i915/display/intel_display_core.h | 2 -
8 files changed, 93 insertions(+), 47 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
index 59a2a289d9be..f7ebc146f96d 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -1933,7 +1933,8 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
fixed_mode->vdisplay);
}
-void icl_dsi_init(struct drm_i915_private *dev_priv)
+void icl_dsi_init(struct drm_i915_private *dev_priv,
+ const struct intel_bios_encoder_data *devdata)
{
struct intel_dsi *intel_dsi;
struct intel_encoder *encoder;
@@ -1941,7 +1942,8 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
struct drm_connector *connector;
enum port port;
- if (!intel_bios_is_dsi_present(dev_priv, &port))
+ port = intel_bios_encoder_port(devdata);
+ if (port == PORT_NONE)
return;
intel_dsi = kzalloc(sizeof(*intel_dsi), GFP_KERNEL);
@@ -1958,6 +1960,8 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
intel_dsi->attached_connector = intel_connector;
connector = &intel_connector->base;
+ encoder->devdata = devdata;
+
/* register DSI encoder with DRM subsystem */
drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
@@ -1995,7 +1999,6 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
intel_dsi->panel_power_off_time = ktime_get_boottime();
- encoder->devdata = intel_bios_encoder_data_lookup(dev_priv, port);
intel_bios_init_panel_late(dev_priv, &intel_connector->panel, encoder->devdata, NULL);
mutex_lock(&dev_priv->drm.mode_config.mutex);
diff --git a/drivers/gpu/drm/i915/display/icl_dsi.h b/drivers/gpu/drm/i915/display/icl_dsi.h
index b4861b56b5b2..43fa7d72eeb1 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.h
+++ b/drivers/gpu/drm/i915/display/icl_dsi.h
@@ -7,9 +7,11 @@
#define __ICL_DSI_H__
struct drm_i915_private;
+struct intel_bios_encoder_data;
struct intel_crtc_state;
-void icl_dsi_init(struct drm_i915_private *i915);
+void icl_dsi_init(struct drm_i915_private *dev_priv,
+ const struct intel_bios_encoder_data *devdata);
void icl_dsi_frame_update(struct intel_crtc_state *crtc_state);
#endif /* __ICL_DSI_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index c96bbbe4448e..858c959f7bab 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2374,7 +2374,7 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
}
}
-static enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
+enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
{
struct drm_i915_private *i915 = devdata->i915;
const struct child_device_config *child = &devdata->child;
@@ -2497,7 +2497,7 @@ intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata)
devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR;
}
-static bool
+bool
intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata)
{
return devdata->child.device_type & DEVICE_TYPE_MIPI_OUTPUT;
@@ -2556,13 +2556,17 @@ static bool is_port_valid(struct drm_i915_private *i915, enum port port)
return true;
}
-static void print_ddi_port(const struct intel_bios_encoder_data *devdata,
- enum port port)
+static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
{
struct drm_i915_private *i915 = devdata->i915;
const struct child_device_config *child = &devdata->child;
bool is_dvi, is_hdmi, is_dp, is_edp, is_dsi, is_crt, supports_typec_usb, supports_tbt;
int dp_boost_level, dp_max_link_rate, hdmi_boost_level, hdmi_level_shift, max_tmds_clock;
+ enum port port;
+
+ port = intel_bios_encoder_port(devdata);
+ if (port == PORT_NONE)
+ return;
is_dvi = intel_bios_encoder_supports_dvi(devdata);
is_dp = intel_bios_encoder_supports_dp(devdata);
@@ -2639,16 +2643,7 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
return;
}
- if (i915->display.vbt.ports[port]) {
- drm_dbg_kms(&i915->drm,
- "More than one child device for port %c in VBT, using the first.\n",
- port_name(port));
- return;
- }
-
sanitize_device_type(devdata, port);
-
- i915->display.vbt.ports[port] = devdata;
}
static bool has_ddi_port_info(struct drm_i915_private *i915)
@@ -2659,7 +2654,6 @@ static bool has_ddi_port_info(struct drm_i915_private *i915)
static void parse_ddi_ports(struct drm_i915_private *i915)
{
struct intel_bios_encoder_data *devdata;
- enum port port;
if (!has_ddi_port_info(i915))
return;
@@ -2667,10 +2661,8 @@ static void parse_ddi_ports(struct drm_i915_private *i915)
list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
parse_ddi_port(devdata);
- for_each_port(port) {
- if (i915->display.vbt.ports[port])
- print_ddi_port(i915->display.vbt.ports[port], port);
- }
+ list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
+ print_ddi_port(devdata);
}
static void
@@ -3595,5 +3587,22 @@ bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata
const struct intel_bios_encoder_data *
intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port)
{
- return i915->display.vbt.ports[port];
+ struct intel_bios_encoder_data *devdata;
+
+ list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+ if (intel_bios_encoder_port(devdata) == port)
+ return devdata;
+ }
+
+ return NULL;
+}
+
+void intel_bios_for_each_encoder(struct drm_i915_private *i915,
+ void (*func)(struct drm_i915_private *i915,
+ const struct intel_bios_encoder_data *devdata))
+{
+ struct intel_bios_encoder_data *devdata;
+
+ list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
+ func(i915, devdata);
}
diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
index 45fae97d9719..9680e3e92bb5 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -263,10 +263,12 @@ bool intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdat
bool intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata);
bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata);
bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata);
+bool intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata);
bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata);
bool intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata);
bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata);
bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata);
+enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata);
enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata);
int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata);
int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata);
@@ -276,4 +278,8 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata);
int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata);
int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata);
+void intel_bios_for_each_encoder(struct drm_i915_private *i915,
+ void (*func)(struct drm_i915_private *i915,
+ const struct intel_bios_encoder_data *devdata));
+
#endif /* _INTEL_BIOS_H_ */
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 9e4e6482aa26..3cd2191fa794 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -32,6 +32,7 @@
#include "i915_drv.h"
#include "i915_reg.h"
+#include "icl_dsi.h"
#include "intel_audio.h"
#include "intel_audio_regs.h"
#include "intel_backlight.h"
@@ -4684,13 +4685,38 @@ static bool need_aux_ch(struct intel_encoder *encoder, bool init_dp)
return init_dp || intel_phy_is_tc(i915, phy);
}
-void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
+static bool assert_has_icl_dsi(struct drm_i915_private *i915)
+{
+ return !drm_WARN(&i915->drm, !IS_ALDERLAKE_P(i915) &&
+ !IS_TIGERLAKE(i915) && DISPLAY_VER(i915) != 11,
+ "Platform does not support DSI\n");
+}
+
+static bool port_in_use(struct drm_i915_private *i915, enum port port)
+{
+ struct intel_encoder *encoder;
+
+ for_each_intel_encoder(&i915->drm, encoder) {
+ /* FIXME what about second port for dual link DSI? */
+ if (encoder->port == port)
+ return true;
+ }
+
+ return false;
+}
+
+void intel_ddi_init(struct drm_i915_private *dev_priv,
+ const struct intel_bios_encoder_data *devdata)
{
struct intel_digital_port *dig_port;
struct intel_encoder *encoder;
- const struct intel_bios_encoder_data *devdata;
bool init_hdmi, init_dp;
- enum phy phy = intel_port_to_phy(dev_priv, port);
+ enum port port;
+ enum phy phy;
+
+ port = intel_bios_encoder_port(devdata);
+ if (port == PORT_NONE)
+ return;
if (!port_strap_detected(dev_priv, port)) {
drm_dbg_kms(&dev_priv->drm,
@@ -4701,6 +4727,23 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
if (!assert_port_valid(dev_priv, port))
return;
+ if (port_in_use(dev_priv, port)) {
+ drm_dbg_kms(&dev_priv->drm,
+ "Port %c already claimed\n", port_name(port));
+ return;
+ }
+
+ if (intel_bios_encoder_supports_dsi(devdata)) {
+ /* BXT/GLK handled elsewhere, for now at least */
+ if (!assert_has_icl_dsi(dev_priv))
+ return;
+
+ icl_dsi_init(dev_priv, devdata);
+ return;
+ }
+
+ phy = intel_port_to_phy(dev_priv, port);
+
/*
* On platforms with HTI (aka HDPORT), if it's enabled at boot it may
* have taken over some of the PHYs and made them unavailable to the
@@ -4713,14 +4756,6 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
return;
}
- devdata = intel_bios_encoder_data_lookup(dev_priv, port);
- if (!devdata) {
- drm_dbg_kms(&dev_priv->drm,
- "VBT says port %c is not present\n",
- port_name(port));
- return;
- }
-
init_hdmi = intel_bios_encoder_supports_dvi(devdata) ||
intel_bios_encoder_supports_hdmi(devdata);
init_dp = intel_bios_encoder_supports_dp(devdata);
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.h b/drivers/gpu/drm/i915/display/intel_ddi.h
index 2bc034042a93..4999c0ee229b 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.h
+++ b/drivers/gpu/drm/i915/display/intel_ddi.h
@@ -11,6 +11,7 @@
struct drm_connector_state;
struct drm_i915_private;
struct intel_atomic_state;
+struct intel_bios_encoder_data;
struct intel_connector;
struct intel_crtc;
struct intel_crtc_state;
@@ -50,7 +51,8 @@ void hsw_prepare_dp_ddi_buffers(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state);
void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv,
enum port port);
-void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port);
+void intel_ddi_init(struct drm_i915_private *dev_priv,
+ const struct intel_bios_encoder_data *devdata);
bool intel_ddi_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe);
void intel_ddi_enable_transcoder_func(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state);
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index eed01957bdb9..780e0fd770a9 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -53,7 +53,6 @@
#include "i915_utils.h"
#include "i9xx_plane.h"
#include "i9xx_wm.h"
-#include "icl_dsi.h"
#include "intel_atomic.h"
#include "intel_atomic_plane.h"
#include "intel_audio.h"
@@ -7413,18 +7412,10 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
return;
if (HAS_DDI(dev_priv)) {
- enum port port;
-
if (intel_ddi_crt_present(dev_priv))
intel_crt_init(dev_priv);
- for_each_port_masked(port, DISPLAY_RUNTIME_INFO(dev_priv)->port_mask)
- intel_ddi_init(dev_priv, port);
-
- /* FIXME do something about DSI */
- if (IS_ALDERLAKE_P(dev_priv) || IS_TIGERLAKE(dev_priv) ||
- DISPLAY_VER(dev_priv) == 11)
- icl_dsi_init(dev_priv);
+ intel_bios_for_each_encoder(dev_priv, intel_ddi_init);
if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
vlv_dsi_init(dev_priv);
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index c37d2c4bbf76..53e5c33e08c3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -34,7 +34,6 @@ struct i915_audio_component;
struct i915_hdcp_arbiter;
struct intel_atomic_state;
struct intel_audio_funcs;
-struct intel_bios_encoder_data;
struct intel_cdclk_funcs;
struct intel_cdclk_vals;
struct intel_color_funcs;
@@ -219,7 +218,6 @@ struct intel_vbt_data {
struct list_head display_devices;
struct list_head bdb_blocks;
- struct intel_bios_encoder_data *ports[I915_MAX_PORTS]; /* Non-NULL if port present. */
struct sdvo_device_mapping {
u8 initialized;
u8 dvo_port;
--
2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v3 5/6] drm/i915/bios: Extract intel_bios_encoder_port()
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 5/6] drm/i915/bios: Extract intel_bios_encoder_port() Ville Syrjala
@ 2023-06-30 16:28 ` Jani Nikula
0 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2023-06-30 16:28 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
On Fri, 30 Jun 2023, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> We'll have a few places where we need to do the full (incl. ICL+ DSI)
> DVO port->port conversion, so extract the code for that into a helper.
>
> Suggested-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index ae83788177ce..c96bbbe4448e 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -2374,6 +2374,19 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
> }
> }
>
> +static enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
> +{
> + struct drm_i915_private *i915 = devdata->i915;
> + const struct child_device_config *child = &devdata->child;
> + enum port port;
> +
> + port = dvo_port_to_port(i915, child->dvo_port);
> + if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
> + port = dsi_dvo_port_to_port(i915, child->dvo_port);
> +
> + return port;
> +}
> +
> static int parse_bdb_230_dp_max_link_rate(const int vbt_max_link_rate)
> {
> switch (vbt_max_link_rate) {
> @@ -2613,12 +2626,9 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata,
> static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
> {
> struct drm_i915_private *i915 = devdata->i915;
> - const struct child_device_config *child = &devdata->child;
> enum port port;
>
> - port = dvo_port_to_port(i915, child->dvo_port);
> - if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
> - port = dsi_dvo_port_to_port(i915, child->dvo_port);
> + port = intel_bios_encoder_port(devdata);
> if (port == PORT_NONE)
> return;
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v3 3/6] drm/i915: Remove DDC pin sanitation
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 3/6] drm/i915: Remove DDC pin sanitation Ville Syrjala
@ 2023-06-30 16:36 ` Jani Nikula
0 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2023-06-30 16:36 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
On Fri, 30 Jun 2023, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Stop with the VBT DDC pin sanitation, and instead just check
> that the appropriate DDC pin is still available when initializing
> a HDMI connector.
>
> The reason being that we want to start initializing ports in
> VBT order to deal with VBTs that declare child devices with
> seemingly conflicting ports. As the encoder initialization can
> fail for other reasons (at least for eDP+AUX) we can't know
> upfront which way the conflicts should be resolved.
>
> Note that the old way of sanitizing gave priority to the last
> port declared in the VBT, but now we sort of do the opposite by
> favoring the first encoder to successfully initialize. So far
> we're not aware of HDMI/DDC use cases where this would matter
> but for AUX CH (will be subject to a similar change) there are
> known cases where it matters.
>
> Also note that the old code fell back to the platform default DDC
> pin if the VBT pin was populated but invalid. That doesn't seem like
> such a great idea because the VBT might have later declared another
> port using that platform default pin, and so we might just be
> creating more DDC pin conflicts here. So lets not second guess the
> VBT and simply reject the entire HDMI encoder if the VBT DDC pin is
> invalid.
>
> v2: Pimp the commit message (Jani)
>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fingers crossed!
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 69 ----------------------
> drivers/gpu/drm/i915/display/intel_hdmi.c | 72 +++++++++++++++++++----
> 2 files changed, 59 insertions(+), 82 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 4b9bf76e137d..6aeebd3c97f9 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -2230,72 +2230,6 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
> return 0;
> }
>
> -static enum port get_port_by_ddc_pin(struct drm_i915_private *i915, u8 ddc_pin)
> -{
> - enum port port;
> -
> - if (!ddc_pin)
> - return PORT_NONE;
> -
> - for_each_port(port) {
> - const struct intel_bios_encoder_data *devdata =
> - i915->display.vbt.ports[port];
> -
> - if (devdata && ddc_pin == devdata->child.ddc_pin)
> - return port;
> - }
> -
> - return PORT_NONE;
> -}
> -
> -static void sanitize_ddc_pin(struct intel_bios_encoder_data *devdata,
> - enum port port)
> -{
> - struct drm_i915_private *i915 = devdata->i915;
> - struct child_device_config *child;
> - u8 mapped_ddc_pin;
> - enum port p;
> -
> - if (!devdata->child.ddc_pin)
> - return;
> -
> - mapped_ddc_pin = map_ddc_pin(i915, devdata->child.ddc_pin);
> - if (!intel_gmbus_is_valid_pin(i915, mapped_ddc_pin)) {
> - drm_dbg_kms(&i915->drm,
> - "Port %c has invalid DDC pin %d, "
> - "sticking to defaults\n",
> - port_name(port), mapped_ddc_pin);
> - devdata->child.ddc_pin = 0;
> - return;
> - }
> -
> - p = get_port_by_ddc_pin(i915, devdata->child.ddc_pin);
> - if (p == PORT_NONE)
> - return;
> -
> - drm_dbg_kms(&i915->drm,
> - "port %c trying to use the same DDC pin (0x%x) as port %c, "
> - "disabling port %c DVI/HDMI support\n",
> - port_name(port), mapped_ddc_pin,
> - port_name(p), port_name(p));
> -
> - /*
> - * If we have multiple ports supposedly sharing the pin, then dvi/hdmi
> - * couldn't exist on the shared port. Otherwise they share the same ddc
> - * pin and system couldn't communicate with them separately.
> - *
> - * Give inverse child device order the priority, last one wins. Yes,
> - * there are real machines (eg. Asrock B250M-HDV) where VBT has both
> - * port A and port E with the same AUX ch and we must pick port E :(
> - */
> - child = &i915->display.vbt.ports[p]->child;
> -
> - child->device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING;
> - child->device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT;
> -
> - child->ddc_pin = 0;
> -}
> -
> static enum port get_port_by_aux_ch(struct drm_i915_private *i915, u8 aux_ch)
> {
> enum port port;
> @@ -2754,9 +2688,6 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
>
> sanitize_device_type(devdata, port);
>
> - if (intel_bios_encoder_supports_dvi(devdata))
> - sanitize_ddc_pin(devdata, port);
> -
> if (intel_bios_encoder_supports_dp(devdata))
> sanitize_aux_ch(devdata, port);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 7ac5e6c5e00d..8d1c8abfcffa 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -2880,21 +2880,12 @@ static u8 g4x_port_to_ddc_pin(struct drm_i915_private *dev_priv,
> return ddc_pin;
> }
>
> -static u8 intel_hdmi_ddc_pin(struct intel_encoder *encoder)
> +static u8 intel_hdmi_default_ddc_pin(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> enum port port = encoder->port;
> u8 ddc_pin;
>
> - ddc_pin = intel_bios_hdmi_ddc_pin(encoder->devdata);
> - if (ddc_pin) {
> - drm_dbg_kms(&dev_priv->drm,
> - "[ENCODER:%d:%s] Using DDC pin 0x%x (VBT)\n",
> - encoder->base.base.id, encoder->base.name,
> - ddc_pin);
> - return ddc_pin;
> - }
> -
> if (IS_ALDERLAKE_S(dev_priv))
> ddc_pin = adls_port_to_ddc_pin(dev_priv, port);
> else if (INTEL_PCH_TYPE(dev_priv) >= PCH_DG1)
> @@ -2916,10 +2907,62 @@ static u8 intel_hdmi_ddc_pin(struct intel_encoder *encoder)
> else
> ddc_pin = g4x_port_to_ddc_pin(dev_priv, port);
>
> - drm_dbg_kms(&dev_priv->drm,
> - "[ENCODER:%d:%s] Using DDC pin 0x%x (platform default)\n",
> + return ddc_pin;
> +}
> +
> +static struct intel_encoder *
> +get_encoder_by_ddc_pin(struct intel_encoder *encoder, u8 ddc_pin)
> +{
> + struct drm_i915_private *i915 = to_i915(encoder->base.dev);
> + struct intel_encoder *other;
> +
> + for_each_intel_encoder(&i915->drm, other) {
> + if (other == encoder)
> + continue;
> +
> + if (!intel_encoder_is_dig_port(other))
> + continue;
> +
> + if (enc_to_dig_port(other)->hdmi.ddc_bus == ddc_pin)
> + return other;
> + }
> +
> + return NULL;
> +}
> +
> +static u8 intel_hdmi_ddc_pin(struct intel_encoder *encoder)
> +{
> + struct drm_i915_private *i915 = to_i915(encoder->base.dev);
> + struct intel_encoder *other;
> + const char *source;
> + u8 ddc_pin;
> +
> + ddc_pin = intel_bios_hdmi_ddc_pin(encoder->devdata);
> + source = "VBT";
> +
> + if (!ddc_pin) {
> + ddc_pin = intel_hdmi_default_ddc_pin(encoder);
> + source = "platform default";
> + }
> +
> + if (!intel_gmbus_is_valid_pin(i915, ddc_pin)) {
> + drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] Invalid DDC pin %d\n",
> + encoder->base.base.id, encoder->base.name, ddc_pin);
> + return 0;
> + }
> +
> + other = get_encoder_by_ddc_pin(encoder, ddc_pin);
> + if (other) {
> + drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] DDC pin %d already claimed by [ENCODER:%d:%s]\n",
> + encoder->base.base.id, encoder->base.name, ddc_pin,
> + other->base.base.id, other->base.name);
> + return 0;
> + }
> +
> + drm_dbg_kms(&i915->drm,
> + "[ENCODER:%d:%s] Using DDC pin 0x%x (%s)\n",
> encoder->base.base.id, encoder->base.name,
> - ddc_pin);
> + ddc_pin, source);
>
> return ddc_pin;
> }
> @@ -2990,6 +3033,9 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
> return;
>
> intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(intel_encoder);
> + if (!intel_hdmi->ddc_bus)
> + return;
> +
> ddc = intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus);
>
> drm_connector_init_with_ddc(dev, connector,
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device Ville Syrjala
@ 2023-06-30 16:38 ` Jani Nikula
2023-07-05 21:27 ` Ville Syrjälä
0 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2023-06-30 16:38 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
On Fri, 30 Jun 2023, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Try to deal with duplicate child devices for the same DDI port
> by attempting to initialize them in VBT defined order The first
> on to succeed for a specific DDI port will be the one we use.
>
> We'll also get rid of i915->display.vbt.ports[] here as any conflicts
> will now be handled at encoder registration time rather than during
> VBT parsing. Note that intel_bios_encoder_data_lookup() still remaims
> for pre-DDI DP/HDMI ports as those don't (at least yet) use VBT
> driven initialization.
>
> TODO: DSI dual link handling is sketchy at best
Despite the sketchy bits this seems like a step forward.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> v2: Leave intel_bios_encoder_port() to the encoder callback (Jani)
>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/icl_dsi.c | 9 ++-
> drivers/gpu/drm/i915/display/icl_dsi.h | 4 +-
> drivers/gpu/drm/i915/display/intel_bios.c | 47 ++++++++-------
> drivers/gpu/drm/i915/display/intel_bios.h | 6 ++
> drivers/gpu/drm/i915/display/intel_ddi.c | 57 +++++++++++++++----
> drivers/gpu/drm/i915/display/intel_ddi.h | 4 +-
> drivers/gpu/drm/i915/display/intel_display.c | 11 +---
> .../gpu/drm/i915/display/intel_display_core.h | 2 -
> 8 files changed, 93 insertions(+), 47 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> index 59a2a289d9be..f7ebc146f96d 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -1933,7 +1933,8 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
> fixed_mode->vdisplay);
> }
>
> -void icl_dsi_init(struct drm_i915_private *dev_priv)
> +void icl_dsi_init(struct drm_i915_private *dev_priv,
> + const struct intel_bios_encoder_data *devdata)
> {
> struct intel_dsi *intel_dsi;
> struct intel_encoder *encoder;
> @@ -1941,7 +1942,8 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
> struct drm_connector *connector;
> enum port port;
>
> - if (!intel_bios_is_dsi_present(dev_priv, &port))
> + port = intel_bios_encoder_port(devdata);
> + if (port == PORT_NONE)
> return;
>
> intel_dsi = kzalloc(sizeof(*intel_dsi), GFP_KERNEL);
> @@ -1958,6 +1960,8 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
> intel_dsi->attached_connector = intel_connector;
> connector = &intel_connector->base;
>
> + encoder->devdata = devdata;
> +
> /* register DSI encoder with DRM subsystem */
> drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
> DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
> @@ -1995,7 +1999,6 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>
> intel_dsi->panel_power_off_time = ktime_get_boottime();
>
> - encoder->devdata = intel_bios_encoder_data_lookup(dev_priv, port);
> intel_bios_init_panel_late(dev_priv, &intel_connector->panel, encoder->devdata, NULL);
>
> mutex_lock(&dev_priv->drm.mode_config.mutex);
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.h b/drivers/gpu/drm/i915/display/icl_dsi.h
> index b4861b56b5b2..43fa7d72eeb1 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.h
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.h
> @@ -7,9 +7,11 @@
> #define __ICL_DSI_H__
>
> struct drm_i915_private;
> +struct intel_bios_encoder_data;
> struct intel_crtc_state;
>
> -void icl_dsi_init(struct drm_i915_private *i915);
> +void icl_dsi_init(struct drm_i915_private *dev_priv,
> + const struct intel_bios_encoder_data *devdata);
> void icl_dsi_frame_update(struct intel_crtc_state *crtc_state);
>
> #endif /* __ICL_DSI_H__ */
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index c96bbbe4448e..858c959f7bab 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -2374,7 +2374,7 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
> }
> }
>
> -static enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
> +enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
> {
> struct drm_i915_private *i915 = devdata->i915;
> const struct child_device_config *child = &devdata->child;
> @@ -2497,7 +2497,7 @@ intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata)
> devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR;
> }
>
> -static bool
> +bool
> intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata)
> {
> return devdata->child.device_type & DEVICE_TYPE_MIPI_OUTPUT;
> @@ -2556,13 +2556,17 @@ static bool is_port_valid(struct drm_i915_private *i915, enum port port)
> return true;
> }
>
> -static void print_ddi_port(const struct intel_bios_encoder_data *devdata,
> - enum port port)
> +static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
> {
> struct drm_i915_private *i915 = devdata->i915;
> const struct child_device_config *child = &devdata->child;
> bool is_dvi, is_hdmi, is_dp, is_edp, is_dsi, is_crt, supports_typec_usb, supports_tbt;
> int dp_boost_level, dp_max_link_rate, hdmi_boost_level, hdmi_level_shift, max_tmds_clock;
> + enum port port;
> +
> + port = intel_bios_encoder_port(devdata);
> + if (port == PORT_NONE)
> + return;
>
> is_dvi = intel_bios_encoder_supports_dvi(devdata);
> is_dp = intel_bios_encoder_supports_dp(devdata);
> @@ -2639,16 +2643,7 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
> return;
> }
>
> - if (i915->display.vbt.ports[port]) {
> - drm_dbg_kms(&i915->drm,
> - "More than one child device for port %c in VBT, using the first.\n",
> - port_name(port));
> - return;
> - }
> -
> sanitize_device_type(devdata, port);
> -
> - i915->display.vbt.ports[port] = devdata;
> }
>
> static bool has_ddi_port_info(struct drm_i915_private *i915)
> @@ -2659,7 +2654,6 @@ static bool has_ddi_port_info(struct drm_i915_private *i915)
> static void parse_ddi_ports(struct drm_i915_private *i915)
> {
> struct intel_bios_encoder_data *devdata;
> - enum port port;
>
> if (!has_ddi_port_info(i915))
> return;
> @@ -2667,10 +2661,8 @@ static void parse_ddi_ports(struct drm_i915_private *i915)
> list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
> parse_ddi_port(devdata);
>
> - for_each_port(port) {
> - if (i915->display.vbt.ports[port])
> - print_ddi_port(i915->display.vbt.ports[port], port);
> - }
> + list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
> + print_ddi_port(devdata);
> }
>
> static void
> @@ -3595,5 +3587,22 @@ bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata
> const struct intel_bios_encoder_data *
> intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port)
> {
> - return i915->display.vbt.ports[port];
> + struct intel_bios_encoder_data *devdata;
> +
> + list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> + if (intel_bios_encoder_port(devdata) == port)
> + return devdata;
> + }
> +
> + return NULL;
> +}
> +
> +void intel_bios_for_each_encoder(struct drm_i915_private *i915,
> + void (*func)(struct drm_i915_private *i915,
> + const struct intel_bios_encoder_data *devdata))
> +{
> + struct intel_bios_encoder_data *devdata;
> +
> + list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
> + func(i915, devdata);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
> index 45fae97d9719..9680e3e92bb5 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.h
> +++ b/drivers/gpu/drm/i915/display/intel_bios.h
> @@ -263,10 +263,12 @@ bool intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdat
> bool intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata);
> +bool intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata);
> +enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata);
> enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata);
> int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata);
> int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata);
> @@ -276,4 +278,8 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata);
> int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata);
> int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata);
>
> +void intel_bios_for_each_encoder(struct drm_i915_private *i915,
> + void (*func)(struct drm_i915_private *i915,
> + const struct intel_bios_encoder_data *devdata));
> +
> #endif /* _INTEL_BIOS_H_ */
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 9e4e6482aa26..3cd2191fa794 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -32,6 +32,7 @@
>
> #include "i915_drv.h"
> #include "i915_reg.h"
> +#include "icl_dsi.h"
> #include "intel_audio.h"
> #include "intel_audio_regs.h"
> #include "intel_backlight.h"
> @@ -4684,13 +4685,38 @@ static bool need_aux_ch(struct intel_encoder *encoder, bool init_dp)
> return init_dp || intel_phy_is_tc(i915, phy);
> }
>
> -void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
> +static bool assert_has_icl_dsi(struct drm_i915_private *i915)
> +{
> + return !drm_WARN(&i915->drm, !IS_ALDERLAKE_P(i915) &&
> + !IS_TIGERLAKE(i915) && DISPLAY_VER(i915) != 11,
> + "Platform does not support DSI\n");
> +}
> +
> +static bool port_in_use(struct drm_i915_private *i915, enum port port)
> +{
> + struct intel_encoder *encoder;
> +
> + for_each_intel_encoder(&i915->drm, encoder) {
> + /* FIXME what about second port for dual link DSI? */
> + if (encoder->port == port)
> + return true;
> + }
> +
> + return false;
> +}
> +
> +void intel_ddi_init(struct drm_i915_private *dev_priv,
> + const struct intel_bios_encoder_data *devdata)
> {
> struct intel_digital_port *dig_port;
> struct intel_encoder *encoder;
> - const struct intel_bios_encoder_data *devdata;
> bool init_hdmi, init_dp;
> - enum phy phy = intel_port_to_phy(dev_priv, port);
> + enum port port;
> + enum phy phy;
> +
> + port = intel_bios_encoder_port(devdata);
> + if (port == PORT_NONE)
> + return;
>
> if (!port_strap_detected(dev_priv, port)) {
> drm_dbg_kms(&dev_priv->drm,
> @@ -4701,6 +4727,23 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
> if (!assert_port_valid(dev_priv, port))
> return;
>
> + if (port_in_use(dev_priv, port)) {
> + drm_dbg_kms(&dev_priv->drm,
> + "Port %c already claimed\n", port_name(port));
> + return;
> + }
> +
> + if (intel_bios_encoder_supports_dsi(devdata)) {
> + /* BXT/GLK handled elsewhere, for now at least */
> + if (!assert_has_icl_dsi(dev_priv))
> + return;
> +
> + icl_dsi_init(dev_priv, devdata);
> + return;
> + }
> +
> + phy = intel_port_to_phy(dev_priv, port);
> +
> /*
> * On platforms with HTI (aka HDPORT), if it's enabled at boot it may
> * have taken over some of the PHYs and made them unavailable to the
> @@ -4713,14 +4756,6 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
> return;
> }
>
> - devdata = intel_bios_encoder_data_lookup(dev_priv, port);
> - if (!devdata) {
> - drm_dbg_kms(&dev_priv->drm,
> - "VBT says port %c is not present\n",
> - port_name(port));
> - return;
> - }
> -
> init_hdmi = intel_bios_encoder_supports_dvi(devdata) ||
> intel_bios_encoder_supports_hdmi(devdata);
> init_dp = intel_bios_encoder_supports_dp(devdata);
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.h b/drivers/gpu/drm/i915/display/intel_ddi.h
> index 2bc034042a93..4999c0ee229b 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.h
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.h
> @@ -11,6 +11,7 @@
> struct drm_connector_state;
> struct drm_i915_private;
> struct intel_atomic_state;
> +struct intel_bios_encoder_data;
> struct intel_connector;
> struct intel_crtc;
> struct intel_crtc_state;
> @@ -50,7 +51,8 @@ void hsw_prepare_dp_ddi_buffers(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state);
> void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv,
> enum port port);
> -void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port);
> +void intel_ddi_init(struct drm_i915_private *dev_priv,
> + const struct intel_bios_encoder_data *devdata);
> bool intel_ddi_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe);
> void intel_ddi_enable_transcoder_func(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state);
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index eed01957bdb9..780e0fd770a9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -53,7 +53,6 @@
> #include "i915_utils.h"
> #include "i9xx_plane.h"
> #include "i9xx_wm.h"
> -#include "icl_dsi.h"
> #include "intel_atomic.h"
> #include "intel_atomic_plane.h"
> #include "intel_audio.h"
> @@ -7413,18 +7412,10 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
> return;
>
> if (HAS_DDI(dev_priv)) {
> - enum port port;
> -
> if (intel_ddi_crt_present(dev_priv))
> intel_crt_init(dev_priv);
>
> - for_each_port_masked(port, DISPLAY_RUNTIME_INFO(dev_priv)->port_mask)
> - intel_ddi_init(dev_priv, port);
> -
> - /* FIXME do something about DSI */
> - if (IS_ALDERLAKE_P(dev_priv) || IS_TIGERLAKE(dev_priv) ||
> - DISPLAY_VER(dev_priv) == 11)
> - icl_dsi_init(dev_priv);
> + intel_bios_for_each_encoder(dev_priv, intel_ddi_init);
>
> if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
> vlv_dsi_init(dev_priv);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index c37d2c4bbf76..53e5c33e08c3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -34,7 +34,6 @@ struct i915_audio_component;
> struct i915_hdcp_arbiter;
> struct intel_atomic_state;
> struct intel_audio_funcs;
> -struct intel_bios_encoder_data;
> struct intel_cdclk_funcs;
> struct intel_cdclk_vals;
> struct intel_color_funcs;
> @@ -219,7 +218,6 @@ struct intel_vbt_data {
> struct list_head display_devices;
> struct list_head bdb_blocks;
>
> - struct intel_bios_encoder_data *ports[I915_MAX_PORTS]; /* Non-NULL if port present. */
> struct sdvo_device_mapping {
> u8 initialized;
> u8 dvo_port;
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev5)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (5 preceding siblings ...)
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device Ville Syrjala
@ 2023-06-30 16:56 ` Patchwork
2023-06-30 16:56 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
` (5 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-06-30 16:56 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev5)
URL : https://patchwork.freedesktop.org/series/114200/
State : warning
== Summary ==
Error: dim checkpatch failed
458507c5d81b drm/i915: Initialize dig_port->aux_ch to NONE to be sure
c63ca1d72c9b drm/i915: Only populate aux_ch if really needed
69486e70e413 drm/i915: Remove DDC pin sanitation
20a36bbd9fad drm/i915: Remove AUX CH sanitation
0ac47bfae38a drm/i915/bios: Extract intel_bios_encoder_port()
e469fc890c76 drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
-:181: ERROR:OPEN_BRACE: that open brace { should be on the previous line
#181: FILE: drivers/gpu/drm/i915/display/intel_bios.c:3600:
+void intel_bios_for_each_encoder(struct drm_i915_private *i915,
+ void (*func)(struct drm_i915_private *i915,
+ const struct intel_bios_encoder_data *devdata))
+{
total: 1 errors, 0 warnings, 0 checks, 299 lines checked
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Init DDI ports in VBT order (rev5)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (6 preceding siblings ...)
2023-06-30 16:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev5) Patchwork
@ 2023-06-30 16:56 ` Patchwork
2023-06-30 17:14 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
` (4 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-06-30 16:56 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev5)
URL : https://patchwork.freedesktop.org/series/114200/
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] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Init DDI ports in VBT order (rev5)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (7 preceding siblings ...)
2023-06-30 16:56 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-06-30 17:14 ` Patchwork
2023-07-01 11:07 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev6) Patchwork
` (3 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-06-30 17:14 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 20083 bytes --]
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev5)
URL : https://patchwork.freedesktop.org/series/114200/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_13340 -> Patchwork_114200v5
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_114200v5 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_114200v5, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/index.html
Participating hosts (42 -> 40)
------------------------------
Missing (2): fi-snb-2520m fi-pnv-d510
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_114200v5:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_suspend@basic-s0@smem:
- fi-cfl-8700k: [PASS][1] -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-8700k/igt@gem_exec_suspend@basic-s0@smem.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-cfl-8700k/igt@gem_exec_suspend@basic-s0@smem.html
#### Warnings ####
* igt@kms_psr@cursor_plane_move:
- bat-rplp-1: [ABORT][3] ([i915#8434] / [i915#8668]) -> [ABORT][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rplp-1/igt@kms_psr@cursor_plane_move.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-rplp-1/igt@kms_psr@cursor_plane_move.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-mtlp-6: [SKIP][5] ([i915#4579]) -> [SKIP][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html
- bat-mtlp-8: [SKIP][7] ([i915#4579]) -> [SKIP][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
Known issues
------------
Here are the changes found in Patchwork_114200v5 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_lmem_swapping@parallel-random-engines:
- bat-mtlp-8: NOTRUN -> [SKIP][9] ([i915#4613]) +3 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@i915_pm_rps@basic-api:
- bat-mtlp-8: NOTRUN -> [SKIP][10] ([i915#6621])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@gt_mocs:
- bat-mtlp-8: NOTRUN -> [DMESG-FAIL][11] ([i915#7059])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@requests:
- bat-mtlp-8: NOTRUN -> [ABORT][12] ([i915#7982])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@i915_selftest@live@requests.html
* igt@i915_selftest@live@reset:
- bat-rpls-1: [PASS][13] -> [ABORT][14] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-1/igt@i915_selftest@live@reset.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-rpls-1/igt@i915_selftest@live@reset.html
* igt@prime_vgem@basic-fence-read:
- bat-mtlp-8: NOTRUN -> [SKIP][15] ([i915#3708]) +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-gtt:
- bat-mtlp-8: NOTRUN -> [SKIP][16] ([i915#3708] / [i915#4077]) +1 similar issue
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@prime_vgem@basic-gtt.html
#### Possible fixes ####
* igt@i915_pm_rpm@basic-pci-d3-state:
- bat-mtlp-8: [ABORT][17] ([i915#7077] / [i915#7977]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
* igt@i915_selftest@live@gt_mocs:
- bat-mtlp-6: [DMESG-FAIL][19] ([i915#7059]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@gt_pm:
- bat-rpls-2: [DMESG-FAIL][21] ([i915#4258] / [i915#7913]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@hangcheck:
- fi-skl-guc: [DMESG-FAIL][23] ([i915#8723]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
#### Warnings ####
* igt@i915_module_load@load:
- bat-adlp-11: [DMESG-WARN][25] ([i915#4423]) -> [ABORT][26] ([i915#4423])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adlp-11/igt@i915_module_load@load.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-adlp-11/igt@i915_module_load@load.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2:
- fi-skl-guc: [SKIP][27] ([fdo#109271] / [i915#4579]) -> [SKIP][28] ([fdo#109271]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-skl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-skl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
- fi-bsw-n3050: [SKIP][29] ([fdo#109271] / [i915#4579]) -> [SKIP][30] ([fdo#109271]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-bsw-n3050/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-bsw-n3050/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-adlp-9: [SKIP][31] ([i915#3555] / [i915#4579]) -> [SKIP][32] ([i915#3555])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adlp-9/igt@kms_setmode@basic-clone-single-crtc.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-adlp-9/igt@kms_setmode@basic-clone-single-crtc.html
- fi-rkl-11600: [SKIP][33] ([i915#3555] / [i915#4098] / [i915#4579]) -> [SKIP][34] ([i915#3555] / [i915#4098])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adls-5: [SKIP][35] ([i915#3555] / [i915#4579]) -> [SKIP][36] ([i915#3555])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adls-5/igt@kms_setmode@basic-clone-single-crtc.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-adls-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-5: [SKIP][37] ([i915#3555] / [i915#4579]) -> [SKIP][38] ([i915#3555])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-9: [SKIP][39] ([i915#3555] / [i915#4579]) -> [SKIP][40] ([i915#3555])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-x1275: [SKIP][41] ([fdo#109271] / [i915#4579]) -> [SKIP][42] ([fdo#109271])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-x1275/igt@kms_setmode@basic-clone-single-crtc.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-kbl-x1275/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-8109u: [SKIP][43] ([fdo#109271] / [i915#4579]) -> [SKIP][44] ([fdo#109271])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-8109u/igt@kms_setmode@basic-clone-single-crtc.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-cfl-8109u/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-7567u: [SKIP][45] ([fdo#109271] / [i915#4579]) -> [SKIP][46] ([fdo#109271])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-7567u/igt@kms_setmode@basic-clone-single-crtc.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-kbl-7567u/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-8809g: [SKIP][47] ([fdo#109271] / [i915#4579]) -> [SKIP][48] ([fdo#109271])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-8809g/igt@kms_setmode@basic-clone-single-crtc.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-kbl-8809g/igt@kms_setmode@basic-clone-single-crtc.html
- fi-ilk-650: [SKIP][49] ([fdo#109271] / [i915#4579]) -> [SKIP][50] ([fdo#109271])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-ilk-650/igt@kms_setmode@basic-clone-single-crtc.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-ilk-650/igt@kms_setmode@basic-clone-single-crtc.html
- fi-tgl-1115g4: [SKIP][51] ([i915#3555] / [i915#4579]) -> [SKIP][52] ([i915#3555])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-tgl-1115g4/igt@kms_setmode@basic-clone-single-crtc.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-tgl-1115g4/igt@kms_setmode@basic-clone-single-crtc.html
- fi-blb-e6850: [SKIP][53] ([fdo#109271] / [i915#4579]) -> [SKIP][54] ([fdo#109271])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-blb-e6850/igt@kms_setmode@basic-clone-single-crtc.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-blb-e6850/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-guc: [SKIP][55] ([fdo#109271] / [i915#4579]) -> [SKIP][56] ([fdo#109271])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-guc/igt@kms_setmode@basic-clone-single-crtc.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-cfl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- fi-skl-6600u: [SKIP][57] ([fdo#109271] / [i915#4579]) -> [SKIP][58] ([fdo#109271])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-skl-6600u/igt@kms_setmode@basic-clone-single-crtc.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-skl-6600u/igt@kms_setmode@basic-clone-single-crtc.html
- fi-apl-guc: [SKIP][59] ([fdo#109271] / [i915#4579]) -> [SKIP][60] ([fdo#109271])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-apl-guc/igt@kms_setmode@basic-clone-single-crtc.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-apl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- bat-rpls-2: [SKIP][61] ([i915#3555] / [i915#4579]) -> [SKIP][62] ([i915#3555])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-8700k: [SKIP][63] ([fdo#109271] / [i915#4579]) -> [SKIP][64] ([fdo#109271])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-8700k/igt@kms_setmode@basic-clone-single-crtc.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-cfl-8700k/igt@kms_setmode@basic-clone-single-crtc.html
- fi-bsw-nick: [SKIP][65] ([fdo#109271] / [i915#4579]) -> [SKIP][66] ([fdo#109271])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-bsw-nick/igt@kms_setmode@basic-clone-single-crtc.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-bsw-nick/igt@kms_setmode@basic-clone-single-crtc.html
- bat-jsl-3: [SKIP][67] ([i915#3555] / [i915#4579]) -> [SKIP][68] ([i915#3555])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-jsl-3/igt@kms_setmode@basic-clone-single-crtc.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-jsl-3/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-11: [SKIP][69] ([i915#3555] / [i915#4579]) -> [SKIP][70] ([i915#3555])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-11/igt@kms_setmode@basic-clone-single-crtc.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-dg2-11/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-soraka: [SKIP][71] ([fdo#109271] / [i915#4579]) -> [SKIP][72] ([fdo#109271])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html
- fi-hsw-4770: [SKIP][73] ([fdo#109271] / [i915#4579]) -> [SKIP][74] ([fdo#109271])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-hsw-4770/igt@kms_setmode@basic-clone-single-crtc.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-hsw-4770/igt@kms_setmode@basic-clone-single-crtc.html
- fi-ivb-3770: [SKIP][75] ([fdo#109271] / [i915#4579]) -> [SKIP][76] ([fdo#109271])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-ivb-3770/igt@kms_setmode@basic-clone-single-crtc.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-ivb-3770/igt@kms_setmode@basic-clone-single-crtc.html
- fi-elk-e7500: [SKIP][77] ([fdo#109271] / [i915#4579]) -> [SKIP][78] ([fdo#109271])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-elk-e7500/igt@kms_setmode@basic-clone-single-crtc.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-elk-e7500/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-8: [SKIP][79] ([i915#3555] / [i915#4579]) -> [SKIP][80] ([i915#3555])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-guc: [SKIP][81] ([fdo#109271] / [i915#4579]) -> [SKIP][82] ([fdo#109271])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-guc/igt@kms_setmode@basic-clone-single-crtc.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-kbl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adlm-1: [SKIP][83] ([i915#3555] / [i915#4579]) -> [SKIP][84] ([i915#3555])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-jsl-1: [SKIP][85] ([i915#3555] / [i915#4579]) -> [SKIP][86] ([i915#3555])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-rpls-1: [SKIP][87] ([i915#3555] / [i915#4579]) -> [SKIP][88] ([i915#3555])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-1/igt@kms_setmode@basic-clone-single-crtc.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-rpls-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: [SKIP][89] ([i915#3555] / [i915#4579]) -> [SKIP][90] ([i915#3555])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
- fi-glk-j4005: [SKIP][91] ([fdo#109271] / [i915#4579]) -> [SKIP][92] ([fdo#109271])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-glk-j4005/igt@kms_setmode@basic-clone-single-crtc.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/fi-glk-j4005/igt@kms_setmode@basic-clone-single-crtc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7977]: https://gitlab.freedesktop.org/drm/intel/issues/7977
[i915#7982]: https://gitlab.freedesktop.org/drm/intel/issues/7982
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384
[i915#8434]: https://gitlab.freedesktop.org/drm/intel/issues/8434
[i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
[i915#8723]: https://gitlab.freedesktop.org/drm/intel/issues/8723
Build changes
-------------
* Linux: CI_DRM_13340 -> Patchwork_114200v5
CI-20190529: 20190529
CI_DRM_13340: a3b671a5e12f1fd972ad7046f39a470acbefbbdc @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7357: 790f69303f49066b150fbdff95e471e14d046710 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_114200v5: a3b671a5e12f1fd972ad7046f39a470acbefbbdc @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
fe6269108520 drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
ee4e72788fe6 drm/i915/bios: Extract intel_bios_encoder_port()
31b110c122b4 drm/i915: Remove AUX CH sanitation
a0faa53c82cd drm/i915: Remove DDC pin sanitation
209eb2abf315 drm/i915: Only populate aux_ch if really needed
5b8ca9ce9a52 drm/i915: Initialize dig_port->aux_ch to NONE to be sure
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v5/index.html
[-- Attachment #2: Type: text/html, Size: 28197 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev6)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (8 preceding siblings ...)
2023-06-30 17:14 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2023-07-01 11:07 ` Patchwork
2023-07-01 11:07 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-07-01 11:07 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev6)
URL : https://patchwork.freedesktop.org/series/114200/
State : warning
== Summary ==
Error: dim checkpatch failed
7a43fe4325d8 drm/i915: Initialize dig_port->aux_ch to NONE to be sure
eccdbce5dd35 drm/i915: Only populate aux_ch if really needed
339d607c028f drm/i915: Remove DDC pin sanitation
1f5f862f317e drm/i915: Remove AUX CH sanitation
64999d5bd3ca drm/i915/bios: Extract intel_bios_encoder_port()
109ab03af2ff drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
-:181: ERROR:OPEN_BRACE: that open brace { should be on the previous line
#181: FILE: drivers/gpu/drm/i915/display/intel_bios.c:3600:
+void intel_bios_for_each_encoder(struct drm_i915_private *i915,
+ void (*func)(struct drm_i915_private *i915,
+ const struct intel_bios_encoder_data *devdata))
+{
total: 1 errors, 0 warnings, 0 checks, 299 lines checked
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Init DDI ports in VBT order (rev6)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (9 preceding siblings ...)
2023-07-01 11:07 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev6) Patchwork
@ 2023-07-01 11:07 ` Patchwork
2023-07-01 11:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-07-01 17:12 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-07-01 11:07 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev6)
URL : https://patchwork.freedesktop.org/series/114200/
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] 18+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Init DDI ports in VBT order (rev6)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (10 preceding siblings ...)
2023-07-01 11:07 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-07-01 11:20 ` Patchwork
2023-07-01 17:12 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-07-01 11:20 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 18999 bytes --]
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev6)
URL : https://patchwork.freedesktop.org/series/114200/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13340 -> Patchwork_114200v6
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/index.html
Participating hosts (42 -> 40)
------------------------------
Missing (2): bat-rplp-1 fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_114200v6 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s0@smem:
- bat-jsl-3: [PASS][1] -> [ABORT][2] ([i915#5122])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-jsl-3/igt@gem_exec_suspend@basic-s0@smem.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-jsl-3/igt@gem_exec_suspend@basic-s0@smem.html
* igt@i915_selftest@live@migrate:
- bat-dg2-11: [PASS][3] -> [DMESG-WARN][4] ([i915#7699])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-11/igt@i915_selftest@live@migrate.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-dg2-11/igt@i915_selftest@live@migrate.html
- bat-atsm-1: [PASS][5] -> [DMESG-FAIL][6] ([i915#7699] / [i915#7913])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-atsm-1/igt@i915_selftest@live@migrate.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-atsm-1/igt@i915_selftest@live@migrate.html
* igt@i915_selftest@live@reset:
- bat-rpls-1: [PASS][7] -> [ABORT][8] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-1/igt@i915_selftest@live@reset.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-rpls-1/igt@i915_selftest@live@reset.html
* igt@i915_suspend@basic-s2idle-without-i915:
- bat-rpls-2: NOTRUN -> [ABORT][9] ([i915#6687] / [i915#8668])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@i915_suspend@basic-s3-without-i915:
- bat-jsl-3: [PASS][10] -> [FAIL][11] ([fdo#103375])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-jsl-3/igt@i915_suspend@basic-s3-without-i915.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-jsl-3/igt@i915_suspend@basic-s3-without-i915.html
#### Possible fixes ####
* igt@i915_selftest@live@gt_pm:
- bat-rpls-2: [DMESG-FAIL][12] ([i915#4258] / [i915#7913]) -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@hangcheck:
- fi-skl-guc: [DMESG-FAIL][14] ([i915#8723]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
* igt@i915_selftest@live@reset:
- bat-rpls-2: [ABORT][16] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#7981] / [i915#8347]) -> [PASS][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-2/igt@i915_selftest@live@reset.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-rpls-2/igt@i915_selftest@live@reset.html
#### Warnings ####
* igt@core_auth@basic-auth:
- bat-adlp-11: [ABORT][18] ([i915#4423] / [i915#8011]) -> [ABORT][19] ([i915#8011])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adlp-11/igt@core_auth@basic-auth.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-adlp-11/igt@core_auth@basic-auth.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2:
- fi-skl-guc: [SKIP][20] ([fdo#109271] / [i915#4579]) -> [SKIP][21] ([fdo#109271]) +1 similar issue
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-skl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-skl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
- fi-bsw-n3050: [SKIP][22] ([fdo#109271] / [i915#4579]) -> [SKIP][23] ([fdo#109271]) +1 similar issue
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-bsw-n3050/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-bsw-n3050/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-hdmi-a-2.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-adlp-9: [SKIP][24] ([i915#3555] / [i915#4579]) -> [SKIP][25] ([i915#3555])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adlp-9/igt@kms_setmode@basic-clone-single-crtc.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-adlp-9/igt@kms_setmode@basic-clone-single-crtc.html
- fi-rkl-11600: [SKIP][26] ([i915#3555] / [i915#4098] / [i915#4579]) -> [SKIP][27] ([i915#3555] / [i915#4098])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adls-5: [SKIP][28] ([i915#3555] / [i915#4579]) -> [SKIP][29] ([i915#3555])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adls-5/igt@kms_setmode@basic-clone-single-crtc.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-adls-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-5: [SKIP][30] ([i915#3555] / [i915#4579]) -> [SKIP][31] ([i915#3555])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-9: [SKIP][32] ([i915#3555] / [i915#4579]) -> [SKIP][33] ([i915#3555])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-x1275: [SKIP][34] ([fdo#109271] / [i915#4579]) -> [SKIP][35] ([fdo#109271])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-x1275/igt@kms_setmode@basic-clone-single-crtc.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-kbl-x1275/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-8109u: [SKIP][36] ([fdo#109271] / [i915#4579]) -> [SKIP][37] ([fdo#109271])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-8109u/igt@kms_setmode@basic-clone-single-crtc.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-cfl-8109u/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-7567u: [SKIP][38] ([fdo#109271] / [i915#4579]) -> [SKIP][39] ([fdo#109271])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-7567u/igt@kms_setmode@basic-clone-single-crtc.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-kbl-7567u/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-8809g: [SKIP][40] ([fdo#109271] / [i915#4579]) -> [SKIP][41] ([fdo#109271])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-8809g/igt@kms_setmode@basic-clone-single-crtc.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-kbl-8809g/igt@kms_setmode@basic-clone-single-crtc.html
- fi-ilk-650: [SKIP][42] ([fdo#109271] / [i915#4579]) -> [SKIP][43] ([fdo#109271])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-ilk-650/igt@kms_setmode@basic-clone-single-crtc.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-ilk-650/igt@kms_setmode@basic-clone-single-crtc.html
- fi-tgl-1115g4: [SKIP][44] ([i915#3555] / [i915#4579]) -> [SKIP][45] ([i915#3555])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-tgl-1115g4/igt@kms_setmode@basic-clone-single-crtc.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-tgl-1115g4/igt@kms_setmode@basic-clone-single-crtc.html
- fi-blb-e6850: [SKIP][46] ([fdo#109271] / [i915#4579]) -> [SKIP][47] ([fdo#109271])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-blb-e6850/igt@kms_setmode@basic-clone-single-crtc.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-blb-e6850/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-guc: [SKIP][48] ([fdo#109271] / [i915#4579]) -> [SKIP][49] ([fdo#109271])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-guc/igt@kms_setmode@basic-clone-single-crtc.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-cfl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- bat-mtlp-6: [SKIP][50] ([i915#4579]) -> [SKIP][51] ([i915#8761])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html
- fi-skl-6600u: [SKIP][52] ([fdo#109271] / [i915#4579]) -> [SKIP][53] ([fdo#109271])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-skl-6600u/igt@kms_setmode@basic-clone-single-crtc.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-skl-6600u/igt@kms_setmode@basic-clone-single-crtc.html
- fi-apl-guc: [SKIP][54] ([fdo#109271] / [i915#4579]) -> [SKIP][55] ([fdo#109271])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-apl-guc/igt@kms_setmode@basic-clone-single-crtc.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-apl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- bat-rpls-2: [SKIP][56] ([i915#3555] / [i915#4579]) -> [SKIP][57] ([i915#3555])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-8700k: [SKIP][58] ([fdo#109271] / [i915#4579]) -> [SKIP][59] ([fdo#109271])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-cfl-8700k/igt@kms_setmode@basic-clone-single-crtc.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-cfl-8700k/igt@kms_setmode@basic-clone-single-crtc.html
- fi-bsw-nick: [SKIP][60] ([fdo#109271] / [i915#4579]) -> [SKIP][61] ([fdo#109271])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-bsw-nick/igt@kms_setmode@basic-clone-single-crtc.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-bsw-nick/igt@kms_setmode@basic-clone-single-crtc.html
- bat-jsl-3: [SKIP][62] ([i915#3555] / [i915#4579]) -> [SKIP][63] ([i915#3555])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-jsl-3/igt@kms_setmode@basic-clone-single-crtc.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-jsl-3/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-11: [SKIP][64] ([i915#3555] / [i915#4579]) -> [SKIP][65] ([i915#3555])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-11/igt@kms_setmode@basic-clone-single-crtc.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-dg2-11/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-soraka: [SKIP][66] ([fdo#109271] / [i915#4579]) -> [SKIP][67] ([fdo#109271])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html
- fi-hsw-4770: [SKIP][68] ([fdo#109271] / [i915#4579]) -> [SKIP][69] ([fdo#109271])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-hsw-4770/igt@kms_setmode@basic-clone-single-crtc.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-hsw-4770/igt@kms_setmode@basic-clone-single-crtc.html
- fi-ivb-3770: [SKIP][70] ([fdo#109271] / [i915#4579]) -> [SKIP][71] ([fdo#109271])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-ivb-3770/igt@kms_setmode@basic-clone-single-crtc.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-ivb-3770/igt@kms_setmode@basic-clone-single-crtc.html
- bat-mtlp-8: [SKIP][72] ([i915#4579]) -> [SKIP][73] ([i915#8761])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
- fi-elk-e7500: [SKIP][74] ([fdo#109271] / [i915#4579]) -> [SKIP][75] ([fdo#109271])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-elk-e7500/igt@kms_setmode@basic-clone-single-crtc.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-elk-e7500/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-8: [SKIP][76] ([i915#3555] / [i915#4579]) -> [SKIP][77] ([i915#3555])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
- fi-kbl-guc: [SKIP][78] ([fdo#109271] / [i915#4579]) -> [SKIP][79] ([fdo#109271])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-kbl-guc/igt@kms_setmode@basic-clone-single-crtc.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-kbl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adlm-1: [SKIP][80] ([i915#3555] / [i915#4579]) -> [SKIP][81] ([i915#3555])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-jsl-1: [SKIP][82] ([i915#3555] / [i915#4579]) -> [SKIP][83] ([i915#3555])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-rpls-1: [SKIP][84] ([i915#3555] / [i915#4579]) -> [SKIP][85] ([i915#3555])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-rpls-1/igt@kms_setmode@basic-clone-single-crtc.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-rpls-1/igt@kms_setmode@basic-clone-single-crtc.html
- fi-pnv-d510: [SKIP][86] ([fdo#109271] / [i915#4579]) -> [SKIP][87] ([fdo#109271])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-pnv-d510/igt@kms_setmode@basic-clone-single-crtc.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-pnv-d510/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: [SKIP][88] ([i915#3555] / [i915#4579]) -> [SKIP][89] ([i915#3555])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
- fi-glk-j4005: [SKIP][90] ([fdo#109271] / [i915#4579]) -> [SKIP][91] ([fdo#109271])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/fi-glk-j4005/igt@kms_setmode@basic-clone-single-crtc.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/fi-glk-j4005/igt@kms_setmode@basic-clone-single-crtc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
[i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384
[i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
[i915#8723]: https://gitlab.freedesktop.org/drm/intel/issues/8723
[i915#8761]: https://gitlab.freedesktop.org/drm/intel/issues/8761
Build changes
-------------
* Linux: CI_DRM_13340 -> Patchwork_114200v6
CI-20190529: 20190529
CI_DRM_13340: a3b671a5e12f1fd972ad7046f39a470acbefbbdc @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7357: 790f69303f49066b150fbdff95e471e14d046710 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_114200v6: a3b671a5e12f1fd972ad7046f39a470acbefbbdc @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
b4ad32d393bf drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
35e67355c0bd drm/i915/bios: Extract intel_bios_encoder_port()
40a658b00ec7 drm/i915: Remove AUX CH sanitation
a8733f431344 drm/i915: Remove DDC pin sanitation
757fa4b20027 drm/i915: Only populate aux_ch if really needed
b0fa392aeb49 drm/i915: Initialize dig_port->aux_ch to NONE to be sure
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/index.html
[-- Attachment #2: Type: text/html, Size: 27487 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Init DDI ports in VBT order (rev6)
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
` (11 preceding siblings ...)
2023-07-01 11:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-07-01 17:12 ` Patchwork
12 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-07-01 17:12 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 34712 bytes --]
== Series Details ==
Series: drm/i915: Init DDI ports in VBT order (rev6)
URL : https://patchwork.freedesktop.org/series/114200/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13340_full -> Patchwork_114200v6_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in Patchwork_114200v6_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_create@create-ext-set-pat:
- shard-dg2: NOTRUN -> [FAIL][1] ([i915#8621])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@gem_create@create-ext-set-pat.html
* igt@gem_eio@hibernate:
- shard-dg2: [PASS][2] -> [ABORT][3] ([i915#7975] / [i915#8213])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-11/igt@gem_eio@hibernate.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-3/igt@gem_eio@hibernate.html
* igt@gem_exec_fair@basic-deadline:
- shard-rkl: [PASS][4] -> [FAIL][5] ([i915#2846])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-1/igt@gem_exec_fair@basic-deadline.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-1/igt@gem_exec_fair@basic-deadline.html
- shard-glk: [PASS][6] -> [FAIL][7] ([i915#2846])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-glk2/igt@gem_exec_fair@basic-deadline.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-glk2/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none@bcs0:
- shard-rkl: [PASS][8] -> [FAIL][9] ([i915#2842])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-7/igt@gem_exec_fair@basic-none@bcs0.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-6/igt@gem_exec_fair@basic-none@bcs0.html
* igt@gem_exec_fair@basic-pace-solo:
- shard-dg2: NOTRUN -> [SKIP][10] ([i915#3539])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@gem_exec_fair@basic-pace-solo.html
* igt@gem_exec_gttfill@multigpu-basic:
- shard-mtlp: NOTRUN -> [SKIP][11] ([i915#7697])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@gem_exec_gttfill@multigpu-basic.html
* igt@gem_exec_reloc@basic-wc-active:
- shard-mtlp: NOTRUN -> [SKIP][12] ([i915#3281])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@gem_exec_reloc@basic-wc-active.html
* igt@gem_exec_schedule@deep@vcs0:
- shard-mtlp: [PASS][13] -> [FAIL][14] ([i915#8545])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-1/igt@gem_exec_schedule@deep@vcs0.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@gem_exec_schedule@deep@vcs0.html
* igt@gem_exec_whisper@basic-normal:
- shard-mtlp: [PASS][15] -> [FAIL][16] ([i915#6363])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-5/igt@gem_exec_whisper@basic-normal.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@gem_exec_whisper@basic-normal.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-mtlp: NOTRUN -> [SKIP][17] ([i915#4613])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_mmap_gtt@basic-small-bo-tiledx:
- shard-dg2: NOTRUN -> [SKIP][18] ([i915#4077])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@gem_mmap_gtt@basic-small-bo-tiledx.html
* igt@gem_mmap_gtt@basic-small-copy:
- shard-mtlp: NOTRUN -> [SKIP][19] ([i915#4077]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-3/igt@gem_mmap_gtt@basic-small-copy.html
* igt@gem_pxp@create-regular-buffer:
- shard-mtlp: NOTRUN -> [SKIP][20] ([i915#4270])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-4/igt@gem_pxp@create-regular-buffer.html
* igt@gem_readwrite@read-bad-handle:
- shard-mtlp: NOTRUN -> [SKIP][21] ([i915#3282])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-4/igt@gem_readwrite@read-bad-handle.html
* igt@gem_render_copy@yf-tiled-ccs-to-y-tiled:
- shard-mtlp: NOTRUN -> [SKIP][22] ([i915#8428]) +1 similar issue
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-3/igt@gem_render_copy@yf-tiled-ccs-to-y-tiled.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-mtlp: [PASS][23] -> [ABORT][24] ([i915#8489])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-4/igt@i915_module_load@reload-with-fault-injection.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-4/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-mtlp: NOTRUN -> [SKIP][25] ([i915#6295])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-4/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
- shard-rkl: [PASS][26] -> [SKIP][27] ([i915#1937])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-7/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
* igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [PASS][28] -> [SKIP][29] ([i915#1397]) +1 similar issue
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-5/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-10/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [PASS][30] -> [SKIP][31] ([i915#1397]) +2 similar issues
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-2/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
* igt@i915_selftest@live@gt_heartbeat:
- shard-apl: [PASS][32] -> [DMESG-FAIL][33] ([i915#5334])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-apl1/igt@i915_selftest@live@gt_heartbeat.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-apl3/igt@i915_selftest@live@gt_heartbeat.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1:
- shard-mtlp: [PASS][34] -> [FAIL][35] ([i915#2521])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-5/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-180:
- shard-mtlp: [PASS][36] -> [FAIL][37] ([i915#5138])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-7/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-270:
- shard-dg2: NOTRUN -> [SKIP][38] ([fdo#111614])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-mtlp: NOTRUN -> [SKIP][39] ([fdo#111615]) +1 similar issue
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_mc_ccs:
- shard-mtlp: NOTRUN -> [SKIP][40] ([i915#3886] / [i915#6095])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-bad-aux-stride-yf_tiled_ccs:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#3689] / [i915#5354]) +2 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_ccs@pipe-c-bad-aux-stride-yf_tiled_ccs.html
* igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
- shard-dg2: NOTRUN -> [SKIP][42] ([i915#3689] / [i915#3886] / [i915#5354])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-d-ccs-on-another-bo-y_tiled_gen12_rc_ccs:
- shard-mtlp: NOTRUN -> [SKIP][43] ([i915#6095]) +4 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_ccs@pipe-d-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html
* igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
- shard-dg2: NOTRUN -> [SKIP][44] ([i915#4087]) +7 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-11/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html
* igt@kms_chamelium_color@ctm-0-25:
- shard-mtlp: NOTRUN -> [SKIP][45] ([fdo#111827])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_chamelium_color@ctm-0-25.html
* igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
- shard-dg2: NOTRUN -> [SKIP][46] ([i915#7828])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
* igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
- shard-mtlp: NOTRUN -> [SKIP][47] ([i915#7828]) +1 similar issue
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
* igt@kms_content_protection@legacy@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][48] ([i915#7173])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-11/igt@kms_content_protection@legacy@pipe-a-dp-4.html
* igt@kms_content_protection@srm:
- shard-dg2: NOTRUN -> [SKIP][49] ([i915#7118])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_content_protection@srm.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-mtlp: NOTRUN -> [SKIP][50] ([i915#3546])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-3/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [PASS][51] -> [FAIL][52] ([i915#2346])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-apl: [PASS][53] -> [FAIL][54] ([i915#2346])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][55] ([i915#3804])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-snb: NOTRUN -> [SKIP][56] ([fdo#109271] / [fdo#111767])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-snb2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
- shard-apl: [PASS][57] -> [FAIL][58] ([i915#79])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-apl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-apl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
* igt@kms_flip@flip-vs-suspend@a-dp1:
- shard-apl: [PASS][59] -> [ABORT][60] ([i915#180]) +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-apl6/igt@kms_flip@flip-vs-suspend@a-dp1.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-apl3/igt@kms_flip@flip-vs-suspend@a-dp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][61] ([i915#2672])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][62] ([i915#8708]) +1 similar issue
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
- shard-dg2: [PASS][63] -> [FAIL][64] ([i915#6880])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-rte:
- shard-dg2: NOTRUN -> [SKIP][65] ([i915#5354]) +2 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-rte.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][66] ([i915#8708])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move:
- shard-mtlp: NOTRUN -> [SKIP][67] ([i915#1825]) +4 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-modesetfrombusy:
- shard-dg2: NOTRUN -> [SKIP][68] ([i915#3458])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html
* igt@kms_hdr@static-toggle-suspend:
- shard-mtlp: NOTRUN -> [SKIP][69] ([i915#8761]) +1 similar issue
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-5/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-mtlp: NOTRUN -> [SKIP][70] ([i915#4816])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][71] ([i915#5176]) +7 similar issues
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-10/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][72] ([i915#5176]) +5 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1:
- shard-snb: NOTRUN -> [SKIP][73] ([fdo#109271]) +32 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-snb6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][74] ([i915#5235]) +7 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-3/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][75] ([i915#5235]) +1 similar issue
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-7/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1.html
* igt@kms_psr@cursor_mmap_cpu:
- shard-dg2: NOTRUN -> [SKIP][76] ([i915#1072])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@kms_psr@cursor_mmap_cpu.html
* igt@kms_rotation_crc@bad-tiling:
- shard-mtlp: NOTRUN -> [SKIP][77] ([i915#4235])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_rotation_crc@bad-tiling.html
* igt@kms_tv_load_detect@load-detect:
- shard-mtlp: NOTRUN -> [SKIP][78] ([fdo#109309])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@kms_tv_load_detect@load-detect.html
* igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-dg2: [PASS][79] -> [FAIL][80] ([fdo#103375]) +2 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-1/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-5/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
* igt@kms_vrr@negative-basic:
- shard-dg2: NOTRUN -> [SKIP][81] ([i915#3555])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-10/igt@kms_vrr@negative-basic.html
* igt@perf@enable-disable@0-rcs0:
- shard-dg2: [PASS][82] -> [FAIL][83] ([i915#8724])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-12/igt@perf@enable-disable@0-rcs0.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-11/igt@perf@enable-disable@0-rcs0.html
* igt@perf@global-sseu-config-invalid:
- shard-mtlp: NOTRUN -> [SKIP][84] ([i915#7387])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-5/igt@perf@global-sseu-config-invalid.html
* igt@v3d/v3d_create_bo@create-bo-4096:
- shard-dg2: NOTRUN -> [SKIP][85] ([i915#2575]) +1 similar issue
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@v3d/v3d_create_bo@create-bo-4096.html
* igt@v3d/v3d_submit_cl@bad-multisync-pad:
- shard-mtlp: NOTRUN -> [SKIP][86] ([i915#2575]) +1 similar issue
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@v3d/v3d_submit_cl@bad-multisync-pad.html
#### Possible fixes ####
* igt@gem_busy@close-race:
- shard-dg2: [ABORT][87] ([i915#6016] / [i915#7349]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-8/igt@gem_busy@close-race.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@gem_busy@close-race.html
* igt@gem_create@hog-create@smem0:
- shard-dg2: [FAIL][89] ([i915#5892]) -> [PASS][90]
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-1/igt@gem_create@hog-create@smem0.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-5/igt@gem_create@hog-create@smem0.html
* igt@gem_ctx_isolation@preservation-s3@ccs0:
- shard-mtlp: [FAIL][91] ([fdo#103375]) -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-4/igt@gem_ctx_isolation@preservation-s3@ccs0.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-1/igt@gem_ctx_isolation@preservation-s3@ccs0.html
* igt@gem_exec_balancer@hang:
- shard-mtlp: [ABORT][93] ([i915#8104]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-2/igt@gem_exec_balancer@hang.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@gem_exec_balancer@hang.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [FAIL][95] ([i915#2842]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglu: [FAIL][97] ([i915#2842]) -> [PASS][98]
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-tglu-4/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-rkl: [FAIL][99] ([i915#2842]) -> [PASS][100] +1 similar issue
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_schedule@deep@vcs1:
- shard-mtlp: [FAIL][101] ([i915#8606]) -> [PASS][102]
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-1/igt@gem_exec_schedule@deep@vcs1.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@gem_exec_schedule@deep@vcs1.html
* igt@i915_pm_dc@dc6-dpms:
- shard-tglu: [FAIL][103] ([i915#3989] / [i915#454]) -> [PASS][104]
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-tglu-8/igt@i915_pm_dc@dc6-dpms.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-tglu-10/igt@i915_pm_dc@dc6-dpms.html
* {igt@i915_pm_freq_api@freq-suspend@gt0}:
- shard-dg2: [FAIL][105] ([fdo#103375]) -> [PASS][106] +1 similar issue
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-10/igt@i915_pm_freq_api@freq-suspend@gt0.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-7/igt@i915_pm_freq_api@freq-suspend@gt0.html
* igt@i915_pm_rc6_residency@rc6-idle@vecs0:
- {shard-dg1}: [FAIL][107] ([i915#3591]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-dg2: [SKIP][109] ([i915#1397]) -> [PASS][110] +2 similar issues
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-12/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-11/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@i915_selftest@live@gt_mocs:
- shard-mtlp: [DMESG-FAIL][111] ([i915#7059]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-1/igt@i915_selftest@live@gt_mocs.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@i915_selftest@live@gt_mocs.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [FAIL][113] ([i915#5138]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-glk: [FAIL][115] ([i915#2346]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a1:
- shard-glk: [FAIL][117] ([i915#2122]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a1.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a1.html
* igt@kms_sysfs_edid_timing:
- shard-dg2: [FAIL][119] ([IGT#2]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-7/igt@kms_sysfs_edid_timing.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-12/igt@kms_sysfs_edid_timing.html
* igt@perf@non-zero-reason@0-rcs0:
- shard-dg2: [FAIL][121] ([i915#7484]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-8/igt@perf@non-zero-reason@0-rcs0.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-8/igt@perf@non-zero-reason@0-rcs0.html
#### Warnings ####
* igt@kms_async_flips@crc@pipe-d-edp-1:
- shard-mtlp: [DMESG-FAIL][123] ([i915#8561]) -> [FAIL][124] ([i915#8247]) +1 similar issue
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-7/igt@kms_async_flips@crc@pipe-d-edp-1.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-2/igt@kms_async_flips@crc@pipe-d-edp-1.html
* igt@kms_content_protection@type1:
- shard-dg2: [SKIP][125] ([i915#7118] / [i915#7162]) -> [SKIP][126] ([i915#7118])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-dg2-11/igt@kms_content_protection@type1.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-dg2-10/igt@kms_content_protection@type1.html
* igt@kms_fbcon_fbt@psr:
- shard-rkl: [SKIP][127] ([i915#3955]) -> [SKIP][128] ([fdo#110189] / [i915#3955])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-7/igt@kms_fbcon_fbt@psr.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-2/igt@kms_fbcon_fbt@psr.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][129] ([i915#4816]) -> [SKIP][130] ([i915#4070] / [i915#4816])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-rkl-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@sysfs_timeslice_duration@timeout@vecs0:
- shard-mtlp: [TIMEOUT][131] ([i915#6950]) -> [ABORT][132] ([i915#8521])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13340/shard-mtlp-8/igt@sysfs_timeslice_duration@timeout@vecs0.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114200v6/shard-mtlp-7/igt@sysfs_timeslice_duration@timeout@vecs0.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
[i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
[i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5892]: https://gitlab.freedesktop.org/drm/intel/issues/5892
[i915#6016]: https://gitlab.freedesktop.org/drm/intel/issues/6016
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6295]: https://gitlab.freedesktop.org/drm/intel/issues/6295
[i915#6363]: https://gitlab.freedesktop.org/drm/intel/issues/6363
[i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
[i915#6950]: https://gitlab.freedesktop.org/drm/intel/issues/6950
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7162]: https://gitlab.freedesktop.org/drm/intel/issues/7162
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7349]: https://gitlab.freedesktop.org/drm/intel/issues/7349
[i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387
[i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#8104]: https://gitlab.freedesktop.org/drm/intel/issues/8104
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
[i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
[i915#8489]: https://gitlab.freedesktop.org/drm/intel/issues/8489
[i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
[i915#8521]: https://gitlab.freedesktop.org/drm/intel/issues/8521
[i915#8545]: https://gitlab.freedesktop.org/drm/intel/issues/8545
[i915#8561]: https://gitlab.freedesktop.org/drm/intel/issues/8561
[i915#8606]: https://gitlab.freedesktop.org/drm/intel/issues/8606
[i915#8621]: https://gitlab.freedesktop.org/drm/intel/issues/8621
[i915#8661]: https://gitlab.freedesktop.org/drm/intel/issues/8661
[i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
[i915#8724]: https://gitlab.freedesktop.org/drm/intel/issues/8724
[i915#8761]: https://gitlab.freedesktop.org/drm/intel/issues/8761
Build changes
-------------
* Linux: CI_DRM_13340 -> Patchwork_114200v6
CI-20190529: 20190529
CI_DRM_13340: a3b671a5e12f1fd972ad7046f39a470acbefbbdc @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7357: 790f69303f49066b150fbdff95e471e14d046710 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_114200v6: a3b671a5e12f1fd972ad7046f39a470acbefbbdc @ 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_114200v6/index.html
[-- Attachment #2: Type: text/html, Size: 39028 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device
2023-06-30 16:38 ` Jani Nikula
@ 2023-07-05 21:27 ` Ville Syrjälä
0 siblings, 0 replies; 18+ messages in thread
From: Ville Syrjälä @ 2023-07-05 21:27 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Fri, Jun 30, 2023 at 07:38:38PM +0300, Jani Nikula wrote:
> On Fri, 30 Jun 2023, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Try to deal with duplicate child devices for the same DDI port
> > by attempting to initialize them in VBT defined order The first
> > on to succeed for a specific DDI port will be the one we use.
> >
> > We'll also get rid of i915->display.vbt.ports[] here as any conflicts
> > will now be handled at encoder registration time rather than during
> > VBT parsing. Note that intel_bios_encoder_data_lookup() still remaims
> > for pre-DDI DP/HDMI ports as those don't (at least yet) use VBT
> > driven initialization.
> >
> > TODO: DSI dual link handling is sketchy at best
>
> Despite the sketchy bits this seems like a step forward.
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Series pushed to din. Thanks for the review.
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-07-05 21:27 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-30 15:58 [Intel-gfx] [PATCH v3 0/6] drm/i915: Init DDI ports in VBT order Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 1/6] drm/i915: Initialize dig_port->aux_ch to NONE to be sure Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 2/6] drm/i915: Only populate aux_ch if really needed Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 3/6] drm/i915: Remove DDC pin sanitation Ville Syrjala
2023-06-30 16:36 ` Jani Nikula
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 4/6] drm/i915: Remove AUX CH sanitation Ville Syrjala
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 5/6] drm/i915/bios: Extract intel_bios_encoder_port() Ville Syrjala
2023-06-30 16:28 ` Jani Nikula
2023-06-30 15:58 ` [Intel-gfx] [PATCH v3 6/6] drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child device Ville Syrjala
2023-06-30 16:38 ` Jani Nikula
2023-07-05 21:27 ` Ville Syrjälä
2023-06-30 16:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev5) Patchwork
2023-06-30 16:56 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-06-30 17:14 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2023-07-01 11:07 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Init DDI ports in VBT order (rev6) Patchwork
2023-07-01 11:07 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-07-01 11:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-07-01 17:12 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox