mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 06:49:29 -04:00
drm/xe/bo: Add xe_bo_has_valid_ccs_bb helper
This will allow as to drop ugly IS_VF_CCS_BB_VALID macro. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Link: https://lore.kernel.org/r/20250908123025.747-6-michal.wajdeczko@intel.com
This commit is contained in:
@@ -315,6 +315,21 @@ static inline size_t xe_bo_ccs_pages_start(struct xe_bo *bo)
|
||||
return PAGE_ALIGN(xe_bo_size(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_bo_has_valid_ccs_bb - Check if CCS's BBs were setup for the BO.
|
||||
* @bo: the &xe_bo to check
|
||||
*
|
||||
* The CCS's BBs should only be setup by the driver VF, but it is safe
|
||||
* to call this function also by non-VF driver.
|
||||
*
|
||||
* Return: true iff the CCS's BBs are setup, false otherwise.
|
||||
*/
|
||||
static inline bool xe_bo_has_valid_ccs_bb(struct xe_bo *bo)
|
||||
{
|
||||
return bo->bb_ccs[XE_SRIOV_VF_CCS_READ_CTX] &&
|
||||
bo->bb_ccs[XE_SRIOV_VF_CCS_WRITE_CTX];
|
||||
}
|
||||
|
||||
static inline bool xe_bo_has_pages(struct xe_bo *bo)
|
||||
{
|
||||
if ((bo->ttm.ttm && ttm_tt_is_populated(bo->ttm.ttm)) ||
|
||||
|
||||
@@ -363,7 +363,7 @@ int xe_sriov_vf_ccs_detach_bo(struct xe_bo *bo)
|
||||
|
||||
xe_assert(xe, IS_VF_CCS_READY(xe));
|
||||
|
||||
if (!IS_VF_CCS_BB_VALID(xe, bo))
|
||||
if (!xe_bo_has_valid_ccs_bb(bo))
|
||||
return 0;
|
||||
|
||||
for_each_ccs_rw_ctx(ctx_id) {
|
||||
|
||||
@@ -15,14 +15,6 @@ enum xe_sriov_vf_ccs_rw_ctxs {
|
||||
XE_SRIOV_VF_CCS_CTX_COUNT
|
||||
};
|
||||
|
||||
#define IS_VF_CCS_BB_VALID(xe, bo) ({ \
|
||||
struct xe_device *___xe = (xe); \
|
||||
struct xe_bo *___bo = (bo); \
|
||||
IS_SRIOV_VF(___xe) && \
|
||||
___bo->bb_ccs[XE_SRIOV_VF_CCS_READ_CTX] && \
|
||||
___bo->bb_ccs[XE_SRIOV_VF_CCS_WRITE_CTX]; \
|
||||
})
|
||||
|
||||
struct xe_migrate;
|
||||
struct xe_sa_manager;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user