drm/i915/dg2: add DG2+ TRANS_DDI_FUNC_CTL DP 2.0 128b/132b mode
authorJani Nikula <jani.nikula@intel.com>
Thu, 9 Sep 2021 12:51:57 +0000 (15:51 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 20 Sep 2021 15:45:45 +0000 (18:45 +0300)
Unfortunately, the DP 2.0 128b/132b DDI mode selection in the register
conflicts with FDI. Since we have to deal with both meanings in the same
code, for different platforms, clarify the macro name so we don't
forget.

Bspec: 50493
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/260e4da302d47ae50122eb8d517be6ac3ccb15f2.1631191763.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/i915_reg.h

index c7e12b09106fab17df6b40be46623890f54c79e6..cb8f303265a741b845980440741579ed121c5026 100644 (file)
@@ -489,7 +489,7 @@ intel_ddi_transcoder_func_reg_val_get(struct intel_encoder *encoder,
                if (crtc_state->hdmi_high_tmds_clock_ratio)
                        temp |= TRANS_DDI_HIGH_TMDS_CHAR_RATE;
        } else if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_ANALOG)) {
-               temp |= TRANS_DDI_MODE_SELECT_FDI;
+               temp |= TRANS_DDI_MODE_SELECT_FDI_OR_128B132B;
                temp |= (crtc_state->fdi_lanes - 1) << 1;
        } else if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST)) {
                temp |= TRANS_DDI_MODE_SELECT_DP_MST;
@@ -679,7 +679,7 @@ bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
                ret = false;
                break;
 
-       case TRANS_DDI_MODE_SELECT_FDI:
+       case TRANS_DDI_MODE_SELECT_FDI_OR_128B132B:
                ret = type == DRM_MODE_CONNECTOR_VGA;
                break;
 
@@ -3558,7 +3558,7 @@ static void intel_ddi_read_func_ctl(struct intel_encoder *encoder,
                pipe_config->output_types |= BIT(INTEL_OUTPUT_HDMI);
                pipe_config->lane_count = 4;
                break;
-       case TRANS_DDI_MODE_SELECT_FDI:
+       case TRANS_DDI_MODE_SELECT_FDI_OR_128B132B:
                pipe_config->output_types |= BIT(INTEL_OUTPUT_ANALOG);
                break;
        case TRANS_DDI_MODE_SELECT_DP_SST:
index 67351ed5ab5b97b37ccacd734c28924783b0ddaf..61d29068925c469481ea2cef0cee3692db95d01a 100644 (file)
@@ -10173,7 +10173,7 @@ enum skl_power_gate {
 #define  TRANS_DDI_MODE_SELECT_DVI     (1 << 24)
 #define  TRANS_DDI_MODE_SELECT_DP_SST  (2 << 24)
 #define  TRANS_DDI_MODE_SELECT_DP_MST  (3 << 24)
-#define  TRANS_DDI_MODE_SELECT_FDI     (4 << 24)
+#define  TRANS_DDI_MODE_SELECT_FDI_OR_128B132B (4 << 24)
 #define  TRANS_DDI_BPC_MASK            (7 << 20)
 #define  TRANS_DDI_BPC_8               (0 << 20)
 #define  TRANS_DDI_BPC_10              (1 << 20)