*
* The @flags can be:
* - %DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER - For user to query special offset
- * for use in mmap ioctl. Writing to the returned mmap address will generate a
- * PCI memory barrier with low overhead (avoiding IOCTL call as well as writing
- * to VRAM which would also add overhead), acting like an MI_MEM_FENCE
- * instruction.
+ * for use in mmap ioctl. Writing to the returned mmap address will generate a
+ * PCI memory barrier with low overhead (avoiding IOCTL call as well as writing
+ * to VRAM which would also add overhead), acting like an MI_MEM_FENCE
+ * instruction.
*
- * Note: The mmap size can be at most 4K, due to HW limitations. As a result
- * this interface is only supported on CPU architectures that support 4K page
- * size. The mmap_offset ioctl will detect this and gracefully return an
- * error, where userspace is expected to have a different fallback method for
- * triggering a barrier.
+ * Note: The mmap size can be at most 4K, due to HW limitations. As a result
+ * this interface is only supported on CPU architectures that support 4K page
+ * size. The mmap_offset ioctl will detect this and gracefully return an
+ * error, where userspace is expected to have a different fallback method for
+ * triggering a barrier.
*
- * Roughly the usage would be as follows:
+ * Roughly the usage would be as follows:
*
- * .. code-block:: C
+ * .. code-block:: C
*
- * struct drm_xe_gem_mmap_offset mmo = {
- * .handle = 0, // must be set to 0
- * .flags = DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER,
- * };
+ * struct drm_xe_gem_mmap_offset mmo = {
+ * .handle = 0, // must be set to 0
+ * .flags = DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER,
+ * };
*
- * err = ioctl(fd, DRM_IOCTL_XE_GEM_MMAP_OFFSET, &mmo);
- * map = mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, mmo.offset);
- * map[i] = 0xdeadbeaf; // issue barrier
+ * err = ioctl(fd, DRM_IOCTL_XE_GEM_MMAP_OFFSET, &mmo);
+ * map = mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, mmo.offset);
+ * map[i] = 0xdeadbeaf; // issue barrier
*/
struct drm_xe_gem_mmap_offset {
/** @extensions: Pointer to the first extension struct, if any */