diff mbox series

[2/2] drm/i915: Program CURSOR_PROGRAM and COEFF_POLARITY for icl+ combo PHYs

Message ID 20250303123952.5669-2-ville.syrjala@linux.intel.com (mailing list archive)
State New
Headers show
Series [1/2] drm/i915/dp: Reject HBR3 when sink doesn't support TPS4 | expand

Commit Message

Ville Syrjälä March 3, 2025, 12:39 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Bspec asks us to clear the CURSOR_PROGRAM and COEFF_POLARITY
bits in PORT_TX_DW5 on icl+ combo PHYs. Make it so.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_combo_phy_regs.h | 2 ++
 drivers/gpu/drm/i915/display/intel_ddi.c            | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Borah, Chaitanya Kumar March 7, 2025, 5:51 a.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Monday, March 3, 2025 6:10 PM
> To: intel-gfx@lists.freedesktop.org
> Subject: [PATCH 2/2] drm/i915: Program CURSOR_PROGRAM and
> COEFF_POLARITY for icl+ combo PHYs
> 
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Bspec asks us to clear the CURSOR_PROGRAM and COEFF_POLARITY bits in
> PORT_TX_DW5 on icl+ combo PHYs. Make it so.
> 

May be add the Bspec ids - 21257,  49291 but otherwise LGTM.


Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_combo_phy_regs.h | 2 ++
>  drivers/gpu/drm/i915/display/intel_ddi.c            | 3 ++-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
> b/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
> index 0964e392d02c..ee41acdccf4e 100644
> --- a/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
> @@ -133,6 +133,8 @@
>  #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)
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 20fc258a4d6d..307559d4e492 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -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;
> --
> 2.45.3
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h b/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
index 0964e392d02c..ee41acdccf4e 100644
--- a/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
@@ -133,6 +133,8 @@ 
 #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)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 20fc258a4d6d..307559d4e492 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -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;