From 3c6862a39f5c760165c848713a0d0c2689e4a8ee Mon Sep 17 00:00:00 2001 From: Vinod Govindapillai Date: Mon, 15 Jun 2026 23:33:54 +0300 Subject: [PATCH] drm/i915/bw: avoid replicating the update_sagv_status() calls Now that SAGV status update is consolidated, need to update the SAGV status based on the number of QGV points only once after bw info initialization is done. v2: patch description updated. Signed-off-by: Vinod Govindapillai Reviewed-by: Suraj Kandpal Link: https://patch.msgid.link/20260615203355.218578-7-vinod.govindapillai@intel.com --- drivers/gpu/drm/i915/display/intel_bw.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c index 0d89f64db848..db2ee9de5eec 100644 --- a/drivers/gpu/drm/i915/display/intel_bw.c +++ b/drivers/gpu/drm/i915/display/intel_bw.c @@ -593,8 +593,6 @@ static int icl_get_bw_info(struct intel_display *display, } } - update_sagv_status(display, display->bw.num_qgv_points); - return 0; } @@ -705,8 +703,6 @@ static int tgl_get_bw_info(struct intel_display *display, drm_dbg_kms(display->drm, "PSF GV %d: bw=%u\n", i, display->bw.psf_bw[i]); } - update_sagv_status(display, display->bw.num_qgv_points); - return 0; } @@ -726,8 +722,6 @@ static void dg2_get_bw_info(struct intel_display *display) /* Bandwidth does not depend on # of planes; set all groups the same */ for (i = 1; i < ARRAY_SIZE(display->bw.max); i++) display->bw.max[i] = display->bw.max[0]; - - update_sagv_status(display, display->bw.num_qgv_points); } static int xe2_hpd_get_bw_info(struct intel_display *display, @@ -775,7 +769,6 @@ static int xe2_hpd_get_bw_info(struct intel_display *display, * battery and plugged-in operation. */ drm_WARN_ON(display->drm, qi.num_qgv_points != 2); - update_sagv_status(display, display->bw.num_qgv_points); return 0; } @@ -876,6 +869,8 @@ void intel_bw_init_hw(struct intel_display *display) } else if (DISPLAY_VER(display) == 11) { icl_get_bw_info(display, dram_info, soc_bw_params, display_bw_params); } + + update_sagv_status(display, display->bw.num_qgv_points); } static unsigned int intel_bw_num_active_planes(struct intel_display *display,