mirror of
https://github.com/torvalds/linux.git
synced 2026-05-21 21:37:25 +02:00
drm/xe/pf: Don't allow LMEM provisioning if LMTT isn't available on the device
The LMEM provisioning is applicable only on platforms with LMTT. v2: - new commit description - use xe_gt_assert in xe_gt_sriov_pf_config_set_lmem instead return error, - disable pf_lmem_info if LMTT is not available v3: fix condition in xe_gt_assert v4: rebase Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Stuart Summers <stuart.summers@intel.com> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://lore.kernel.org/r/20250513071321.700464-1-piotr.piorkowski@intel.com
This commit is contained in:
parent
16b7e65d29
commit
921ddb37d8
|
|
@ -1520,6 +1520,8 @@ int xe_gt_sriov_pf_config_set_lmem(struct xe_gt *gt, unsigned int vfid, u64 size
|
|||
{
|
||||
int err;
|
||||
|
||||
xe_gt_assert(gt, xe_device_has_lmtt(gt_to_xe(gt)));
|
||||
|
||||
mutex_lock(xe_gt_sriov_pf_master_mutex(gt));
|
||||
if (vfid)
|
||||
err = pf_provision_vf_lmem(gt, vfid, size);
|
||||
|
|
@ -1629,7 +1631,7 @@ int xe_gt_sriov_pf_config_set_fair_lmem(struct xe_gt *gt, unsigned int vfid,
|
|||
xe_gt_assert(gt, num_vfs);
|
||||
xe_gt_assert(gt, !xe_gt_is_media_type(gt));
|
||||
|
||||
if (!IS_DGFX(gt_to_xe(gt)))
|
||||
if (!xe_device_has_lmtt(gt_to_xe(gt)))
|
||||
return 0;
|
||||
|
||||
mutex_lock(xe_gt_sriov_pf_master_mutex(gt));
|
||||
|
|
@ -2163,7 +2165,7 @@ static int pf_validate_vf_config(struct xe_gt *gt, unsigned int vfid)
|
|||
valid_all = valid_all && valid_ggtt;
|
||||
valid_any = valid_any || (valid_ggtt && is_primary);
|
||||
|
||||
if (IS_DGFX(xe)) {
|
||||
if (xe_device_has_lmtt(xe)) {
|
||||
bool valid_lmem = pf_get_vf_config_lmem(primary_gt, vfid);
|
||||
|
||||
valid_any = valid_any || (valid_lmem && is_primary);
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ static void pf_add_config_attrs(struct xe_gt *gt, struct dentry *parent, unsigne
|
|||
if (!xe_gt_is_media_type(gt)) {
|
||||
debugfs_create_file_unsafe(vfid ? "ggtt_quota" : "ggtt_spare",
|
||||
0644, parent, parent, &ggtt_fops);
|
||||
if (IS_DGFX(gt_to_xe(gt)))
|
||||
if (xe_device_has_lmtt(gt_to_xe(gt)))
|
||||
debugfs_create_file_unsafe(vfid ? "lmem_quota" : "lmem_spare",
|
||||
0644, parent, parent, &lmem_fops);
|
||||
}
|
||||
|
|
@ -558,7 +558,7 @@ void xe_gt_sriov_pf_debugfs_register(struct xe_gt *gt, struct dentry *root)
|
|||
drm_debugfs_create_files(pf_ggtt_info,
|
||||
ARRAY_SIZE(pf_ggtt_info),
|
||||
pfdentry, minor);
|
||||
if (IS_DGFX(gt_to_xe(gt)))
|
||||
if (xe_device_has_lmtt(gt_to_xe(gt)))
|
||||
drm_debugfs_create_files(pf_lmem_info,
|
||||
ARRAY_SIZE(pf_lmem_info),
|
||||
pfdentry, minor);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user