* [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays
@ 2021-10-12 14:43 Jani Nikula
2021-10-12 14:43 ` [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers Jani Nikula
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Jani Nikula @ 2021-10-12 14:43 UTC (permalink / raw)
To: intel-gfx; +Cc: dri-devel, ville.syrjala, jani.nikula
The link training delays are different and/or available in different
DPCD offsets depending on:
- Clock recovery vs. channel equalization
- DPRX vs. LTTPR
- 128b/132b vs. 8b/10b
- DPCD 1.4+ vs. earlier
Add helpers to get the correct delays in us, reading DPCD if
necessary. This is more straightforward than trying to retrofit the
existing helpers to take 128b/132b into account.
Having to pass in the DPCD receiver cap field seems unavoidable, because
reading it involves checking the revision and reading extended receiver
cap. So unfortunately the interface is mixed cached and read as needed.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 132 ++++++++++++++++++++++++++++++++
include/drm/drm_dp_helper.h | 21 ++++-
2 files changed, 151 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 4d0d1e8e51fa..04ebef7f5aa7 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -154,6 +154,138 @@ u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZ
}
EXPORT_SYMBOL(drm_dp_get_adjust_request_post_cursor);
+static int __8b10b_clock_recovery_delay_us(const struct drm_dp_aux *aux, u8 rd_interval)
+{
+ if (rd_interval > 4)
+ drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x (max 4)\n",
+ aux->name, rd_interval);
+
+ if (rd_interval == 0)
+ return 100;
+
+ return rd_interval * 4 * USEC_PER_MSEC;
+}
+
+static int __8b10b_channel_eq_delay_us(const struct drm_dp_aux *aux, u8 rd_interval)
+{
+ if (rd_interval > 4)
+ drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x (max 4)\n",
+ aux->name, rd_interval);
+
+ if (rd_interval == 0)
+ return 400;
+
+ return rd_interval * 4 * USEC_PER_MSEC;
+}
+
+static int __128b132b_channel_eq_delay_us(const struct drm_dp_aux *aux, u8 rd_interval)
+{
+ switch (rd_interval) {
+ default:
+ drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x\n",
+ aux->name, rd_interval);
+ fallthrough;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_400_US:
+ return 400;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_4_MS:
+ return 4000;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_8_MS:
+ return 8000;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_12_MS:
+ return 12000;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_16_MS:
+ return 16000;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_32_MS:
+ return 32000;
+ case DP_128B132B_TRAINING_AUX_RD_INTERVAL_64_MS:
+ return 64000;
+ }
+}
+
+/*
+ * The link training delays are different for:
+ *
+ * - Clock recovery vs. channel equalization
+ * - DPRX vs. LTTPR
+ * - 128b/132b vs. 8b/10b
+ * - DPCD rev 1.3 vs. later
+ *
+ * Get the correct delay in us, reading DPCD if necessary.
+ */
+static int __read_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ enum drm_dp_phy dp_phy, bool uhbr, bool cr)
+{
+ int (*parse)(const struct drm_dp_aux *aux, u8 rd_interval);
+ unsigned int offset;
+ u8 rd_interval, mask;
+ int delay_us;
+
+ if (dp_phy == DP_PHY_DPRX) {
+ if (uhbr) {
+ if (cr)
+ return 100;
+
+ offset = DP_128B132B_TRAINING_AUX_RD_INTERVAL;
+ mask = DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK;
+ parse = __128b132b_channel_eq_delay_us;
+ } else {
+ if (cr && dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14)
+ return 100;
+
+ offset = DP_TRAINING_AUX_RD_INTERVAL;
+ mask = DP_TRAINING_AUX_RD_MASK;
+ if (cr)
+ parse = __8b10b_clock_recovery_delay_us;
+ else
+ parse = __8b10b_channel_eq_delay_us;
+ }
+ } else {
+ if (uhbr) {
+ offset = DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy);
+ mask = DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK;
+ parse = __128b132b_channel_eq_delay_us;
+ } else {
+ if (cr)
+ return 100;
+
+ offset = DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy);
+ mask = DP_TRAINING_AUX_RD_MASK;
+ parse = __8b10b_channel_eq_delay_us;
+ }
+ }
+
+ if (offset < DP_RECEIVER_CAP_SIZE) {
+ rd_interval = dpcd[offset];
+ } else {
+ if (drm_dp_dpcd_readb(aux, offset, &rd_interval) != 1) {
+ drm_dbg_kms(aux->drm_dev, "%s: failed rd interval read\n",
+ aux->name);
+ /* arbitrary default delay */
+ return 400;
+ }
+ }
+
+ delay_us = parse(aux, rd_interval & mask);
+ if (delay_us < 0)
+ return 0;
+
+ return delay_us;
+}
+
+int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ enum drm_dp_phy dp_phy, bool uhbr)
+{
+ return __read_delay(aux, dpcd, dp_phy, uhbr, true);
+}
+EXPORT_SYMBOL(drm_dp_read_clock_recovery_delay);
+
+int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ enum drm_dp_phy dp_phy, bool uhbr)
+{
+ return __read_delay(aux, dpcd, dp_phy, uhbr, false);
+}
+EXPORT_SYMBOL(drm_dp_read_channel_eq_delay);
+
void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux,
const u8 dpcd[DP_RECEIVER_CAP_SIZE])
{
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index b52df4db3e8f..afdf7f4183f9 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1114,8 +1114,15 @@ struct drm_panel;
# define DP_UHBR20 (1 << 1)
# define DP_UHBR13_5 (1 << 2)
-#define DP_128B132B_TRAINING_AUX_RD_INTERVAL 0x2216 /* 2.0 */
-# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK 0x7f
+#define DP_128B132B_TRAINING_AUX_RD_INTERVAL 0x2216 /* 2.0 */
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK 0x7f
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_400_US 0x00
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_4_MS 0x01
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_8_MS 0x02
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_12_MS 0x03
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_16_MS 0x04
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_32_MS 0x05
+# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_64_MS 0x06
#define DP_TEST_264BIT_CUSTOM_PATTERN_7_0 0x2230
#define DP_TEST_264BIT_CUSTOM_PATTERN_263_256 0x2250
@@ -1389,6 +1396,11 @@ enum drm_dp_phy {
# define DP_VOLTAGE_SWING_LEVEL_3_SUPPORTED BIT(0)
# define DP_PRE_EMPHASIS_LEVEL_3_SUPPORTED BIT(1)
+#define DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1 0xf0022 /* 2.0 */
+#define DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy) \
+ DP_LTTPR_REG(dp_phy, DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1)
+/* see DP_128B132B_TRAINING_AUX_RD_INTERVAL for values */
+
#define DP_LANE0_1_STATUS_PHY_REPEATER1 0xf0030 /* 1.3 */
#define DP_LANE0_1_STATUS_PHY_REPEATER(dp_phy) \
DP_LTTPR_REG(dp_phy, DP_LANE0_1_STATUS_PHY_REPEATER1)
@@ -1527,6 +1539,11 @@ u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZ
#define DP_LTTPR_COMMON_CAP_SIZE 8
#define DP_LTTPR_PHY_CAP_SIZE 3
+int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ enum drm_dp_phy dp_phy, bool uhbr);
+int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ enum drm_dp_phy dp_phy, bool uhbr);
+
void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux,
const u8 dpcd[DP_RECEIVER_CAP_SIZE]);
void drm_dp_lttpr_link_train_clock_recovery_delay(void);
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers 2021-10-12 14:43 [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays Jani Nikula @ 2021-10-12 14:43 ` Jani Nikula 2021-10-13 21:26 ` Ville Syrjälä 2021-10-12 15:25 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/dp: add helpers to read link training delays Patchwork ` (3 subsequent siblings) 4 siblings, 1 reply; 8+ messages in thread From: Jani Nikula @ 2021-10-12 14:43 UTC (permalink / raw) To: intel-gfx; +Cc: dri-devel, ville.syrjala, jani.nikula Use the new link training delay helpers, fixing the delays for 128b/132b. For existing 8b/10b functionality, this will cause additional 1-byte DPCD reads for LTTPR delays instead of using the cached values. It's just too complicated to combine generic helpers with local caching in a sensible way. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- .../drm/i915/display/intel_dp_link_training.c | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c index 85676c953e0a..a72f2dc93718 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c @@ -683,15 +683,6 @@ intel_dp_prepare_link_train(struct intel_dp *intel_dp, return true; } -static void intel_dp_link_training_clock_recovery_delay(struct intel_dp *intel_dp, - enum drm_dp_phy dp_phy) -{ - if (dp_phy == DP_PHY_DPRX) - drm_dp_link_train_clock_recovery_delay(&intel_dp->aux, intel_dp->dpcd); - else - drm_dp_lttpr_link_train_clock_recovery_delay(); -} - static bool intel_dp_adjust_request_changed(const struct intel_crtc_state *crtc_state, const u8 old_link_status[DP_LINK_STATUS_SIZE], const u8 new_link_status[DP_LINK_STATUS_SIZE]) @@ -750,6 +741,11 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp, u8 link_status[DP_LINK_STATUS_SIZE]; bool max_vswing_reached = false; char phy_name[10]; + int delay_us; + + delay_us = drm_dp_read_clock_recovery_delay(&intel_dp->aux, + intel_dp->dpcd, dp_phy, + intel_dp_is_uhbr(crtc_state)); intel_dp_phy_name(dp_phy, phy_name, sizeof(phy_name)); @@ -777,7 +773,7 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp, voltage_tries = 1; for (cr_tries = 0; cr_tries < max_cr_tries; ++cr_tries) { - intel_dp_link_training_clock_recovery_delay(intel_dp, dp_phy); + usleep_range(delay_us, 2 * delay_us); if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, dp_phy, link_status) < 0) { @@ -895,19 +891,6 @@ static u32 intel_dp_training_pattern(struct intel_dp *intel_dp, return DP_TRAINING_PATTERN_2; } -static void -intel_dp_link_training_channel_equalization_delay(struct intel_dp *intel_dp, - enum drm_dp_phy dp_phy) -{ - if (dp_phy == DP_PHY_DPRX) { - drm_dp_link_train_channel_eq_delay(&intel_dp->aux, intel_dp->dpcd); - } else { - const u8 *phy_caps = intel_dp_lttpr_phy_caps(intel_dp, dp_phy); - - drm_dp_lttpr_link_train_channel_eq_delay(&intel_dp->aux, phy_caps); - } -} - /* * Perform the link training channel equalization phase on the given DP PHY * using one of training pattern 2, 3 or 4 depending on the source and @@ -925,6 +908,11 @@ intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp, u8 link_status[DP_LINK_STATUS_SIZE]; bool channel_eq = false; char phy_name[10]; + int delay_us; + + delay_us = drm_dp_read_channel_eq_delay(&intel_dp->aux, + intel_dp->dpcd, dp_phy, + intel_dp_is_uhbr(crtc_state)); intel_dp_phy_name(dp_phy, phy_name, sizeof(phy_name)); @@ -944,8 +932,8 @@ intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp, } for (tries = 0; tries < 5; tries++) { - intel_dp_link_training_channel_equalization_delay(intel_dp, - dp_phy); + usleep_range(delay_us, 2 * delay_us); + if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, dp_phy, link_status) < 0) { drm_err(&i915->drm, -- 2.30.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers 2021-10-12 14:43 ` [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers Jani Nikula @ 2021-10-13 21:26 ` Ville Syrjälä 0 siblings, 0 replies; 8+ messages in thread From: Ville Syrjälä @ 2021-10-13 21:26 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, dri-devel On Tue, Oct 12, 2021 at 05:43:21PM +0300, Jani Nikula wrote: > Use the new link training delay helpers, fixing the delays for > 128b/132b. > > For existing 8b/10b functionality, this will cause additional 1-byte > DPCD reads for LTTPR delays instead of using the cached values. It's > just too complicated to combine generic helpers with local caching in a > sensible way. > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> I was just pondering if the extra DPCD reads might cause some grief for some compliance test stuff. But I guess if that happens we could just read them all at the very start of link training, or something. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > .../drm/i915/display/intel_dp_link_training.c | 38 +++++++------------ > 1 file changed, 13 insertions(+), 25 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > index 85676c953e0a..a72f2dc93718 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > @@ -683,15 +683,6 @@ intel_dp_prepare_link_train(struct intel_dp *intel_dp, > return true; > } > > -static void intel_dp_link_training_clock_recovery_delay(struct intel_dp *intel_dp, > - enum drm_dp_phy dp_phy) > -{ > - if (dp_phy == DP_PHY_DPRX) > - drm_dp_link_train_clock_recovery_delay(&intel_dp->aux, intel_dp->dpcd); > - else > - drm_dp_lttpr_link_train_clock_recovery_delay(); > -} > - > static bool intel_dp_adjust_request_changed(const struct intel_crtc_state *crtc_state, > const u8 old_link_status[DP_LINK_STATUS_SIZE], > const u8 new_link_status[DP_LINK_STATUS_SIZE]) > @@ -750,6 +741,11 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp, > u8 link_status[DP_LINK_STATUS_SIZE]; > bool max_vswing_reached = false; > char phy_name[10]; > + int delay_us; > + > + delay_us = drm_dp_read_clock_recovery_delay(&intel_dp->aux, > + intel_dp->dpcd, dp_phy, > + intel_dp_is_uhbr(crtc_state)); > > intel_dp_phy_name(dp_phy, phy_name, sizeof(phy_name)); > > @@ -777,7 +773,7 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp, > > voltage_tries = 1; > for (cr_tries = 0; cr_tries < max_cr_tries; ++cr_tries) { > - intel_dp_link_training_clock_recovery_delay(intel_dp, dp_phy); > + usleep_range(delay_us, 2 * delay_us); > > if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, dp_phy, > link_status) < 0) { > @@ -895,19 +891,6 @@ static u32 intel_dp_training_pattern(struct intel_dp *intel_dp, > return DP_TRAINING_PATTERN_2; > } > > -static void > -intel_dp_link_training_channel_equalization_delay(struct intel_dp *intel_dp, > - enum drm_dp_phy dp_phy) > -{ > - if (dp_phy == DP_PHY_DPRX) { > - drm_dp_link_train_channel_eq_delay(&intel_dp->aux, intel_dp->dpcd); > - } else { > - const u8 *phy_caps = intel_dp_lttpr_phy_caps(intel_dp, dp_phy); > - > - drm_dp_lttpr_link_train_channel_eq_delay(&intel_dp->aux, phy_caps); > - } > -} > - > /* > * Perform the link training channel equalization phase on the given DP PHY > * using one of training pattern 2, 3 or 4 depending on the source and > @@ -925,6 +908,11 @@ intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp, > u8 link_status[DP_LINK_STATUS_SIZE]; > bool channel_eq = false; > char phy_name[10]; > + int delay_us; > + > + delay_us = drm_dp_read_channel_eq_delay(&intel_dp->aux, > + intel_dp->dpcd, dp_phy, > + intel_dp_is_uhbr(crtc_state)); > > intel_dp_phy_name(dp_phy, phy_name, sizeof(phy_name)); > > @@ -944,8 +932,8 @@ intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp, > } > > for (tries = 0; tries < 5; tries++) { > - intel_dp_link_training_channel_equalization_delay(intel_dp, > - dp_phy); > + usleep_range(delay_us, 2 * delay_us); > + > if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, dp_phy, > link_status) < 0) { > drm_err(&i915->drm, > -- > 2.30.2 -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/dp: add helpers to read link training delays 2021-10-12 14:43 [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays Jani Nikula 2021-10-12 14:43 ` [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers Jani Nikula @ 2021-10-12 15:25 ` Patchwork 2021-10-12 15:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (2 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-10-12 15:25 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/dp: add helpers to read link training delays URL : https://patchwork.freedesktop.org/series/95731/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. - +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +./drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgv_sriovmsg.h:318:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1416:25: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1416:25: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1416:25: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1417:17: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1417:17: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1417:17: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1476:17: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1476:17: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1476:17: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:355:16: error: incompatible types in comparison expression (different type sizes): +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:355:16: unsigned long * +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:355:16: unsigned long long * +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4481:31: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4481:31: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4481:31: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4483:33: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4483:33: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4483:33: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:294:25: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:294:25: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:294:25: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:295:17: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:295:17: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:295:17: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:344:17: error: incompatible types in comparison expression (different address spaces): +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:344:17: struct dma_fence * +drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c:344:17: struct dma_fence [noderef] __rcu * +drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c:117:1: warning: no newline at end of file +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB" +drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:314:49: error: static assertion faile ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/dp: add helpers to read link training delays 2021-10-12 14:43 [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays Jani Nikula 2021-10-12 14:43 ` [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers Jani Nikula 2021-10-12 15:25 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/dp: add helpers to read link training delays Patchwork @ 2021-10-12 15:53 ` Patchwork 2021-10-12 20:22 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2021-10-13 21:22 ` [Intel-gfx] [PATCH 1/2] " Ville Syrjälä 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-10-12 15:53 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 9734 bytes --] == Series Details == Series: series starting with [1/2] drm/dp: add helpers to read link training delays URL : https://patchwork.freedesktop.org/series/95731/ State : success == Summary == CI Bug Log - changes from CI_DRM_10723 -> Patchwork_21320 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/index.html Known issues ------------ Here are the changes found in Patchwork_21320 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@cs-gfx: - fi-kbl-soraka: NOTRUN -> [SKIP][1] ([fdo#109271]) +6 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-kbl-soraka/igt@amdgpu/amd_basic@cs-gfx.html * igt@amdgpu/amd_basic@query-info: - fi-tgl-1115g4: NOTRUN -> [SKIP][2] ([fdo#109315]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@amdgpu/amd_basic@query-info.html * igt@amdgpu/amd_basic@semaphore: - fi-bdw-5557u: NOTRUN -> [SKIP][3] ([fdo#109271]) +27 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-bdw-5557u/igt@amdgpu/amd_basic@semaphore.html * igt@amdgpu/amd_cs_nop@nop-gfx0: - fi-tgl-1115g4: NOTRUN -> [SKIP][4] ([fdo#109315] / [i915#2575]) +16 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@amdgpu/amd_cs_nop@nop-gfx0.html * igt@amdgpu/amd_prime@amd-to-i915: - fi-kbl-x1275: NOTRUN -> [SKIP][5] ([fdo#109271]) +28 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-kbl-x1275/igt@amdgpu/amd_prime@amd-to-i915.html * igt@amdgpu/amd_prime@i915-to-amd: - fi-snb-2520m: NOTRUN -> [SKIP][6] ([fdo#109271]) +37 similar issues [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-snb-2520m/igt@amdgpu/amd_prime@i915-to-amd.html * igt@gem_huc_copy@huc-copy: - fi-kbl-x1275: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#2190]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-kbl-x1275/igt@gem_huc_copy@huc-copy.html - fi-tgl-1115g4: NOTRUN -> [SKIP][8] ([i915#2190]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@gem_huc_copy@huc-copy.html * igt@i915_pm_backlight@basic-brightness: - fi-tgl-1115g4: NOTRUN -> [SKIP][9] ([i915#1155]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@i915_pm_backlight@basic-brightness.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-tgl-1115g4: NOTRUN -> [SKIP][10] ([fdo#111827]) +8 similar issues [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_chamelium@dp-crc-fast: - fi-skl-guc: NOTRUN -> [SKIP][11] ([fdo#109271] / [fdo#111827]) +8 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-skl-guc/igt@kms_chamelium@dp-crc-fast.html - fi-bdw-5557u: NOTRUN -> [SKIP][12] ([fdo#109271] / [fdo#111827]) +8 similar issues [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-bdw-5557u/igt@kms_chamelium@dp-crc-fast.html * igt@kms_chamelium@hdmi-crc-fast: - fi-kbl-x1275: NOTRUN -> [SKIP][13] ([fdo#109271] / [fdo#111827]) +8 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-kbl-x1275/igt@kms_chamelium@hdmi-crc-fast.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-snb-2520m: NOTRUN -> [SKIP][14] ([fdo#109271] / [fdo#111827]) +8 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-snb-2520m/igt@kms_chamelium@hdmi-hpd-fast.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-skl-guc: NOTRUN -> [SKIP][15] ([fdo#109271]) +28 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-skl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-tgl-1115g4: NOTRUN -> [SKIP][16] ([i915#4103]) +1 similar issue [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_force_connector_basic@force-load-detect: - fi-tgl-1115g4: NOTRUN -> [SKIP][17] ([fdo#109285]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d: - fi-kbl-x1275: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#533]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-kbl-x1275/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html - fi-skl-guc: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#533]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-skl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html * igt@kms_psr@primary_mmap_gtt: - fi-tgl-1115g4: NOTRUN -> [SKIP][20] ([i915#1072]) +3 similar issues [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@kms_psr@primary_mmap_gtt.html * igt@prime_vgem@basic-userptr: - fi-tgl-1115g4: NOTRUN -> [SKIP][21] ([i915#3301]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-tgl-1115g4/igt@prime_vgem@basic-userptr.html * igt@runner@aborted: - fi-cfl-8700k: NOTRUN -> [FAIL][22] ([i915#2426] / [i915#3363]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-cfl-8700k/igt@runner@aborted.html #### Possible fixes #### * igt@i915_selftest@live@hangcheck: - {fi-hsw-gt1}: [DMESG-WARN][23] ([i915#3303]) -> [PASS][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/fi-hsw-gt1/igt@i915_selftest@live@hangcheck.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-hsw-gt1/igt@i915_selftest@live@hangcheck.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-kbl-7500u: [DMESG-WARN][25] ([i915#2868]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_flip@basic-plain-flip@c-dp1: - fi-cfl-8109u: [FAIL][27] ([i915#4165]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/fi-cfl-8109u/igt@kms_flip@basic-plain-flip@c-dp1.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-cfl-8109u/igt@kms_flip@basic-plain-flip@c-dp1.html * igt@kms_frontbuffer_tracking@basic: - fi-cml-u2: [DMESG-WARN][29] ([i915#4269]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b: - fi-cfl-8109u: [DMESG-WARN][31] ([i915#295]) -> [PASS][32] +14 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2868]: https://gitlab.freedesktop.org/drm/intel/issues/2868 [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295 [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301 [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303 [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4165]: https://gitlab.freedesktop.org/drm/intel/issues/4165 [i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 Participating hosts (35 -> 38) ------------------------------ Additional (4): fi-kbl-x1275 fi-skl-guc fi-tgl-1115g4 fi-snb-2520m Missing (1): fi-bsw-cyan Build changes ------------- * Linux: CI_DRM_10723 -> Patchwork_21320 CI-20190529: 20190529 CI_DRM_10723: 574b5d6571aa7e24cde19c5e953a7b1a666267b4 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6242: 721fd85ee95225ed5df322f7182bdfa9b86a3e68 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_21320: 4a60dae22840cd45c6b7ed9830bfb4e1cb3a85cc @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 4a60dae22840 drm/i915/dp: use new link training delay helpers 512591651bed drm/dp: add helpers to read link training delays == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/index.html [-- Attachment #2: Type: text/html, Size: 12203 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/dp: add helpers to read link training delays 2021-10-12 14:43 [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays Jani Nikula ` (2 preceding siblings ...) 2021-10-12 15:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2021-10-12 20:22 ` Patchwork 2021-10-13 21:22 ` [Intel-gfx] [PATCH 1/2] " Ville Syrjälä 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-10-12 20:22 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 30296 bytes --] == Series Details == Series: series starting with [1/2] drm/dp: add helpers to read link training delays URL : https://patchwork.freedesktop.org/series/95731/ State : failure == Summary == CI Bug Log - changes from CI_DRM_10723_full -> Patchwork_21320_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_21320_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_21320_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_21320_full: ### IGT changes ### #### Possible regressions #### * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - shard-skl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl9/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html Known issues ------------ Here are the changes found in Patchwork_21320_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@preservation-s3@vcs0: - shard-kbl: [PASS][3] -> [DMESG-WARN][4] ([i915#180]) +3 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl2/igt@gem_ctx_isolation@preservation-s3@vcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@vcs0.html * igt@gem_ctx_persistence@legacy-engines-mixed: - shard-snb: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +5 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-snb2/igt@gem_ctx_persistence@legacy-engines-mixed.html * igt@gem_exec_fair@basic-deadline: - shard-skl: NOTRUN -> [FAIL][6] ([i915#2846]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@gem_exec_fair@basic-deadline.html - shard-glk: [PASS][7] -> [FAIL][8] ([i915#2846]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-glk2/igt@gem_exec_fair@basic-deadline.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-glk9/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-iclb: [PASS][9] -> [FAIL][10] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb5/igt@gem_exec_fair@basic-none-share@rcs0.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb8/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-tglb: NOTRUN -> [FAIL][11] ([i915#2842]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-kbl: [PASS][12] -> [FAIL][13] ([i915#2842]) +2 similar issues [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl4/igt@gem_exec_fair@basic-none@vcs0.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl7/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_schedule@submit-early-slice@vcs0: - shard-tglb: [PASS][14] -> [INCOMPLETE][15] ([i915#3797]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-tglb7/igt@gem_exec_schedule@submit-early-slice@vcs0.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb7/igt@gem_exec_schedule@submit-early-slice@vcs0.html * igt@gem_exec_schedule@u-submit-golden-slice@vecs0: - shard-skl: [PASS][16] -> [INCOMPLETE][17] ([i915#3797]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl5/igt@gem_exec_schedule@u-submit-golden-slice@vecs0.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl7/igt@gem_exec_schedule@u-submit-golden-slice@vecs0.html * igt@gem_userptr_blits@input-checking: - shard-snb: NOTRUN -> [DMESG-WARN][18] ([i915#3002]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-snb6/igt@gem_userptr_blits@input-checking.html * igt@gem_userptr_blits@vma-merge: - shard-kbl: NOTRUN -> [FAIL][19] ([i915#3318]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@gem_userptr_blits@vma-merge.html * igt@i915_pm_lpsp@screens-disabled: - shard-tglb: NOTRUN -> [SKIP][20] ([i915#1902]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@i915_pm_lpsp@screens-disabled.html * igt@kms_big_fb@x-tiled-16bpp-rotate-90: - shard-tglb: NOTRUN -> [SKIP][21] ([fdo#111614]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-kbl: NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#3777]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-skl: NOTRUN -> [FAIL][23] ([i915#3722]) +1 similar issue [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-apl: NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#3777]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc: - shard-apl: NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#3886]) +15 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs: - shard-kbl: NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#3886]) +1 similar issue [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_mc_ccs: - shard-tglb: NOTRUN -> [SKIP][27] ([i915#3689] / [i915#3886]) +1 similar issue [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_mc_ccs.html * igt@kms_chamelium@dp-hpd-after-suspend: - shard-skl: NOTRUN -> [SKIP][28] ([fdo#109271] / [fdo#111827]) +1 similar issue [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_chamelium@dp-hpd-after-suspend.html * igt@kms_chamelium@vga-hpd-for-each-pipe: - shard-apl: NOTRUN -> [SKIP][29] ([fdo#109271] / [fdo#111827]) +19 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_chamelium@vga-hpd-for-each-pipe.html * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red: - shard-snb: NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111827]) +14 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-snb6/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html * igt@kms_color_chamelium@pipe-b-ctm-0-25: - shard-tglb: NOTRUN -> [SKIP][31] ([fdo#109284] / [fdo#111827]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_color_chamelium@pipe-b-ctm-0-25.html * igt@kms_color_chamelium@pipe-b-ctm-0-5: - shard-kbl: NOTRUN -> [SKIP][32] ([fdo#109271] / [fdo#111827]) +4 similar issues [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_color_chamelium@pipe-b-ctm-0-5.html * igt@kms_content_protection@legacy: - shard-tglb: NOTRUN -> [SKIP][33] ([fdo#111828]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_content_protection@legacy.html * igt@kms_content_protection@uevent: - shard-apl: NOTRUN -> [FAIL][34] ([i915#2105]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@pipe-a-cursor-max-size-rapid-movement: - shard-tglb: NOTRUN -> [SKIP][35] ([i915#3359]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_cursor_crc@pipe-a-cursor-max-size-rapid-movement.html * igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen: - shard-tglb: NOTRUN -> [SKIP][36] ([fdo#109279] / [i915#3359]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-skl: [PASS][37] -> [FAIL][38] ([i915#2346] / [i915#533]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@pipe-d-single-bo: - shard-kbl: NOTRUN -> [SKIP][39] ([fdo#109271] / [i915#533]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_cursor_legacy@pipe-d-single-bo.html * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1: - shard-apl: [PASS][40] -> [DMESG-WARN][41] ([i915#180]) +2 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1: - shard-skl: [PASS][42] -> [FAIL][43] ([i915#2122]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl1/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile: - shard-iclb: [PASS][44] -> [SKIP][45] ([i915#3701]) +1 similar issue [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html * igt@kms_flip_tiling@flip-changes-tiling-yf: - shard-tglb: NOTRUN -> [SKIP][46] ([fdo#111615]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb3/igt@kms_flip_tiling@flip-changes-tiling-yf.html * igt@kms_frontbuffer_tracking@fbc-2p-rte: - shard-skl: NOTRUN -> [SKIP][47] ([fdo#109271]) +23 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_frontbuffer_tracking@fbc-2p-rte.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff: - shard-tglb: NOTRUN -> [SKIP][48] ([fdo#111825]) +5 similar issues [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-tglb: [PASS][49] -> [INCOMPLETE][50] ([i915#2411] / [i915#456]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-suspend.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc: - shard-kbl: NOTRUN -> [SKIP][51] ([fdo#109271]) +60 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d: - shard-skl: NOTRUN -> [SKIP][52] ([fdo#109271] / [i915#533]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min: - shard-skl: NOTRUN -> [FAIL][53] ([fdo#108145] / [i915#265]) +1 similar issue [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: [PASS][54] -> [FAIL][55] ([fdo#108145] / [i915#265]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-kbl: NOTRUN -> [FAIL][56] ([fdo#108145] / [i915#265]) +1 similar issue [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html - shard-apl: NOTRUN -> [FAIL][57] ([fdo#108145] / [i915#265]) +2 similar issues [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4: - shard-apl: NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#658]) +4 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html * igt@kms_psr2_sf@plane-move-sf-dmg-area-3: - shard-skl: NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#658]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [PASS][60] -> [SKIP][61] ([fdo#109441]) +1 similar issue [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb3/igt@kms_psr@psr2_sprite_plane_move.html * igt@kms_vblank@pipe-b-accuracy-idle: - shard-glk: [PASS][62] -> [FAIL][63] ([i915#43]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-glk4/igt@kms_vblank@pipe-b-accuracy-idle.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-glk5/igt@kms_vblank@pipe-b-accuracy-idle.html * igt@kms_vblank@pipe-d-query-forked-hang: - shard-snb: NOTRUN -> [SKIP][64] ([fdo#109271]) +296 similar issues [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-snb6/igt@kms_vblank@pipe-d-query-forked-hang.html * igt@kms_vblank@pipe-d-ts-continuation-idle: - shard-apl: NOTRUN -> [SKIP][65] ([fdo#109271]) +235 similar issues [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_vblank@pipe-d-ts-continuation-idle.html * igt@kms_vblank@pipe-d-wait-idle: - shard-apl: NOTRUN -> [SKIP][66] ([fdo#109271] / [i915#533]) +1 similar issue [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl3/igt@kms_vblank@pipe-d-wait-idle.html * igt@kms_writeback@writeback-check-output: - shard-tglb: NOTRUN -> [SKIP][67] ([i915#2437]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_writeback@writeback-check-output.html * igt@kms_writeback@writeback-invalid-parameters: - shard-apl: NOTRUN -> [SKIP][68] ([fdo#109271] / [i915#2437]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@kms_writeback@writeback-invalid-parameters.html * igt@perf_pmu@module-unload: - shard-skl: [PASS][69] -> [DMESG-WARN][70] ([i915#1982] / [i915#262]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl9/igt@perf_pmu@module-unload.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl2/igt@perf_pmu@module-unload.html * igt@sysfs_clients@busy: - shard-skl: NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#2994]) +1 similar issue [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@sysfs_clients@busy.html * igt@sysfs_clients@fair-1: - shard-kbl: NOTRUN -> [SKIP][72] ([fdo#109271] / [i915#2994]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@sysfs_clients@fair-1.html * igt@sysfs_clients@sema-10: - shard-apl: NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#2994]) +3 similar issues [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl2/igt@sysfs_clients@sema-10.html #### Possible fixes #### * igt@gem_eio@unwedge-stress: - shard-skl: [TIMEOUT][74] ([i915#2369] / [i915#3063]) -> [PASS][75] [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl3/igt@gem_eio@unwedge-stress.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl8/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][76] ([i915#2842]) -> [PASS][77] +1 similar issue [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-glk2/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-kbl: [FAIL][78] ([i915#2842]) -> [PASS][79] [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl1/igt@gem_exec_fair@basic-pace@rcs0.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl2/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_fair@basic-pace@vecs0: - shard-tglb: [FAIL][80] ([i915#2842]) -> [PASS][81] +1 similar issue [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-tglb1/igt@gem_exec_fair@basic-pace@vecs0.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb5/igt@gem_exec_fair@basic-pace@vecs0.html * igt@gem_exec_whisper@basic-fds-forked: - shard-glk: [DMESG-WARN][82] ([i915#118]) -> [PASS][83] +1 similar issue [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-glk6/igt@gem_exec_whisper@basic-fds-forked.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-glk1/igt@gem_exec_whisper@basic-fds-forked.html * igt@gem_workarounds@suspend-resume-context: - shard-apl: [DMESG-WARN][84] ([i915#180]) -> [PASS][85] +1 similar issue [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-apl2/igt@gem_workarounds@suspend-resume-context.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl8/igt@gem_workarounds@suspend-resume-context.html * igt@gen9_exec_parse@allowed-single: - shard-skl: [DMESG-WARN][86] ([i915#1436] / [i915#716]) -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl5/igt@gen9_exec_parse@allowed-single.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@gen9_exec_parse@allowed-single.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-skl: [FAIL][88] ([i915#2346]) -> [PASS][89] [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2: - shard-glk: [FAIL][90] ([i915#79]) -> [PASS][91] [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html * igt@kms_flip@flip-vs-suspend-interruptible@a-edp1: - shard-tglb: [INCOMPLETE][92] ([i915#2411] / [i915#456]) -> [PASS][93] [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-tglb7/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-tglb8/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html * igt@kms_flip@flip-vs-suspend@a-dp1: - shard-kbl: [DMESG-WARN][94] ([i915#180]) -> [PASS][95] +1 similar issue [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl7/igt@kms_flip@flip-vs-suspend@a-dp1.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl4/igt@kms_flip@flip-vs-suspend@a-dp1.html * igt@kms_flip@plain-flip-fb-recreate@c-dp1: - shard-kbl: [FAIL][96] ([i915#2122]) -> [PASS][97] [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl7/igt@kms_flip@plain-flip-fb-recreate@c-dp1.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl1/igt@kms_flip@plain-flip-fb-recreate@c-dp1.html * igt@kms_hdr@bpc-switch-suspend: - shard-skl: [FAIL][98] ([i915#1188]) -> [PASS][99] [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl2/igt@kms_hdr@bpc-switch-suspend.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl5/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_psr@psr2_basic: - shard-iclb: [SKIP][100] ([fdo#109441]) -> [PASS][101] +1 similar issue [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb7/igt@kms_psr@psr2_basic.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb2/igt@kms_psr@psr2_basic.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-apl: [DMESG-WARN][102] ([i915#180] / [i915#295]) -> [PASS][103] [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-apl8/igt@kms_vblank@pipe-a-ts-continuation-suspend.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-apl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html * igt@perf@polling-parameterized: - shard-kbl: [FAIL][104] ([i915#1542]) -> [PASS][105] [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl1/igt@perf@polling-parameterized.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl6/igt@perf@polling-parameterized.html #### Warnings #### * igt@i915_pm_dc@dc9-dpms: - shard-iclb: [SKIP][106] ([i915#4281]) -> [FAIL][107] ([i915#4275]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb8/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rc6_residency@rc6-fence: - shard-iclb: [WARN][108] ([i915#1804] / [i915#2684]) -> [WARN][109] ([i915#2684]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb3/igt@i915_pm_rc6_residency@rc6-fence.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb5/igt@i915_pm_rc6_residency@rc6-fence.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-skl: [FAIL][110] ([i915#79]) -> [FAIL][111] ([i915#2122]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl8/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl9/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_psr2_sf@plane-move-sf-dmg-area-1: - shard-iclb: [SKIP][112] ([i915#658]) -> [SKIP][113] ([i915#2920]) +1 similar issue [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb4/igt@kms_psr2_sf@plane-move-sf-dmg-area-1.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-1.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1: - shard-iclb: [SKIP][114] ([i915#2920]) -> [SKIP][115] ([i915#658]) +2 similar issues [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-iclb3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html * igt@runner@aborted: - shard-kbl: ([FAIL][116], [FAIL][117], [FAIL][118], [FAIL][119]) ([i915#180] / [i915#1814] / [i915#3002] / [i915#3363]) -> ([FAIL][120], [FAIL][121], [FAIL][122]) ([i915#1436] / [i915#180] / [i915#3002] / [i915#3363]) [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl3/igt@runner@aborted.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl1/igt@runner@aborted.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl7/igt@runner@aborted.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-kbl7/igt@runner@aborted.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl2/igt@runner@aborted.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl7/igt@runner@aborted.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-kbl1/igt@runner@aborted.html - shard-skl: ([FAIL][123], [FAIL][124], [FAIL][125]) ([i915#1436] / [i915#3002] / [i915#3363]) -> ([FAIL][126], [FAIL][127]) ([i915#3002] / [i915#3363]) [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl5/igt@runner@aborted.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl3/igt@runner@aborted.html [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10723/shard-skl5/igt@runner@aborted.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl8/igt@runner@aborted.html [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/shard-skl3/igt@runner@aborted.html ### Piglit changes ### #### Issues hit #### * spec@ext_framebuffer_multisample_blit_scaled@blit-scaled samples=2 with gl_texture_2d_multisample_array: - pig-skl-6260u: NOTRUN -> [WARN][128] ([mesa#1797]) +1 similar issue [128]: None [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#111828]: https://bugs.freedesktop.org/show_bug.cgi?id=111828 [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2105]: https://gitlab.freedesktop.org/drm/intel/issues/2105 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369 [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295 [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994 [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002 [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063 [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701 [i915#3722]: https://gitlab.freedesktop.org/drm/intel/issues/3722 [i915#3777]: https://gitlab.freedesktop.org/drm/intel/issues/3777 [i915#3797]: https://gitlab.freedesktop.org/drm/intel/issues/3797 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#4275]: https://gitlab.freedesktop.org/drm/intel/issues/4275 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21320/index.html [-- Attachment #2: Type: text/html, Size: 37801 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays 2021-10-12 14:43 [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays Jani Nikula ` (3 preceding siblings ...) 2021-10-12 20:22 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork @ 2021-10-13 21:22 ` Ville Syrjälä 2021-10-14 8:51 ` Jani Nikula 4 siblings, 1 reply; 8+ messages in thread From: Ville Syrjälä @ 2021-10-13 21:22 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, dri-devel On Tue, Oct 12, 2021 at 05:43:20PM +0300, Jani Nikula wrote: > The link training delays are different and/or available in different > DPCD offsets depending on: > > - Clock recovery vs. channel equalization > - DPRX vs. LTTPR > - 128b/132b vs. 8b/10b > - DPCD 1.4+ vs. earlier > > Add helpers to get the correct delays in us, reading DPCD if > necessary. This is more straightforward than trying to retrofit the > existing helpers to take 128b/132b into account. > > Having to pass in the DPCD receiver cap field seems unavoidable, because > reading it involves checking the revision and reading extended receiver > cap. So unfortunately the interface is mixed cached and read as needed. > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/drm_dp_helper.c | 132 ++++++++++++++++++++++++++++++++ > include/drm/drm_dp_helper.h | 21 ++++- > 2 files changed, 151 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c > index 4d0d1e8e51fa..04ebef7f5aa7 100644 > --- a/drivers/gpu/drm/drm_dp_helper.c > +++ b/drivers/gpu/drm/drm_dp_helper.c > @@ -154,6 +154,138 @@ u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZ > } > EXPORT_SYMBOL(drm_dp_get_adjust_request_post_cursor); > > +static int __8b10b_clock_recovery_delay_us(const struct drm_dp_aux *aux, u8 rd_interval) > +{ > + if (rd_interval > 4) > + drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x (max 4)\n", > + aux->name, rd_interval); > + > + if (rd_interval == 0) > + return 100; > + > + return rd_interval * 4 * USEC_PER_MSEC; > +} > + > +static int __8b10b_channel_eq_delay_us(const struct drm_dp_aux *aux, u8 rd_interval) > +{ > + if (rd_interval > 4) > + drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x (max 4)\n", > + aux->name, rd_interval); > + > + if (rd_interval == 0) > + return 400; > + > + return rd_interval * 4 * USEC_PER_MSEC; > +} Is there a reason you're not reusing these in the existing sleepy functions? Maybe just passing in the dpcd receiver cap all the way would also be nicer since then these functions would do all the work, instead of splitting it partially between these and the caller. Also with the 1.4+ case handled elsewhere there won't be debug spew for illegal values (not sure we care too much though). > + > +static int __128b132b_channel_eq_delay_us(const struct drm_dp_aux *aux, u8 rd_interval) > +{ > + switch (rd_interval) { > + default: > + drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x\n", > + aux->name, rd_interval); > + fallthrough; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_400_US: > + return 400; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_4_MS: > + return 4000; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_8_MS: > + return 8000; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_12_MS: > + return 12000; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_16_MS: > + return 16000; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_32_MS: > + return 32000; > + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_64_MS: > + return 64000; > + } > +} The spec does claim that only 00-06 are legal also for the CR delay. So here too we lose the debug spew if we don' have the CR version of this. > + > +/* > + * The link training delays are different for: > + * > + * - Clock recovery vs. channel equalization > + * - DPRX vs. LTTPR > + * - 128b/132b vs. 8b/10b > + * - DPCD rev 1.3 vs. later > + * > + * Get the correct delay in us, reading DPCD if necessary. > + */ > +static int __read_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], > + enum drm_dp_phy dp_phy, bool uhbr, bool cr) > +{ > + int (*parse)(const struct drm_dp_aux *aux, u8 rd_interval); > + unsigned int offset; > + u8 rd_interval, mask; > + int delay_us; > + > + if (dp_phy == DP_PHY_DPRX) { > + if (uhbr) { > + if (cr) > + return 100; > + > + offset = DP_128B132B_TRAINING_AUX_RD_INTERVAL; > + mask = DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK; > + parse = __128b132b_channel_eq_delay_us; > + } else { > + if (cr && dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14) > + return 100; > + > + offset = DP_TRAINING_AUX_RD_INTERVAL; > + mask = DP_TRAINING_AUX_RD_MASK; > + if (cr) > + parse = __8b10b_clock_recovery_delay_us; > + else > + parse = __8b10b_channel_eq_delay_us; > + } > + } else { > + if (uhbr) { > + offset = DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy); > + mask = DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK; > + parse = __128b132b_channel_eq_delay_us; > + } else { > + if (cr) > + return 100; > + > + offset = DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy); > + mask = DP_TRAINING_AUX_RD_MASK; > + parse = __8b10b_channel_eq_delay_us; > + } > + } > + > + if (offset < DP_RECEIVER_CAP_SIZE) { > + rd_interval = dpcd[offset]; > + } else { > + if (drm_dp_dpcd_readb(aux, offset, &rd_interval) != 1) { > + drm_dbg_kms(aux->drm_dev, "%s: failed rd interval read\n", > + aux->name); > + /* arbitrary default delay */ > + return 400; > + } > + } > + > + delay_us = parse(aux, rd_interval & mask); > + if (delay_us < 0) Is that possible? > + return 0; > + > + return delay_us; > +} > + > +int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], > + enum drm_dp_phy dp_phy, bool uhbr) > +{ > + return __read_delay(aux, dpcd, dp_phy, uhbr, true); > +} > +EXPORT_SYMBOL(drm_dp_read_clock_recovery_delay); > + > +int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], > + enum drm_dp_phy dp_phy, bool uhbr) > +{ > + return __read_delay(aux, dpcd, dp_phy, uhbr, false); > +} > +EXPORT_SYMBOL(drm_dp_read_channel_eq_delay); > + > void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux, > const u8 dpcd[DP_RECEIVER_CAP_SIZE]) > { > diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h > index b52df4db3e8f..afdf7f4183f9 100644 > --- a/include/drm/drm_dp_helper.h > +++ b/include/drm/drm_dp_helper.h > @@ -1114,8 +1114,15 @@ struct drm_panel; > # define DP_UHBR20 (1 << 1) > # define DP_UHBR13_5 (1 << 2) > > -#define DP_128B132B_TRAINING_AUX_RD_INTERVAL 0x2216 /* 2.0 */ > -# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK 0x7f > +#define DP_128B132B_TRAINING_AUX_RD_INTERVAL 0x2216 /* 2.0 */ > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK 0x7f > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_400_US 0x00 > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_4_MS 0x01 > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_8_MS 0x02 > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_12_MS 0x03 > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_16_MS 0x04 > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_32_MS 0x05 > +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_64_MS 0x06 What a wonderful mix of 4*x vs. 2^x. Sticking to one or the other would have made life too easy obviously. But could still use that rule to shorten the switch statement in __128b132b_channel_eq_delay_us() a bit. And for 16ms you could even have some fun flipping a coin to decide on which side it goes :P Anyways, looks mostly about as sane as this stuff can be. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > #define DP_TEST_264BIT_CUSTOM_PATTERN_7_0 0x2230 > #define DP_TEST_264BIT_CUSTOM_PATTERN_263_256 0x2250 > @@ -1389,6 +1396,11 @@ enum drm_dp_phy { > # define DP_VOLTAGE_SWING_LEVEL_3_SUPPORTED BIT(0) > # define DP_PRE_EMPHASIS_LEVEL_3_SUPPORTED BIT(1) > > +#define DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1 0xf0022 /* 2.0 */ > +#define DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy) \ > + DP_LTTPR_REG(dp_phy, DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1) > +/* see DP_128B132B_TRAINING_AUX_RD_INTERVAL for values */ > + > #define DP_LANE0_1_STATUS_PHY_REPEATER1 0xf0030 /* 1.3 */ > #define DP_LANE0_1_STATUS_PHY_REPEATER(dp_phy) \ > DP_LTTPR_REG(dp_phy, DP_LANE0_1_STATUS_PHY_REPEATER1) > @@ -1527,6 +1539,11 @@ u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZ > #define DP_LTTPR_COMMON_CAP_SIZE 8 > #define DP_LTTPR_PHY_CAP_SIZE 3 > > +int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], > + enum drm_dp_phy dp_phy, bool uhbr); > +int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], > + enum drm_dp_phy dp_phy, bool uhbr); > + > void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux, > const u8 dpcd[DP_RECEIVER_CAP_SIZE]); > void drm_dp_lttpr_link_train_clock_recovery_delay(void); > -- > 2.30.2 -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays 2021-10-13 21:22 ` [Intel-gfx] [PATCH 1/2] " Ville Syrjälä @ 2021-10-14 8:51 ` Jani Nikula 0 siblings, 0 replies; 8+ messages in thread From: Jani Nikula @ 2021-10-14 8:51 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx, dri-devel On Thu, 14 Oct 2021, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > On Tue, Oct 12, 2021 at 05:43:20PM +0300, Jani Nikula wrote: >> The link training delays are different and/or available in different >> DPCD offsets depending on: >> >> - Clock recovery vs. channel equalization >> - DPRX vs. LTTPR >> - 128b/132b vs. 8b/10b >> - DPCD 1.4+ vs. earlier >> >> Add helpers to get the correct delays in us, reading DPCD if >> necessary. This is more straightforward than trying to retrofit the >> existing helpers to take 128b/132b into account. >> >> Having to pass in the DPCD receiver cap field seems unavoidable, because >> reading it involves checking the revision and reading extended receiver >> cap. So unfortunately the interface is mixed cached and read as needed. >> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com> >> --- >> drivers/gpu/drm/drm_dp_helper.c | 132 ++++++++++++++++++++++++++++++++ >> include/drm/drm_dp_helper.h | 21 ++++- >> 2 files changed, 151 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c >> index 4d0d1e8e51fa..04ebef7f5aa7 100644 >> --- a/drivers/gpu/drm/drm_dp_helper.c >> +++ b/drivers/gpu/drm/drm_dp_helper.c >> @@ -154,6 +154,138 @@ u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZ >> } >> EXPORT_SYMBOL(drm_dp_get_adjust_request_post_cursor); >> >> +static int __8b10b_clock_recovery_delay_us(const struct drm_dp_aux *aux, u8 rd_interval) >> +{ >> + if (rd_interval > 4) >> + drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x (max 4)\n", >> + aux->name, rd_interval); >> + >> + if (rd_interval == 0) >> + return 100; >> + >> + return rd_interval * 4 * USEC_PER_MSEC; >> +} >> + >> +static int __8b10b_channel_eq_delay_us(const struct drm_dp_aux *aux, u8 rd_interval) >> +{ >> + if (rd_interval > 4) >> + drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x (max 4)\n", >> + aux->name, rd_interval); >> + >> + if (rd_interval == 0) >> + return 400; >> + >> + return rd_interval * 4 * USEC_PER_MSEC; >> +} > > Is there a reason you're not reusing these in the existing sleepy > functions? I decided to see how this flies first, and do that as a follow-up. > Maybe just passing in the dpcd receiver cap all the way > would also be nicer since then these functions would do all the work, > instead of splitting it partially between these and the caller. It's a bit subtle. Checking for dpcd receiver cap in the caller allows early return without the dpcd read in some cases. It's all really unnecessarily complicated how the delays are spread all over the place in dpcd. I couldn't think of a cleaner approach (without a massive dpcd caching rewrite using regmap, anyway ;). > Also with the 1.4+ case handled elsewhere there won't be debug > spew for illegal values (not sure we care too much though). That's subtle too. This leaves out the check when we're not using the value, which seems fine to me. However, the same dpcd offset is used for channel equalization, and that will have the check and debug print. >> + >> +static int __128b132b_channel_eq_delay_us(const struct drm_dp_aux *aux, u8 rd_interval) >> +{ >> + switch (rd_interval) { >> + default: >> + drm_dbg_kms(aux->drm_dev, "%s: invalid AUX interval 0x%02x\n", >> + aux->name, rd_interval); >> + fallthrough; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_400_US: >> + return 400; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_4_MS: >> + return 4000; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_8_MS: >> + return 8000; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_12_MS: >> + return 12000; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_16_MS: >> + return 16000; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_32_MS: >> + return 32000; >> + case DP_128B132B_TRAINING_AUX_RD_INTERVAL_64_MS: >> + return 64000; >> + } >> +} > > The spec does claim that only 00-06 are legal also for the CR delay. > So here too we lose the debug spew if we don' have the CR version > of this. > >> + >> +/* >> + * The link training delays are different for: >> + * >> + * - Clock recovery vs. channel equalization >> + * - DPRX vs. LTTPR >> + * - 128b/132b vs. 8b/10b >> + * - DPCD rev 1.3 vs. later >> + * >> + * Get the correct delay in us, reading DPCD if necessary. >> + */ >> +static int __read_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], >> + enum drm_dp_phy dp_phy, bool uhbr, bool cr) >> +{ >> + int (*parse)(const struct drm_dp_aux *aux, u8 rd_interval); >> + unsigned int offset; >> + u8 rd_interval, mask; >> + int delay_us; >> + >> + if (dp_phy == DP_PHY_DPRX) { >> + if (uhbr) { >> + if (cr) >> + return 100; >> + >> + offset = DP_128B132B_TRAINING_AUX_RD_INTERVAL; >> + mask = DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK; >> + parse = __128b132b_channel_eq_delay_us; >> + } else { >> + if (cr && dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14) >> + return 100; >> + >> + offset = DP_TRAINING_AUX_RD_INTERVAL; >> + mask = DP_TRAINING_AUX_RD_MASK; >> + if (cr) >> + parse = __8b10b_clock_recovery_delay_us; >> + else >> + parse = __8b10b_channel_eq_delay_us; >> + } >> + } else { >> + if (uhbr) { >> + offset = DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy); >> + mask = DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK; >> + parse = __128b132b_channel_eq_delay_us; >> + } else { >> + if (cr) >> + return 100; >> + >> + offset = DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy); >> + mask = DP_TRAINING_AUX_RD_MASK; >> + parse = __8b10b_channel_eq_delay_us; >> + } >> + } >> + >> + if (offset < DP_RECEIVER_CAP_SIZE) { >> + rd_interval = dpcd[offset]; >> + } else { >> + if (drm_dp_dpcd_readb(aux, offset, &rd_interval) != 1) { >> + drm_dbg_kms(aux->drm_dev, "%s: failed rd interval read\n", >> + aux->name); >> + /* arbitrary default delay */ >> + return 400; >> + } >> + } >> + >> + delay_us = parse(aux, rd_interval & mask); >> + if (delay_us < 0) > > Is that possible? It's not, this is leftover from when I thought of return negative errors but decided against it. I'll respin just for this. > >> + return 0; >> + >> + return delay_us; >> +} >> + >> +int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], >> + enum drm_dp_phy dp_phy, bool uhbr) >> +{ >> + return __read_delay(aux, dpcd, dp_phy, uhbr, true); >> +} >> +EXPORT_SYMBOL(drm_dp_read_clock_recovery_delay); >> + >> +int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], >> + enum drm_dp_phy dp_phy, bool uhbr) >> +{ >> + return __read_delay(aux, dpcd, dp_phy, uhbr, false); >> +} >> +EXPORT_SYMBOL(drm_dp_read_channel_eq_delay); >> + >> void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux, >> const u8 dpcd[DP_RECEIVER_CAP_SIZE]) >> { >> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h >> index b52df4db3e8f..afdf7f4183f9 100644 >> --- a/include/drm/drm_dp_helper.h >> +++ b/include/drm/drm_dp_helper.h >> @@ -1114,8 +1114,15 @@ struct drm_panel; >> # define DP_UHBR20 (1 << 1) >> # define DP_UHBR13_5 (1 << 2) >> >> -#define DP_128B132B_TRAINING_AUX_RD_INTERVAL 0x2216 /* 2.0 */ >> -# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK 0x7f >> +#define DP_128B132B_TRAINING_AUX_RD_INTERVAL 0x2216 /* 2.0 */ >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_MASK 0x7f >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_400_US 0x00 >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_4_MS 0x01 >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_8_MS 0x02 >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_12_MS 0x03 >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_16_MS 0x04 >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_32_MS 0x05 >> +# define DP_128B132B_TRAINING_AUX_RD_INTERVAL_64_MS 0x06 > > What a wonderful mix of 4*x vs. 2^x. Sticking to one or the other would > have made life too easy obviously. But could still use that rule to > shorten the switch statement in __128b132b_channel_eq_delay_us() a bit. > And for 16ms you could even have some fun flipping a coin to decide on > which side it goes :P I'm not sure it's worth it to add the arithmetic. (But I really really don't understand why it's so hard to decide on a unit, and add a multiplier in dpcd. Or even reserve 1-2 high bits to choose the unit, and leave the rest for the multiplier. *sigh*.) > Anyways, looks mostly about as sane as this stuff can be. > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Thanks, I'll respin for the return value check. BR, Jani. > >> >> #define DP_TEST_264BIT_CUSTOM_PATTERN_7_0 0x2230 >> #define DP_TEST_264BIT_CUSTOM_PATTERN_263_256 0x2250 >> @@ -1389,6 +1396,11 @@ enum drm_dp_phy { >> # define DP_VOLTAGE_SWING_LEVEL_3_SUPPORTED BIT(0) >> # define DP_PRE_EMPHASIS_LEVEL_3_SUPPORTED BIT(1) >> >> +#define DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1 0xf0022 /* 2.0 */ >> +#define DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER(dp_phy) \ >> + DP_LTTPR_REG(dp_phy, DP_128B132B_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1) >> +/* see DP_128B132B_TRAINING_AUX_RD_INTERVAL for values */ >> + >> #define DP_LANE0_1_STATUS_PHY_REPEATER1 0xf0030 /* 1.3 */ >> #define DP_LANE0_1_STATUS_PHY_REPEATER(dp_phy) \ >> DP_LTTPR_REG(dp_phy, DP_LANE0_1_STATUS_PHY_REPEATER1) >> @@ -1527,6 +1539,11 @@ u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZ >> #define DP_LTTPR_COMMON_CAP_SIZE 8 >> #define DP_LTTPR_PHY_CAP_SIZE 3 >> >> +int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], >> + enum drm_dp_phy dp_phy, bool uhbr); >> +int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], >> + enum drm_dp_phy dp_phy, bool uhbr); >> + >> void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux, >> const u8 dpcd[DP_RECEIVER_CAP_SIZE]); >> void drm_dp_lttpr_link_train_clock_recovery_delay(void); >> -- >> 2.30.2 -- Jani Nikula, Intel Open Source Graphics Center ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-10-14 8:52 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-10-12 14:43 [Intel-gfx] [PATCH 1/2] drm/dp: add helpers to read link training delays Jani Nikula 2021-10-12 14:43 ` [Intel-gfx] [PATCH 2/2] drm/i915/dp: use new link training delay helpers Jani Nikula 2021-10-13 21:26 ` Ville Syrjälä 2021-10-12 15:25 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/dp: add helpers to read link training delays Patchwork 2021-10-12 15:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-10-12 20:22 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2021-10-13 21:22 ` [Intel-gfx] [PATCH 1/2] " Ville Syrjälä 2021-10-14 8:51 ` Jani Nikula
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox