Simplify the initialization of qgv points info by extracting the code to initialize the qgv points info from dram info based on the memory type.
v2: rebase after Ville's refactoring Signed-off-by: Vinod Govindapillai <[email protected]> --- drivers/gpu/drm/i915/display/intel_bw.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c index 4557de85fade..6649220d81b4 100644 --- a/drivers/gpu/drm/i915/display/intel_bw.c +++ b/drivers/gpu/drm/i915/display/intel_bw.c @@ -246,12 +246,10 @@ static bool is_y_tile(struct intel_display *display) return !HAS_4TILE(display); } -static int icl_get_qgv_points(struct intel_display *display, - const struct dram_info *dram_info, - struct intel_qgv_info *qi) +static int icl_init_qgv_info(struct intel_display *display, + const struct dram_info *dram_info, + struct intel_qgv_info *qi) { - int i, ret; - qi->num_qgv_points = dram_info->num_qgv_points; qi->num_psf_points = dram_info->num_psf_gv_points; @@ -323,6 +321,18 @@ static int icl_get_qgv_points(struct intel_display *display, qi->max_numchannels = 1; } + return 0; +} + +static int icl_get_qgv_points(struct intel_display *display, + const struct dram_info *dram_info, + struct intel_qgv_info *qi) +{ + int i, ret; + + if (icl_init_qgv_info(display, dram_info, qi)) + return -EINVAL; + if (drm_WARN_ON(display->drm, qi->num_qgv_points > ARRAY_SIZE(qi->points))) qi->num_qgv_points = ARRAY_SIZE(qi->points); -- 2.43.0
