Lines Matching +full:enum +full:- +full:as +full:- +full:flags

1 /* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT */
4 * Copyright © 2009-2023 VMware, Inc., Palo Alto, CA., USA
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
82 * DRM_VMW_GET_PARAM - get device information.
85 * Offset to use to map the first page of the FIFO read-only.
124 * enum drm_vmw_handle_type - handle type for ref ioctls
127 enum drm_vmw_handle_type {
149 * DRM_VMW_CREATE_CONTEXT - Create a host context.
171 * DRM_VMW_UNREF_CONTEXT - Create a host context.
175 * in the command stream and shows up as the same context ID on the host.
180 * DRM_VMW_CREATE_SURFACE - Create a host suface.
184 * used directly in the command stream and shows up as the same surface
191 * @flags: Surface flags as understood by the host.
192 * @format: Surface format as understood by the host.
195 * @size_addr: Address of a user-space array of sruct drm_vmw_size
196 * cast to an __u64 for 32-64 bit compatibility.
198 * @shareable: Boolean whether other clients (as identified by file descriptors)
200 * @scanout: Boolean whether the surface is intended to be used as a
208 __u32 flags; member
229 enum drm_vmw_handle_type handle_type;
235 * @width - mip level width
236 * @height - mip level height
237 * @depth - mip level depth
253 * @rep: Output data as described above.
254 * @req: Input data as described above.
266 * DRM_VMW_REF_SURFACE - Reference a host surface.
268 * Puts a reference on a host surface with a give sid, as previously
281 * @rep: Output data as described above.
282 * @req: Input data as described above.
294 * DRM_VMW_UNREF_SURFACE - Unreference a host surface.
315 * @commands: User-space address of a command buffer cast to an __u64.
316 * @command-size: Size in bytes of the command buffer.
317 * @throttle-us: Sleep until software is less than @throttle_us
320 * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an
323 * backwards compatibility, since user-space will always tell the kernel
325 * @flags: Execbuf flags.
342 __u32 flags; member
351 * @mask: Fence flags relevant for this fence object.
354 * seqno. This can be used by user-space to avoid kernel calls to determine
356 * wrap at 32-bit.
358 * so far. This can be used to mark user-space fence objects as signaled, and
360 * @fd: FD associated with the fence, -1 if not exported
361 * @error: This member should've been set to -EFAULT on submission.
363 * error == -EFAULT: Fence communication failed. The host is synchronized.
365 * error != 0 && error != -EFAULT:
394 * The buffer object may stay user-space mapped in the guest at all times,
395 * and is thus suitable for sub-allocation.
439 * @req: Input data as described above.
440 * @rep: Output data as described above.
453 * DRM_VMW_CONTROL_STREAM - Control overlays, aka streams.
483 * @format: Format of the overlay as understood by the host.
499 __u32 flags; member
517 * DRM_VMW_CURSOR_BYPASS - Give extra information about cursor bypass.
527 * @flags: Flags.
538 __u32 flags; member
548 * DRM_VMW_CLAIM_STREAM - Claim a single stream.
567 * DRM_VMW_UNREF_STREAM - Unclaim a stream.
603 * in which case the calls returns -EBUSY. If the wait is restarted,
607 * The flags argument to the DRM_VMW_FENCE_WAIT ioctl indicates what to wait
615 * are available to user-space.
630 * @handle: Fence object handle as returned by the DRM_VMW_EXECBUF ioctl.
636 * @flags: Fence flags to wait on.
648 __s32 flags; member
663 * @handle: Fence object handle as returned by the DRM_VMW_EXECBUF ioctl.
664 * @flags: Fence object flags input to DRM_VMW_FENCE_SIGNALED ioctl
665 * @signaled: Out: Flags signaled.
667 * EXEC flag of user-space fence objects.
675 __u32 flags; member
694 * @handle: Fence object handle as returned by the DRM_VMW_EXECBUF ioctl.
728 * Flags that may be given to the command.
737 * the fence is not supposed to be referenced by user-space.
740 * @flags: A set of flags as defined above.
746 __u32 flags; member
768 * in the same coordinate space as the frame buffer.
769 * @pad64: Unused 64-bit padding.
790 * currently bound as the fb. If there is no dma buffer bound to the fb,
813 * DRM_VMW_UPDATE_LAYOUT - Update layout
837 * DRM_VMW_CREATE_SHADER - Create shader
840 * the shader byte-code.
844 * enum drm_vmw_shader_type - Shader types
846 enum drm_vmw_shader_type {
856 * @size: Size of the byte-code in bytes.
857 * where the shader byte-code starts
859 * shader byte-code
867 enum drm_vmw_shader_type shader_type;
876 * DRM_VMW_UNREF_SHADER - Unreferences a shader
878 * Destroys a user-space reference to a shader, optionally destroying
896 * DRM_VMW_GB_SURFACE_CREATE - Create a host guest-backed surface.
900 * be used as the surface ID in commands referencing the surface.
904 * enum drm_vmw_surface_flags
906 * @drm_vmw_surface_flag_shareable: Deprecated - all userspace surfaces are
914 enum drm_vmw_surface_flags {
924 * @svga3d_flags: SVGA3d surface flags for the device.
927 * @drm_surface_flags Flags as described above.
933 * @array_size Must be zero for non-DX hardware, and if non-zero
934 * svga3d_flags must have proper bind flags setup.
943 enum drm_vmw_surface_flags drm_surface_flags;
976 * @req: Input argument as described above.
977 * @rep: Output argument as described above.
988 * DRM_VMW_GB_SURFACE_REF - Reference a host surface.
990 * Puts a reference on a host surface with a given handle, as previously
1003 * @creq: The data used as input when the surface was created, as described
1005 * @crep: Additional data output when the surface was created, as described
1018 * @req: Input data as described above at "struct drm_vmw_surface_arg"
1019 * @rep: Output data as described above at "struct drm_vmw_gb_surface_ref_rep"
1031 * DRM_VMW_SYNCCPU - Sync a DMA buffer / MOB for CPU access.
1037 * The flags argument indicates how the grab / release operation should be
1042 * enum drm_vmw_synccpu_flags - Synccpu flags:
1046 * for read-only.
1050 * -EBUSY should the buffer be busy.
1055 enum drm_vmw_synccpu_flags {
1063 * enum drm_vmw_synccpu_op - Synccpu operations:
1068 enum drm_vmw_synccpu_op {
1076 * @op: The synccpu operation as described above.
1078 * @flags: Flags as described above.
1081 enum drm_vmw_synccpu_op op;
1082 enum drm_vmw_synccpu_flags flags; member
1089 * DRM_VMW_CREATE_EXTENDED_CONTEXT - Create a host context.
1094 enum drm_vmw_extended_context {
1108 enum drm_vmw_extended_context req;
1114 * DRM_VMW_HANDLE_CLOSE - Close a user-space handle and release its
1136 * DRM_VMW_GB_SURFACE_CREATE_EXT - Create a host guest-backed surface.
1140 * be used as the surface ID in commands referencing the surface.
1147 * enum drm_vmw_surface_version
1150 * svga3d surface flags split into 2, upper half and lower half.
1152 enum drm_vmw_surface_version {
1161 * @svga3d_flags_upper_32_bits: Upper 32 bits of svga3d flags.
1172 enum drm_vmw_surface_version version;
1183 * @req: Input argument as described above.
1184 * @rep: Output argument as described above.
1195 * DRM_VMW_GB_SURFACE_REF_EXT - Reference a host surface.
1197 * Puts a reference on a host surface with a given handle, as previously
1210 * @creq: The data used as input when the surface was created, as described
1212 * @crep: Additional data output when the surface was created, as described
1225 * @req: Input data as described above at "struct drm_vmw_surface_arg"
1226 * @rep: Output data as described above at
1239 * @send: Pointer to user-space msg string (null terminated).
1240 * @receive: Pointer to user-space receive buffer.
1255 * @stat: Pointer to user-space stat-counters array, page-aligned.
1256 * @info: Pointer to user-space counter-infos array, page-aligned.
1257 * @strs: Pointer to user-space stat strings, page-aligned.
1258 * @stat_len: Length in bytes of stat-counters array.
1259 * @info_len: Length in bytes of counter-infos array.
1263 * @id: Output identifier of the produced record; -1 if error.