[PATCH] tests/intel/xe_fault_injection: Use valid pat index
Francois Dugast
francois.dugast at intel.com
Fri Nov 22 14:46:32 UTC 2024
On Thu, Nov 21, 2024 at 08:29:42PM +0000, Jonathan Cavitt wrote:
> As a part of vm_bind_ioctl_check_args, all vm binds that use the
> DRM_XE_VM_BIND_OP_MAP_USERPTR operation must have a coherency mode of
> XE_COH_AT_LEAST_1WAY. This is determined by the pat_index set in the
> bind operation before the bind is performed.
>
> The value is usually set by intel_get_pat_idx_wb, as this is the
> default used in the various xe_vm_bind helper functions (or, more
> specifically, the pat index value DEFAULT_PAT_INDEX is passed, which
> translates to using intel_get_pat_idx_wb to generate the true value sent
> to the ioctl). However, when the ioctl is called manually (through
> igt_ioctl, for example), it is up to the calling test to ensure the pat
> index value is correctly set, and in xe_vm, for example,
> intel_get_pat_idx_wb is used as well to set the pat index.
>
> This step was not done in the simple_vm_bind function in
> xe_fault_injection, so use intel_get_pat_idx_wb to set the pat index.
>
> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3499
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
> CC: Francois Dugast <francois.dugast at intel.com>
> CC: Nirmoy Das <nirmoy.das at intel.com>
Reviewed-by: Francois Dugast <francois.dugast at intel.com>
> ---
> tests/intel/xe_fault_injection.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tests/intel/xe_fault_injection.c b/tests/intel/xe_fault_injection.c
> index 1b29041745..f8d7278caa 100644
> --- a/tests/intel/xe_fault_injection.c
> +++ b/tests/intel/xe_fault_injection.c
> @@ -17,6 +17,7 @@
> #include "igt_device.h"
> #include "igt_kmod.h"
> #include "igt_sysfs.h"
> +#include "intel_pat.h"
> #include "lib/igt_syncobj.h"
> #include "xe/xe_ioctl.h"
> #include "xe/xe_query.h"
> @@ -213,6 +214,7 @@ simple_vm_bind(int fd, uint32_t vm)
> .bind.addr = BO_ADDR,
> .bind.op = DRM_XE_VM_BIND_OP_MAP_USERPTR,
> .bind.flags = 0,
> + .bind.pat_index = intel_get_pat_idx_wb(fd),
> .num_syncs = 1,
> .syncs = (uintptr_t)&syncobj,
> .exec_queue_id = 0,
> --
> 2.43.0
>
More information about the igt-dev
mailing list