drm/i915: Program CURSOR_PROGRAM and COEFF_POLARITY for icl+ combo PHYs
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 3 Mar 2025 12:39:52 +0000 (14:39 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Mar 2025 17:01:26 +0000 (19:01 +0200)
Bspec asks us to clear the CURSOR_PROGRAM and COEFF_POLARITY
bits in PORT_TX_DW5 on icl+ combo PHYs. Make it so.

Bspec: 21257, 49291
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250303123952.5669-2-ville.syrjala@linux.intel.com
Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
drivers/gpu/drm/i915/display/intel_ddi.c

index 0964e39..ee41acd 100644 (file)
 #define   TX_TRAINING_EN                       REG_BIT(31)
 #define   TAP2_DISABLE                         REG_BIT(30)
 #define   TAP3_DISABLE                         REG_BIT(29)
+#define   CURSOR_PROGRAM                       REG_BIT(26)
+#define   COEFF_POLARITY                       REG_BIT(25)
 #define   SCALING_MODE_SEL_MASK                        REG_GENMASK(20, 18)
 #define   SCALING_MODE_SEL(x)                  REG_FIELD_PREP(SCALING_MODE_SEL_MASK, (x))
 #define   RTERM_SELECT_MASK                    REG_GENMASK(5, 3)
index 676c182..f38c998 100644 (file)
@@ -1193,7 +1193,8 @@ static void icl_ddi_combo_vswing_program(struct intel_encoder *encoder,
        /* Set PORT_TX_DW5 */
        val = intel_de_read(dev_priv, ICL_PORT_TX_DW5_LN(0, phy));
        val &= ~(SCALING_MODE_SEL_MASK | RTERM_SELECT_MASK |
-                 TAP2_DISABLE | TAP3_DISABLE);
+                COEFF_POLARITY | CURSOR_PROGRAM |
+                TAP2_DISABLE | TAP3_DISABLE);
        val |= SCALING_MODE_SEL(0x2);
        val |= RTERM_SELECT(0x6);
        val |= TAP3_DISABLE;