[PATCH i-g-t 1/5] lib/xe/ioctl: introduce xe_bb_size() helper

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Thu Jan 25 06:06:06 UTC 2024


On Wed, Jan 24, 2024 at 06:07:09PM +0000, Matthew Auld wrote:
> We have a number of tests open coding this, plus some tests lacking any
> handling for the prefetch size, leading to CAT errors due to overfetch
> hitting an invalid page. End goal is to fix all the tests that are
> missing the overfetch handling first, using the new helper, and then
> convert all the places that were open coding this.
> 
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> ---
>  lib/xe/xe_ioctl.c | 6 ++++++
>  lib/xe/xe_ioctl.h | 1 +
>  2 files changed, 7 insertions(+)
> 
> diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
> index d3f9905ee..da2a7af51 100644
> --- a/lib/xe/xe_ioctl.c
> +++ b/lib/xe/xe_ioctl.c
> @@ -51,6 +51,12 @@ uint32_t xe_cs_prefetch_size(int fd)
>  	return 4096;
>  }
>  
> +uint64_t xe_bb_size(int fd, uint64_t reqsize)
> +{
> +	return ALIGN(reqsize + xe_cs_prefetch_size(fd),
> +	             xe_get_default_alignment(fd));
> +}
> +
>  uint32_t xe_vm_create(int fd, uint32_t flags, uint64_t ext)
>  {
>  	struct drm_xe_vm_create create = {
> diff --git a/lib/xe/xe_ioctl.h b/lib/xe/xe_ioctl.h
> index 03932561d..2b30f1d98 100644
> --- a/lib/xe/xe_ioctl.h
> +++ b/lib/xe/xe_ioctl.h
> @@ -18,6 +18,7 @@
>  #define DRM_XE_UFENCE_WAIT_MASK_U64    0xffffffffffffffffu
>  
>  uint32_t xe_cs_prefetch_size(int fd);
> +uint64_t xe_bb_size(int fd, uint64_t reqsize);
>  uint32_t xe_vm_create(int fd, uint32_t flags, uint64_t ext);
>  int  __xe_vm_bind(int fd, uint32_t vm, uint32_t exec_queue, uint32_t bo,
>  		  uint64_t offset, uint64_t addr, uint64_t size, uint32_t op,
> -- 
> 2.43.0
> 

LGTM:

Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>

--
Zbigniew


More information about the igt-dev mailing list