mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
drm/xe/vf: Introduce helpers to access GGTT configuration
In upcoming patch we want to separate tile-oriented VF functions from GT-oriented functions and to allow the former access a GGTT configuration stored at GT level we need to provide some helpers. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com> Reviewed-by: Tomasz Lis<tomasz.lis@intel.com> Link: https://lore.kernel.org/r/20250602103325.549-2-michal.wajdeczko@intel.com
This commit is contained in:
parent
28b996ce73
commit
ce2ae1b97a
|
|
@ -561,6 +561,40 @@ u64 xe_gt_sriov_vf_lmem(struct xe_gt *gt)
|
|||
return gt->sriov.vf.self_config.lmem_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_gt_sriov_vf_ggtt - VF GGTT configuration.
|
||||
* @gt: the &xe_gt
|
||||
*
|
||||
* This function is for VF use only.
|
||||
*
|
||||
* Return: size of the GGTT assigned to VF.
|
||||
*/
|
||||
u64 xe_gt_sriov_vf_ggtt(struct xe_gt *gt)
|
||||
{
|
||||
xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
|
||||
xe_gt_assert(gt, gt->sriov.vf.guc_version.major);
|
||||
xe_gt_assert(gt, gt->sriov.vf.self_config.ggtt_size);
|
||||
|
||||
return gt->sriov.vf.self_config.ggtt_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_gt_sriov_vf_ggtt_base - VF GGTT base offset.
|
||||
* @gt: the &xe_gt
|
||||
*
|
||||
* This function is for VF use only.
|
||||
*
|
||||
* Return: base offset of the GGTT assigned to VF.
|
||||
*/
|
||||
u64 xe_gt_sriov_vf_ggtt_base(struct xe_gt *gt)
|
||||
{
|
||||
xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
|
||||
xe_gt_assert(gt, gt->sriov.vf.guc_version.major);
|
||||
xe_gt_assert(gt, gt->sriov.vf.self_config.ggtt_size);
|
||||
|
||||
return gt->sriov.vf.self_config.ggtt_base;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_gt_sriov_vf_ggtt_shift - Return shift in GGTT range due to VF migration
|
||||
* @gt: the &xe_gt struct instance
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ int xe_gt_sriov_vf_query_runtime(struct xe_gt *gt);
|
|||
int xe_gt_sriov_vf_prepare_ggtt(struct xe_gt *gt);
|
||||
int xe_gt_sriov_vf_balloon_ggtt_locked(struct xe_gt *gt);
|
||||
void xe_gt_sriov_vf_deballoon_ggtt_locked(struct xe_gt *gt);
|
||||
s64 xe_gt_sriov_vf_ggtt_shift(struct xe_gt *gt);
|
||||
void xe_gt_sriov_vf_fixup_ggtt_nodes(struct xe_gt *gt, s64 shift);
|
||||
int xe_gt_sriov_vf_notify_resfix_done(struct xe_gt *gt);
|
||||
void xe_gt_sriov_vf_migrated_event_handler(struct xe_gt *gt);
|
||||
|
|
@ -28,6 +27,10 @@ void xe_gt_sriov_vf_migrated_event_handler(struct xe_gt *gt);
|
|||
u32 xe_gt_sriov_vf_gmdid(struct xe_gt *gt);
|
||||
u16 xe_gt_sriov_vf_guc_ids(struct xe_gt *gt);
|
||||
u64 xe_gt_sriov_vf_lmem(struct xe_gt *gt);
|
||||
u64 xe_gt_sriov_vf_ggtt(struct xe_gt *gt);
|
||||
u64 xe_gt_sriov_vf_ggtt_base(struct xe_gt *gt);
|
||||
s64 xe_gt_sriov_vf_ggtt_shift(struct xe_gt *gt);
|
||||
|
||||
u32 xe_gt_sriov_vf_read32(struct xe_gt *gt, struct xe_reg reg);
|
||||
void xe_gt_sriov_vf_write32(struct xe_gt *gt, struct xe_reg reg, u32 val);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user