mesa/src/intel/vulkan/xe
Juston Li 9afe29153d anv: xe: fully initialize drm_xe_sync addr/handle union
The handle and addr fields of drm_xe_sync is defined as the union:

union {
   __u32 handle;
   __u64 addr;
};

When initialized on the stack on certain implementations, setting
.handle will leave the upper bits of .addr/the overall union
uninitialized causing exec calls to fail with:

[drm:xe_sync_entry_parse [xe]] Ioctl argument check failed at drivers/gpu/drm/xe/xe_sync.c:136: upper_32_bits(sync_in.addr)

Somewhat awkward but init .addr first to 0 and then set the handle after
the struct init.

Cc: stable
Signed-off-by: Juston Li <justonli@google.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33172>
2025-02-02 21:34:45 -08:00
..
anv_batch_chain.c anv: xe: fully initialize drm_xe_sync addr/handle union 2025-02-02 21:34:45 -08:00
anv_batch_chain.h anv: make device initialization more asynchronous 2024-06-13 08:29:25 +00:00
anv_device.c anv: don't expose the compressed memory types when DEBUG_NO_CCS 2024-08-05 18:36:46 +00:00
anv_device.h anv: hide exec_flags selection inside the i915 backend 2023-07-13 17:12:26 +00:00
anv_kmd_backend.c anv: xe: fully initialize drm_xe_sync addr/handle union 2025-02-02 21:34:45 -08:00
anv_queue.c anv/xe: Bind queue per anv_queue 2025-01-14 14:39:53 +00:00
anv_queue.h anv: Optimize vkQueueWaitIdle() on Xe KMD 2024-09-19 23:12:45 +00:00