diff mbox series

[7/8] drm/i915/mtl: Calculate the correct voltage level from port_clock

Message ID 20231128115138.13238-8-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: cdclk/voltage_level cleanups and fixes | expand

Commit Message

Ville Syrjala Nov. 28, 2023, 11:51 a.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

On MTL we need to bump the voltage level to only 1 (not 2)
when port clock exceeds 594MHz. Make it so.

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

Comments

Gustavo Sousa Dec. 1, 2023, 9:39 p.m. UTC | #1
Quoting Ville Syrjala (2023-11-28 08:51:37-03:00)
>From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
>On MTL we need to bump the voltage level to only 1 (not 2)
>when port clock exceeds 594MHz. Make it so.
>
>Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

>---
> drivers/gpu/drm/i915/display/intel_ddi.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
>index bcfcd7e789f0..dd04bd7b348c 100644
>--- a/drivers/gpu/drm/i915/display/intel_ddi.c
>+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
>@@ -3699,7 +3699,9 @@ static int icl_ddi_min_voltage_level(const struct intel_crtc_state *crtc_state)
> void intel_ddi_compute_min_voltage_level(struct drm_i915_private *dev_priv,
>                                          struct intel_crtc_state *crtc_state)
> {
>-        if (DISPLAY_VER(dev_priv) >= 12)
>+        if (DISPLAY_VER(dev_priv) >= 14)
>+                crtc_state->min_voltage_level = icl_ddi_min_voltage_level(crtc_state);
>+        else if (DISPLAY_VER(dev_priv) >= 12)
>                 crtc_state->min_voltage_level = tgl_ddi_min_voltage_level(crtc_state);
>         else if (IS_JASPERLAKE(dev_priv) || IS_ELKHARTLAKE(dev_priv))
>                 crtc_state->min_voltage_level = jsl_ddi_min_voltage_level(crtc_state);
>-- 
>2.41.0
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index bcfcd7e789f0..dd04bd7b348c 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -3699,7 +3699,9 @@  static int icl_ddi_min_voltage_level(const struct intel_crtc_state *crtc_state)
 void intel_ddi_compute_min_voltage_level(struct drm_i915_private *dev_priv,
 					 struct intel_crtc_state *crtc_state)
 {
-	if (DISPLAY_VER(dev_priv) >= 12)
+	if (DISPLAY_VER(dev_priv) >= 14)
+		crtc_state->min_voltage_level = icl_ddi_min_voltage_level(crtc_state);
+	else if (DISPLAY_VER(dev_priv) >= 12)
 		crtc_state->min_voltage_level = tgl_ddi_min_voltage_level(crtc_state);
 	else if (IS_JASPERLAKE(dev_priv) || IS_ELKHARTLAKE(dev_priv))
 		crtc_state->min_voltage_level = jsl_ddi_min_voltage_level(crtc_state);