Encapsulate C20's VS/PE-O's indices in enum snps_c20_vspeo_index. Treat error case as referring to index -1. Refer to it as C20_ERR.
Tables 1-4 are not used at all and are most likely to be zeroed. Refer to them as _C20_unusedN. 5th table is used for any mode below DP 2.0 (exclusive). Refer to it as C20_DP14. 6th table is used for any mode above DP 2.0 (inclusive). Refer to it as C20_DP20. 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 | 8 ++++---- drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h | 12 ++++++++++++ 2 files changed, 16 insertions(+), 4 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 e7c497d31d1a8..2e4177ab55a34 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c +++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c @@ -1786,21 +1786,21 @@ xe3plpd_get_lt_buf_trans(struct intel_encoder *encoder, return intel_get_buf_trans(&xe3plpd_lt_trans_dp14, n_entries); } -static int +static enum snps_c20_vspeo_index snps_c20_compute_index(const struct intel_crtc_state *crtc_state) { if (intel_crtc_has_dp_encoder(crtc_state)) { if (intel_dp_is_uhbr(crtc_state)) - return 5; + return C20_DP20; else - return 4; + return C20_DP14; } 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 C20_ERR; } static enum lt_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 30fafeeaf62f2..e182fbe9590c5 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h +++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h @@ -86,6 +86,18 @@ enum lt_vspeo_index { LT_DP21 }; +enum snps_c20_vspeo_index { + C20_ERR = -1, + + _C20_unused0 = 0, + _C20_unused1, + _C20_unused2, + _C20_unused3, + + C20_DP14 = 4, + C20_DP20 +}; + 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
