diff mbox series

[1/9] drm/i915/adl_s: Update PHY_MISC programming

Message ID 20210127041159.136409-2-aditya.swarup@intel.com (mailing list archive)
State New, archived
Headers show
Series Final set of patches for ADLS enabling | expand

Commit Message

Aditya Swarup Jan. 27, 2021, 4:11 a.m. UTC
From: Matt Roper <matthew.d.roper@intel.com>

ADL-S switches up which PHYs are considered a master to other PHYs;
PHY-C is no longer a master, but PHY-D is now.

Bspec: 49291
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>
---
 drivers/gpu/drm/i915/display/intel_combo_phy.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

Comments

Aditya Swarup Jan. 27, 2021, 4:16 a.m. UTC | #1
On 1/26/21 8:11 PM, Aditya Swarup wrote:
> From: Matt Roper <matthew.d.roper@intel.com>
> 
> ADL-S switches up which PHYs are considered a master to other PHYs;
> PHY-C is no longer a master, but PHY-D is now.
> 
> Bspec: 49291
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>

Reviewed-by: Aditya Swarup <aditya.swarup@intel.com>

Aditya

> ---
>  drivers/gpu/drm/i915/display/intel_combo_phy.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> index dd45cbafcf42..c55813c6194a 100644
> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> @@ -187,10 +187,16 @@ static bool has_phy_misc(struct drm_i915_private *i915, enum phy phy)
>  	 * Some platforms only expect PHY_MISC to be programmed for PHY-A and
>  	 * PHY-B and may not even have instances of the register for the
>  	 * other combo PHY's.
> +	 *
> +	 * ADL-S technically has three instances of PHY_MISC, but only requires
> +	 * that we program it for PHY A.
>  	 */
> -	if (IS_JSL_EHL(i915) ||
> -	    IS_ROCKETLAKE(i915) ||
> -	    IS_DG1(i915))
> +
> +	if (IS_ALDERLAKE_S(i915))
> +		return phy == PHY_A;
> +	else if (IS_JSL_EHL(i915) ||
> +		 IS_ROCKETLAKE(i915) ||
> +		 IS_DG1(i915))
>  		return phy < PHY_C;
>  
>  	return true;
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
index dd45cbafcf42..c55813c6194a 100644
--- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
@@ -187,10 +187,16 @@  static bool has_phy_misc(struct drm_i915_private *i915, enum phy phy)
 	 * Some platforms only expect PHY_MISC to be programmed for PHY-A and
 	 * PHY-B and may not even have instances of the register for the
 	 * other combo PHY's.
+	 *
+	 * ADL-S technically has three instances of PHY_MISC, but only requires
+	 * that we program it for PHY A.
 	 */
-	if (IS_JSL_EHL(i915) ||
-	    IS_ROCKETLAKE(i915) ||
-	    IS_DG1(i915))
+
+	if (IS_ALDERLAKE_S(i915))
+		return phy == PHY_A;
+	else if (IS_JSL_EHL(i915) ||
+		 IS_ROCKETLAKE(i915) ||
+		 IS_DG1(i915))
 		return phy < PHY_C;
 
 	return true;