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 c7e12b0..cb8f303 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 67351ed..61d2906 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)