]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/pf: Fix VF's scheduling priority reporting
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 16 Apr 2026 13:18:31 +0000 (15:18 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 17 Apr 2026 06:06:36 +0000 (08:06 +0200)
When preparing number of impacted VFs parameter for the reporting
helper function, we wrongly ended with adding +1 (representing PF)
twice, since local variable total_vfs was already adjusted. This
resulted in printing a message that was referring to an invalid VF:

 [] xe ... [drm] PF: Enabled 2 of 24 VFs
 [] xe ... [drm] PF: Tile0: GT0: PF..VF25 provisioned with 0(low) scheduling priority

Fix variable initialization and adjust the loop accordingly.

Fixes: fbbf73a81b84 ("drm/xe/pf: Force new VFs prorities only once")
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Link: https://patch.msgid.link/20260416131831.7302-1-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c

index e112aa148dab341bfeac04d0e4aed2ace1864491..2c9b85b84b1be797eb1696f8807763cb1c80dff7 100644 (file)
@@ -2626,14 +2626,14 @@ u32 xe_gt_sriov_pf_config_get_sched_priority(struct xe_gt *gt, unsigned int vfid
  */
 void xe_gt_sriov_pf_config_force_sched_priority_locked(struct xe_gt *gt, u32 priority)
 {
-       unsigned int total_vfs = 1 + xe_gt_sriov_pf_get_totalvfs(gt);
+       unsigned int total_vfs = xe_gt_sriov_pf_get_totalvfs(gt);
        struct xe_gt_sriov_config *config;
        unsigned int n;
 
        xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt)));
        lockdep_assert_held(xe_gt_sriov_pf_master_mutex(gt));
 
-       for (n = 0; n < total_vfs; n++) {
+       for (n = 0; n <= total_vfs; n++) {
                config = pf_pick_vf_config(gt, VFID(n));
                config->sched_priority = priority;
        }