[PATCH 3/4] squash: remove second hobl bool
José Roberto de Souza
jose.souza at intel.com
Tue Jul 14 22:43:31 UTC 2020
also removing the optional vswing entry
---
drivers/gpu/drm/i915/display/intel_ddi.c | 23 +++++++++++++++----
drivers/gpu/drm/i915/display/intel_ddi.h | 1 +
.../drm/i915/display/intel_display_types.h | 2 +-
.../drm/i915/display/intel_dp_link_training.c | 3 ++-
4 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index cc1947a9f747..8f809ff938d5 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -721,7 +721,6 @@ static const struct cnl_ddi_buf_trans tgl_combo_phy_ddi_translations_edp_hbr2_ho
{ 0x6, 0x7F, 0x3F, 0x00, 0x00 }, /* 1 2 */
{ 0x6, 0x7F, 0x3F, 0x00, 0x00 }, /* 2 0 */
{ 0x6, 0x7F, 0x3F, 0x00, 0x00 }, /* 2 1 */
- { 0x6, 0x7F, 0x3F, 0x00, 0x00 }, /* 3 0 */
};
static bool is_hobl_buf_trans(const struct cnl_ddi_buf_trans *table)
@@ -2397,6 +2396,23 @@ static void cnl_ddi_vswing_sequence(struct intel_encoder *encoder,
intel_de_write(dev_priv, CNL_PORT_TX_DW5_GRP(port), val);
}
+bool intel_ddi_hobl_is_active(struct intel_dp *intel_dp)
+{
+ struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
+ struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+ const struct cnl_ddi_buf_trans *ddi_translations;
+ struct intel_encoder *encoder = &dig_port->base;
+ u32 n_entries;
+
+ if (INTEL_GEN(dev_priv) < 12 || encoder->type != INTEL_OUTPUT_EDP)
+ return false;
+
+ ddi_translations = tgl_get_combo_buf_trans(encoder, encoder->type,
+ intel_dp->link_rate,
+ &n_entries);
+ return is_hobl_buf_trans(ddi_translations);
+}
+
static void icl_ddi_combo_vswing_program(struct intel_encoder *encoder,
u32 level, int type, int rate)
{
@@ -2426,12 +2442,9 @@ static void icl_ddi_combo_vswing_program(struct intel_encoder *encoder,
}
if (type == INTEL_OUTPUT_EDP) {
- struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
-
val = EDP4K2K_MODE_OVRD_EN | EDP4K2K_MODE_OVRD_OPTIMIZED;
- intel_dp->hobl_active = is_hobl_buf_trans(ddi_translations);
intel_de_rmw(dev_priv, ICL_PORT_CL_DW10(phy), val,
- intel_dp->hobl_active ? val : 0);
+ is_hobl_buf_trans(ddi_translations) ? val : 0);
}
/* Set PORT_TX_DW5 */
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.h b/drivers/gpu/drm/i915/display/intel_ddi.h
index 077e9dbbe367..1b292557cfa4 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.h
+++ b/drivers/gpu/drm/i915/display/intel_ddi.h
@@ -45,5 +45,6 @@ u32 ddi_signal_levels(struct intel_dp *intel_dp);
int intel_ddi_toggle_hdcp_signalling(struct intel_encoder *intel_encoder,
bool enable);
void icl_sanitize_encoder_pll_mapping(struct intel_encoder *encoder);
+bool intel_ddi_hobl_is_active(struct intel_dp *intel_dp);
#endif /* __INTEL_DDI_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 5e6634b55e84..2112124d43c9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1376,7 +1376,7 @@ struct intel_dp {
/* Display stream compression testing */
bool force_dsc_en;
- u8 hobl_failed : 1, hobl_active : 1;
+ bool hobl_failed;
};
enum lspcon_vendor {
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 f2c8b56be9ea..1fbc2917d2a7 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -21,6 +21,7 @@
* IN THE SOFTWARE.
*/
+#include "intel_ddi.h"
#include "intel_display_types.h"
#include "intel_dp.h"
#include "intel_dp_link_training.h"
@@ -411,7 +412,7 @@ intel_dp_start_link_train(struct intel_dp *intel_dp)
intel_connector->base.name,
intel_dp->link_rate, intel_dp->lane_count);
- if (intel_dp->hobl_active) {
+ if (intel_ddi_hobl_is_active(intel_dp)) {
drm_dbg_kms(&dp_to_i915(intel_dp)->drm,
"Link Training failed with HOBL active, not enabling it from now on");
intel_dp->hobl_failed = true;
--
2.27.0
More information about the Intel-gfx-trybot
mailing list