On Sun, Mar 01, 2026 at 08:11:58PM -0500, Yury Norov wrote: > The function calls bitmap_or() immediately followed by bitmap_weight(). > Switch to using the dedicated bitmap_weighted_or() and save one bitmap > traverse. > > Signed-off-by: Yury Norov <[email protected]>
Reviewed-by: Matthew Brost <[email protected]> > --- > drivers/gpu/drm/xe/xe_pagefault.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_pagefault.c > b/drivers/gpu/drm/xe/xe_pagefault.c > index 6bee53d6ffc3..c4ce3cfe2164 100644 > --- a/drivers/gpu/drm/xe/xe_pagefault.c > +++ b/drivers/gpu/drm/xe/xe_pagefault.c > @@ -285,10 +285,9 @@ static int xe_pagefault_queue_init(struct xe_device *xe, > xe_dss_mask_t all_dss; > int num_dss, num_eus; > > - bitmap_or(all_dss, gt->fuse_topo.g_dss_mask, > + num_dss = bitmap_weighted_or(all_dss, gt->fuse_topo.g_dss_mask, > gt->fuse_topo.c_dss_mask, XE_MAX_DSS_FUSE_BITS); > > - num_dss = bitmap_weight(all_dss, XE_MAX_DSS_FUSE_BITS); > num_eus = bitmap_weight(gt->fuse_topo.eu_mask_per_dss, > XE_MAX_EU_FUSE_BITS) * num_dss; > > -- > 2.43.0 >
