[PATCH] drm/xe: Allocate PF queue size on pow2 boundary

Francois Dugast francois.dugast at intel.com
Thu Jul 3 07:22:38 UTC 2025


On Wed, Jul 02, 2025 at 02:35:11PM -0700, Matthew Brost wrote:
> CIRC_SPACE does not work unless the size argument is a power of 2,
> allocate PF queue size on power of 2 boundary.
> 
> Cc: stable at vger.kernel.org
> Fixes: 3338e4f90c14 ("drm/xe: Use topology to determine page fault queue size")
> Fixes: 29582e0ea75c ("drm/xe: Add page queue multiplier")
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>

This solves the issue I was seeing, thanks.

Reviewed-by: Francois Dugast <francois.dugast at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_gt_pagefault.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c b/drivers/gpu/drm/xe/xe_gt_pagefault.c
> index 3522865c67c9..5a75d56d8558 100644
> --- a/drivers/gpu/drm/xe/xe_gt_pagefault.c
> +++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c
> @@ -419,6 +419,7 @@ static int xe_alloc_pf_queue(struct xe_gt *gt, struct pf_queue *pf_queue)
>  #define PF_MULTIPLIER	8
>  	pf_queue->num_dw =
>  		(num_eus + XE_NUM_HW_ENGINES) * PF_MSG_LEN_DW * PF_MULTIPLIER;
> +	pf_queue->num_dw = roundup_pow_of_two(pf_queue->num_dw);
>  #undef PF_MULTIPLIER
>  
>  	pf_queue->gt = gt;
> -- 
> 2.34.1
> 


More information about the Intel-xe mailing list