drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask

Last enabled DSS in a DSS mask can help estimate the maximum DSSes enabled
in the DSS mask, as the enabled DSSes can be discontiguous.

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/79944bb27eb4f7ce5df01f964aebbf431b3a6c61.1740533885.git.harish.chegondi@intel.com
This commit is contained in:
Harish Chegondi 2025-02-25 17:47:05 -08:00 committed by Ashutosh Dixit
parent 1a7460a197
commit a2d6f86bbc

View File

@ -25,6 +25,19 @@ void xe_gt_topology_init(struct xe_gt *gt);
void xe_gt_topology_dump(struct xe_gt *gt, struct drm_printer *p);
/**
* xe_gt_topology_mask_last_dss() - Returns the index of the last DSS in a mask.
* @mask: Input DSS mask
*
* Return: Index of the last DSS in the input DSS mask,
* XE_MAX_DSS_FUSE_BITS if DSS mask is empty.
*/
static inline unsigned int
xe_gt_topology_mask_last_dss(const xe_dss_mask_t mask)
{
return find_last_bit(mask, XE_MAX_DSS_FUSE_BITS);
}
unsigned int
xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum);