mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 22:08:33 -04:00
drm/xe/pf: Enable per-function engine activity stats
Enable per-function engine activity stats when VF's are enabled
and disable when VF's are disabled
v2: fix commit message
remove reset stats from pf config (Michal)
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250311071759.2117211-4-riana.tauro@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
This commit is contained in:
committed by
Lucas De Marchi
parent
8a4339fe24
commit
bf6cb06c0e
@@ -7,6 +7,7 @@
|
||||
#include "xe_device.h"
|
||||
#include "xe_gt_sriov_pf_config.h"
|
||||
#include "xe_gt_sriov_pf_control.h"
|
||||
#include "xe_guc_engine_activity.h"
|
||||
#include "xe_pci_sriov.h"
|
||||
#include "xe_pm.h"
|
||||
#include "xe_sriov.h"
|
||||
@@ -111,6 +112,20 @@ static void pf_link_vfs(struct xe_device *xe, int num_vfs)
|
||||
}
|
||||
}
|
||||
|
||||
static void pf_engine_activity_stats(struct xe_device *xe, unsigned int num_vfs, bool enable)
|
||||
{
|
||||
struct xe_gt *gt;
|
||||
unsigned int id;
|
||||
int ret = 0;
|
||||
|
||||
for_each_gt(gt, xe, id) {
|
||||
ret = xe_guc_engine_activity_function_stats(>->uc.guc, num_vfs, enable);
|
||||
if (ret)
|
||||
xe_sriov_info(xe, "Failed to %s engine activity function stats (%pe)\n",
|
||||
str_enable_disable(enable), ERR_PTR(ret));
|
||||
}
|
||||
}
|
||||
|
||||
static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
|
||||
@@ -145,6 +160,9 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
|
||||
|
||||
xe_sriov_info(xe, "Enabled %u of %u VF%s\n",
|
||||
num_vfs, total_vfs, str_plural(total_vfs));
|
||||
|
||||
pf_engine_activity_stats(xe, num_vfs, true);
|
||||
|
||||
return num_vfs;
|
||||
|
||||
failed:
|
||||
@@ -168,6 +186,8 @@ static int pf_disable_vfs(struct xe_device *xe)
|
||||
if (!num_vfs)
|
||||
return 0;
|
||||
|
||||
pf_engine_activity_stats(xe, num_vfs, false);
|
||||
|
||||
pci_disable_sriov(pdev);
|
||||
|
||||
pf_reset_vfs(xe, num_vfs);
|
||||
|
||||
Reference in New Issue
Block a user