Message ID | 20210125140753.347998-5-aditya.swarup@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Alderlake-S platform enabling patches | expand |
On Mon, Jan 25, 2021 at 06:07:47AM -0800, Aditya Swarup wrote: >From: Anusha Srivatsa <anusha.srivatsa@intel.com> > >Alderlake-S has 5 combo phys, add reg definitions for >combo phys and update the port to phy helper for ADL-S. > >v2: >- Change IS_GEN() >= 12 to IS_TIGERLAKE() in intel_phy_is_tc() >and return false for platforms RKL,DG1 and ADLS.(mdroper) changelog here is missing v3: fix intel_phy_is_tc breakage for DG1 but only for completeness... I remembered there was an issue in this patch but I was not finding what it was and went to check. This one lgtm Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Lucas De Marchi > >Cc: Lucas De Marchi <lucas.demarchi@intel.com> >Cc: Jani Nikula <jani.nikula@intel.com> >Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> >Cc: Imre Deak <imre.deak@intel.com> >Cc: Matt Roper <matthew.d.roper@intel.com> >Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> >Signed-off-by: Aditya Swarup <aditya.swarup@intel.com> >Reviewed-by: Matt Roper <matthew.d.roper@intel.com> >--- > drivers/gpu/drm/i915/display/intel_display.c | 12 +++++++----- > drivers/gpu/drm/i915/i915_reg.h | 5 ++++- > 2 files changed, 11 insertions(+), 6 deletions(-) > >diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c >index 7ec7d94b8cdb..acf06feffd3e 100644 >--- a/drivers/gpu/drm/i915/display/intel_display.c >+++ b/drivers/gpu/drm/i915/display/intel_display.c >@@ -5668,6 +5668,8 @@ bool intel_phy_is_combo(struct drm_i915_private *dev_priv, enum phy phy) > { > if (phy == PHY_NONE) > return false; >+ else if (IS_ALDERLAKE_S(dev_priv)) >+ return phy <= PHY_E; > else if (IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv)) > return phy <= PHY_D; > else if (IS_JSL_EHL(dev_priv)) >@@ -5680,11 +5682,9 @@ bool intel_phy_is_combo(struct drm_i915_private *dev_priv, enum phy phy) > > bool intel_phy_is_tc(struct drm_i915_private *dev_priv, enum phy phy) > { >- if (IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv)) >- return false; >- else if (INTEL_GEN(dev_priv) >= 12) >+ if (IS_TIGERLAKE(dev_priv)) > return phy >= PHY_D && phy <= PHY_I; >- else if (INTEL_GEN(dev_priv) >= 11 && !IS_JSL_EHL(dev_priv)) >+ else if (IS_ICELAKE(dev_priv)) > return phy >= PHY_C && phy <= PHY_F; > else > return false; >@@ -5692,7 +5692,9 @@ bool intel_phy_is_tc(struct drm_i915_private *dev_priv, enum phy phy) > > enum phy intel_port_to_phy(struct drm_i915_private *i915, enum port port) > { >- if ((IS_DG1(i915) || IS_ROCKETLAKE(i915)) && port >= PORT_TC1) >+ if (IS_ALDERLAKE_S(i915) && port >= PORT_TC1) >+ return PHY_B + port - PORT_TC1; >+ else if ((IS_DG1(i915) || IS_ROCKETLAKE(i915)) && port >= PORT_TC1) > return PHY_C + port - PORT_TC1; > else if (IS_JSL_EHL(i915) && port == PORT_D) > return PHY_A; >diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h >index 8b9bbc6bacb1..0fe499840b82 100644 >--- a/drivers/gpu/drm/i915/i915_reg.h >+++ b/drivers/gpu/drm/i915/i915_reg.h >@@ -1874,10 +1874,13 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg) > #define _ICL_COMBOPHY_B 0x6C000 > #define _EHL_COMBOPHY_C 0x160000 > #define _RKL_COMBOPHY_D 0x161000 >+#define _ADL_COMBOPHY_E 0x16B000 >+ > #define _ICL_COMBOPHY(phy) _PICK(phy, _ICL_COMBOPHY_A, \ > _ICL_COMBOPHY_B, \ > _EHL_COMBOPHY_C, \ >- _RKL_COMBOPHY_D) >+ _RKL_COMBOPHY_D, \ >+ _ADL_COMBOPHY_E) > > /* CNL/ICL Port CL_DW registers */ > #define _ICL_PORT_CL_DW(dw, phy) (_ICL_COMBOPHY(phy) + \ >-- >2.27.0 > >_______________________________________________ >Intel-gfx mailing list >Intel-gfx@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 7ec7d94b8cdb..acf06feffd3e 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -5668,6 +5668,8 @@ bool intel_phy_is_combo(struct drm_i915_private *dev_priv, enum phy phy) { if (phy == PHY_NONE) return false; + else if (IS_ALDERLAKE_S(dev_priv)) + return phy <= PHY_E; else if (IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv)) return phy <= PHY_D; else if (IS_JSL_EHL(dev_priv)) @@ -5680,11 +5682,9 @@ bool intel_phy_is_combo(struct drm_i915_private *dev_priv, enum phy phy) bool intel_phy_is_tc(struct drm_i915_private *dev_priv, enum phy phy) { - if (IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv)) - return false; - else if (INTEL_GEN(dev_priv) >= 12) + if (IS_TIGERLAKE(dev_priv)) return phy >= PHY_D && phy <= PHY_I; - else if (INTEL_GEN(dev_priv) >= 11 && !IS_JSL_EHL(dev_priv)) + else if (IS_ICELAKE(dev_priv)) return phy >= PHY_C && phy <= PHY_F; else return false; @@ -5692,7 +5692,9 @@ bool intel_phy_is_tc(struct drm_i915_private *dev_priv, enum phy phy) enum phy intel_port_to_phy(struct drm_i915_private *i915, enum port port) { - if ((IS_DG1(i915) || IS_ROCKETLAKE(i915)) && port >= PORT_TC1) + if (IS_ALDERLAKE_S(i915) && port >= PORT_TC1) + return PHY_B + port - PORT_TC1; + else if ((IS_DG1(i915) || IS_ROCKETLAKE(i915)) && port >= PORT_TC1) return PHY_C + port - PORT_TC1; else if (IS_JSL_EHL(i915) && port == PORT_D) return PHY_A; diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 8b9bbc6bacb1..0fe499840b82 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -1874,10 +1874,13 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg) #define _ICL_COMBOPHY_B 0x6C000 #define _EHL_COMBOPHY_C 0x160000 #define _RKL_COMBOPHY_D 0x161000 +#define _ADL_COMBOPHY_E 0x16B000 + #define _ICL_COMBOPHY(phy) _PICK(phy, _ICL_COMBOPHY_A, \ _ICL_COMBOPHY_B, \ _EHL_COMBOPHY_C, \ - _RKL_COMBOPHY_D) + _RKL_COMBOPHY_D, \ + _ADL_COMBOPHY_E) /* CNL/ICL Port CL_DW registers */ #define _ICL_PORT_CL_DW(dw, phy) (_ICL_COMBOPHY(phy) + \