Encapsulate JSL's VS/PE-O's indices in enum jsl_vspeo_index.

Use index of -1 as an indication of error case. Refer to it as JSL_ERR.

1st VS/PE-O's table is used for external DP. Use it also if eDP does not
use low vswing. Use it as well when eDP uses low vswing but supports
HBR3. Refer to it as JSL_COMBO_DP_DEF.

2nd table is used for eDP using low vswing and supporting HBR2. Refer to
it as JSL_COMBO_EDP_HBR2.

3rd table is used for eDP using low vswing and supporting modes lower
than HBR2. Refer to it as JSL_COMBO_EDP_HBR.

Indices for other tables have not yet been observed to be used as of
now.

Signed-off-by: Michał Grzelak <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c | 12 ++++++------
 drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h |  8 ++++++++
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c 
b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
index a38e74aaca1f7..57923044cfe3d 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
@@ -1786,29 +1786,29 @@ xe3plpd_get_lt_buf_trans(struct intel_encoder *encoder,
                return intel_get_buf_trans(&xe3plpd_lt_trans_dp14, n_entries);
 }
 
-static int
+static enum jsl_vspeo_index
 jsl_compute_index(struct intel_encoder *encoder,
                  const struct intel_crtc_state *crtc_state)
 {
        if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP)) {
                if (use_edp_low_vswing(encoder)) {
                        if (crtc_state->port_clock > 540000)
-                               return 0;
+                               return JSL_COMBO_DP_DEF;
                        else if (crtc_state->port_clock > 270000)
-                               return 2;
+                               return JSL_COMBO_EDP_HBR2;
                        else
-                               return 1;
+                               return JSL_COMBO_EDP_HBR;
                }
        }
 
        if (intel_crtc_has_dp_encoder(crtc_state))
-               return 0;
+               return JSL_COMBO_DP_DEF;
 
        drm_WARN(to_intel_display(crtc_state)->drm, 1,
                 "non-DP (%d) encoder asks to compute VS/PE-O index\n",
                 crtc_state->output_types);
 
-       return -EINVAL;
+       return JSL_ERR;
 }
 
 static enum ehl_vspeo_index
diff --git a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h 
b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
index aa2a47445af76..f2706ab53f6de 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
+++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
@@ -115,6 +115,14 @@ enum ehl_vspeo_index {
        EHL_COMBO_EDP_HBR3
 };
 
+enum jsl_vspeo_index {
+       JSL_ERR = -1,
+
+       JSL_COMBO_DP_DEF = 0,
+       JSL_COMBO_EDP_HBR,
+       JSL_COMBO_EDP_HBR2
+};
+
 bool is_hobl_buf_trans(const struct intel_ddi_buf_trans *table);
 
 void intel_ddi_buf_trans_init(struct intel_encoder *encoder);
-- 
2.45.2

Reply via email to