Use the consolidated HDMI tables before we try to compute them via
algorithm. The reason is that these are the ideal values and even
though the values calculated via the HDMI algorithm are correct but
not always ideal. This is done for C20 and already exists for C10.

Signed-off-by: Suraj Kandpal <[email protected]>
Reviewed-by: Ankit Nautiyal <[email protected]>
---
v1 -> v2: 
- Update commit message (Ankit)
- Change TODO comment line (Ankit)

v2 -> v3
- Fix comment message grammar (Jani)

 drivers/gpu/drm/i915/display/intel_cx0_phy.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c 
b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
index 2c87c58812da..7288065d2461 100644
--- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
@@ -2671,15 +2671,18 @@ static int intel_c20pll_calc_state(const struct 
intel_crtc_state *crtc_state,
        hw_state->cx0pll.use_c10 = false;
        hw_state->cx0pll.lane_count = crtc_state->lane_count;
 
-       /* try computed C20 HDMI tables before using consolidated tables */
-       if (!is_dp)
-               /* TODO: Update SSC state for HDMI as well */
-               err = intel_c20_compute_hdmi_tmds_pll(crtc_state, 
&hw_state->cx0pll.c20);
-
+       /*
+        * Try the ideal C20 HDMI tables before computing them, since the 
calculated
+        * values, although correct, may not be optimal.
+        */
        if (err)
                err = intel_c20pll_calc_state_from_table(crtc_state, encoder,
                                                         &hw_state->cx0pll);
 
+       /* TODO: Update SSC state for HDMI as well */
+       if (!is_dp && err)
+               err = intel_c20_compute_hdmi_tmds_pll(crtc_state, 
&hw_state->cx0pll.c20);
+
        if (err)
                return err;
 
-- 
2.34.1

Reply via email to