[PATCH] drm/xe/eustall: use bitmap_weighted_or() in xe_eu_stall_stream_init()

Yury Norov (NVIDIA) posted 1 patch 1 month, 3 weeks ago
drivers/gpu/drm/xe/xe_eu_stall.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] drm/xe/eustall: use bitmap_weighted_or() in xe_eu_stall_stream_init()
Posted by Yury Norov (NVIDIA) 1 month, 3 weeks ago
Commit 437cb3ded2503 ("cpumask: Introduce cpumask_weighted_or()") added
the new helper, which fits well here. Use it.

Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
---
 drivers/gpu/drm/xe/xe_eu_stall.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index b896b7ff5900..8bd4307afbbd 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -737,9 +737,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
 	u32 vaddr_offset;
 	int ret;
 
-	bitmap_or(all_xecores, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask,
-		  XE_MAX_DSS_FUSE_BITS);
-	num_xecores = bitmap_weight(all_xecores, XE_MAX_DSS_FUSE_BITS);
+	num_xecores = bitmap_weighted_or(all_xecores, gt->fuse_topo.g_dss_mask,
+						      gt->fuse_topo.c_dss_mask,
+						      XE_MAX_DSS_FUSE_BITS);
 	last_xecore = xe_gt_topology_mask_last_dss(all_xecores) + 1;
 
 	max_wait_num_reports = num_data_rows(per_xecore_buf_size * num_xecores);
-- 
2.43.0
Re: [PATCH] drm/xe/eustall: use bitmap_weighted_or() in xe_eu_stall_stream_init()
Posted by Rodrigo Vivi 4 weeks ago
On Mon, Dec 15, 2025 at 07:02:58PM -0500, Yury Norov (NVIDIA) wrote:
> Commit 437cb3ded2503 ("cpumask: Introduce cpumask_weighted_or()") added
> the new helper, which fits well here. Use it.
> 
> Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

(I'm just resending for CI and will merge after the confirmation)

Thanks for the patch and sorry for the delay.

> ---
>  drivers/gpu/drm/xe/xe_eu_stall.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> index b896b7ff5900..8bd4307afbbd 100644
> --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> @@ -737,9 +737,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
>  	u32 vaddr_offset;
>  	int ret;
>  
> -	bitmap_or(all_xecores, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask,
> -		  XE_MAX_DSS_FUSE_BITS);
> -	num_xecores = bitmap_weight(all_xecores, XE_MAX_DSS_FUSE_BITS);
> +	num_xecores = bitmap_weighted_or(all_xecores, gt->fuse_topo.g_dss_mask,
> +						      gt->fuse_topo.c_dss_mask,
> +						      XE_MAX_DSS_FUSE_BITS);
>  	last_xecore = xe_gt_topology_mask_last_dss(all_xecores) + 1;
>  
>  	max_wait_num_reports = num_data_rows(per_xecore_buf_size * num_xecores);
> -- 
> 2.43.0
>
Re: [PATCH] drm/xe/eustall: use bitmap_weighted_or() in xe_eu_stall_stream_init()
Posted by Rodrigo Vivi 3 weeks, 1 day ago
On Fri, Jan 09, 2026 at 11:03:55AM -0500, Rodrigo Vivi wrote:
> On Mon, Dec 15, 2025 at 07:02:58PM -0500, Yury Norov (NVIDIA) wrote:
> > Commit 437cb3ded2503 ("cpumask: Introduce cpumask_weighted_or()") added
> > the new helper, which fits well here. Use it.
> > 
> > Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> (I'm just resending for CI and will merge after the confirmation)

ERROR: modpost: "__bitmap_weighted_or" [drivers/gpu/drm/xe/xe.ko] undefined!

https://patchwork.freedesktop.org/series/159059/

Could you please check and fix this?!

> 
> Thanks for the patch and sorry for the delay.
> 
> > ---
> >  drivers/gpu/drm/xe/xe_eu_stall.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> > index b896b7ff5900..8bd4307afbbd 100644
> > --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> > +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> > @@ -737,9 +737,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> >  	u32 vaddr_offset;
> >  	int ret;
> >  
> > -	bitmap_or(all_xecores, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask,
> > -		  XE_MAX_DSS_FUSE_BITS);
> > -	num_xecores = bitmap_weight(all_xecores, XE_MAX_DSS_FUSE_BITS);
> > +	num_xecores = bitmap_weighted_or(all_xecores, gt->fuse_topo.g_dss_mask,
> > +						      gt->fuse_topo.c_dss_mask,
> > +						      XE_MAX_DSS_FUSE_BITS);
> >  	last_xecore = xe_gt_topology_mask_last_dss(all_xecores) + 1;
> >  
> >  	max_wait_num_reports = num_data_rows(per_xecore_buf_size * num_xecores);
> > -- 
> > 2.43.0
> >
Re: [PATCH] drm/xe/eustall: use bitmap_weighted_or() in xe_eu_stall_stream_init()
Posted by Yury Norov 4 weeks, 1 day ago
Ping?

On Mon, Dec 15, 2025 at 07:02:58PM -0500, Yury Norov (NVIDIA) wrote:
> Commit 437cb3ded2503 ("cpumask: Introduce cpumask_weighted_or()") added
> the new helper, which fits well here. Use it.
> 
> Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
> ---
>  drivers/gpu/drm/xe/xe_eu_stall.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> index b896b7ff5900..8bd4307afbbd 100644
> --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> @@ -737,9 +737,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
>  	u32 vaddr_offset;
>  	int ret;
>  
> -	bitmap_or(all_xecores, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask,
> -		  XE_MAX_DSS_FUSE_BITS);
> -	num_xecores = bitmap_weight(all_xecores, XE_MAX_DSS_FUSE_BITS);
> +	num_xecores = bitmap_weighted_or(all_xecores, gt->fuse_topo.g_dss_mask,
> +						      gt->fuse_topo.c_dss_mask,
> +						      XE_MAX_DSS_FUSE_BITS);
>  	last_xecore = xe_gt_topology_mask_last_dss(all_xecores) + 1;
>  
>  	max_wait_num_reports = num_data_rows(per_xecore_buf_size * num_xecores);
> -- 
> 2.43.0