History

Merge drm/drm-next into drm-xe-next

Bring changes from drm-misc-next that got merged in drm-next back to drm-xe so they can be used for additional features.

Lucas De Marchi committed 2 years ago

Commit fbb94402 parents 0f688c0 9ac4beb1429 files · +25588 −11642Browse files

Showing the changes to include/uapi/drm (6 of 1429 files). Show all

Unified · Split

6 files
  1. include/uapi/drm/amdgpu_drm.h +2 −0
  2. include/uapi/drm/i915_drm.h +12 −0
  3. include/uapi/drm/ivpu_accel.h +20 −5
  4. include/uapi/drm/nouveau_drm.h +27 −29
  5. include/uapi/drm/qaic_accel.h +1 −12
  6. include/uapi/drm/vmwgfx_drm.h +4 −2
include/uapi/drm/amdgpu_drm.h+2−0
@@ -865,6 +865,8 @@ struct drm_amdgpu_cs_chunk_cp_gfx_shadow { · 864 unmodified lines
865865 #define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_SCLK 0xa
866866 /* Subquery id: Query GPU peak pstate memory clock */
867867 #define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_MCLK 0xb
868+ /* Subquery id: Query input GPU power */
869+ #define AMDGPU_INFO_SENSOR_GPU_INPUT_POWER 0xc
868870 /* Number of VRAM page faults on CPU access. */
869871 #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E
870872 #define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F
include/uapi/drm/i915_drm.h+12−0
@@ -3013,6 +3013,7 @@ struct drm_i915_query_item { · 3012 unmodified lines
30133013 * - %DRM_I915_QUERY_MEMORY_REGIONS (see struct drm_i915_query_memory_regions)
30143014 * - %DRM_I915_QUERY_HWCONFIG_BLOB (see `GuC HWCONFIG blob uAPI`)
30153015 * - %DRM_I915_QUERY_GEOMETRY_SUBSLICES (see struct drm_i915_query_topology_info)
3016+ * - %DRM_I915_QUERY_GUC_SUBMISSION_VERSION (see struct drm_i915_query_guc_submission_version)
30163017 */
30173018 __u64 query_id;
30183019 #define DRM_I915_QUERY_TOPOLOGY_INFO 1
@@ -3021,6 +3022,7 @@ struct drm_i915_query_item { · 2 unmodified lines
30213022 #define DRM_I915_QUERY_MEMORY_REGIONS 4
30223023 #define DRM_I915_QUERY_HWCONFIG_BLOB 5
30233024 #define DRM_I915_QUERY_GEOMETRY_SUBSLICES 6
3025+#define DRM_I915_QUERY_GUC_SUBMISSION_VERSION 7
30243026 /* Must be kept compact -- no holes and well documented */
30253027
30263028 /**
@@ -3566,6 +3568,16 @@ struct drm_i915_query_memory_regions { · 539 unmodified lines
35663568 struct drm_i915_memory_region_info regions[];
35673569 };
35683570
3571+/**
3572+ * struct drm_i915_query_guc_submission_version - query GuC submission interface version
3573+ */
3574+struct drm_i915_query_guc_submission_version {
3575+ __u32 branch;
3576+ __u32 major;
3577+ __u32 minor;
3578+ __u32 patch;
3579+};
3580+
35693581 /**
35703582 * DOC: GuC HWCONFIG blob uAPI
35713583 *
include/uapi/drm/ivpu_accel.h+20−5
@@ -53,7 +53,7 @@ extern "C" { · 52 unmodified lines
5353 #define DRM_IVPU_PARAM_CORE_CLOCK_RATE 3
5454 #define DRM_IVPU_PARAM_NUM_CONTEXTS 4
5555 #define DRM_IVPU_PARAM_CONTEXT_BASE_ADDRESS 5
56−#define DRM_IVPU_PARAM_CONTEXT_PRIORITY 6
56+#define DRM_IVPU_PARAM_CONTEXT_PRIORITY 6 /* Deprecated */
5757 #define DRM_IVPU_PARAM_CONTEXT_ID 7
5858 #define DRM_IVPU_PARAM_FW_API_VERSION 8
5959 #define DRM_IVPU_PARAM_ENGINE_HEARTBEAT 9
@@ -64,11 +64,18 @@ extern "C" { · 4 unmodified lines
6464
6565 #define DRM_IVPU_PLATFORM_TYPE_SILICON 0
6666
67+/* Deprecated, use DRM_IVPU_JOB_PRIORITY */
6768 #define DRM_IVPU_CONTEXT_PRIORITY_IDLE 0
6869 #define DRM_IVPU_CONTEXT_PRIORITY_NORMAL 1
6970 #define DRM_IVPU_CONTEXT_PRIORITY_FOCUS 2
7071 #define DRM_IVPU_CONTEXT_PRIORITY_REALTIME 3
7172
73+#define DRM_IVPU_JOB_PRIORITY_DEFAULT 0
74+#define DRM_IVPU_JOB_PRIORITY_IDLE 1
75+#define DRM_IVPU_JOB_PRIORITY_NORMAL 2
76+#define DRM_IVPU_JOB_PRIORITY_FOCUS 3
77+#define DRM_IVPU_JOB_PRIORITY_REALTIME 4
78+
7279 /**
7380 * DRM_IVPU_CAP_METRIC_STREAMER
7481 *
@@ -112,10 +119,6 @@ struct drm_ivpu_param { · 37 unmodified lines
112119 * %DRM_IVPU_PARAM_CONTEXT_BASE_ADDRESS:
113120 * Lowest VPU virtual address available in the current context (read-only)
114121 *
115− * %DRM_IVPU_PARAM_CONTEXT_PRIORITY:
116− * Value of current context scheduling priority (read-write).
117− * See DRM_IVPU_CONTEXT_PRIORITY_* for possible values.
118− *
119122 * %DRM_IVPU_PARAM_CONTEXT_ID:
120123 * Current context ID, always greater than 0 (read-only)
121124 *
@@ -286,6 +289,18 @@ struct drm_ivpu_submit { · 164 unmodified lines
286289 * to be executed. The offset has to be 8-byte aligned.
287290 */
288291 __u32 commands_offset;
292+
293+ /**
294+ * @priority:
295+ *
296+ * Priority to be set for related job command queue, can be one of the following:
297+ * %DRM_IVPU_JOB_PRIORITY_DEFAULT
298+ * %DRM_IVPU_JOB_PRIORITY_IDLE
299+ * %DRM_IVPU_JOB_PRIORITY_NORMAL
300+ * %DRM_IVPU_JOB_PRIORITY_FOCUS
301+ * %DRM_IVPU_JOB_PRIORITY_REALTIME
302+ */
303+ __u32 priority;
289304 };
290305
291306 /* drm_ivpu_bo_wait job status codes */
include/uapi/drm/nouveau_drm.h+27−29
@@ -238,34 +238,32 @@ struct drm_nouveau_vm_init { · 237 unmodified lines
238238 struct drm_nouveau_vm_bind_op {
239239 /**
240240 * @op: the operation type
241+ *
242+ * Supported values:
243+ *
244+ * %DRM_NOUVEAU_VM_BIND_OP_MAP - Map a GEM object to the GPU's VA
245+ * space. Optionally, the &DRM_NOUVEAU_VM_BIND_SPARSE flag can be
246+ * passed to instruct the kernel to create sparse mappings for the
247+ * given range.
248+ *
249+ * %DRM_NOUVEAU_VM_BIND_OP_UNMAP - Unmap an existing mapping in the
250+ * GPU's VA space. If the region the mapping is located in is a
251+ * sparse region, new sparse mappings are created where the unmapped
252+ * (memory backed) mapping was mapped previously. To remove a sparse
253+ * region the &DRM_NOUVEAU_VM_BIND_SPARSE must be set.
241254 */
242255 __u32 op;
243−/**
244− * @DRM_NOUVEAU_VM_BIND_OP_MAP:
245− *
246− * Map a GEM object to the GPU's VA space. Optionally, the
247− * &DRM_NOUVEAU_VM_BIND_SPARSE flag can be passed to instruct the kernel to
248− * create sparse mappings for the given range.
249− */
250256 #define DRM_NOUVEAU_VM_BIND_OP_MAP 0x0
251−/**
252− * @DRM_NOUVEAU_VM_BIND_OP_UNMAP:
253− *
254− * Unmap an existing mapping in the GPU's VA space. If the region the mapping
255− * is located in is a sparse region, new sparse mappings are created where the
256− * unmapped (memory backed) mapping was mapped previously. To remove a sparse
257− * region the &DRM_NOUVEAU_VM_BIND_SPARSE must be set.
258− */
259257 #define DRM_NOUVEAU_VM_BIND_OP_UNMAP 0x1
260258 /**
261259 * @flags: the flags for a &drm_nouveau_vm_bind_op
260+ *
261+ * Supported values:
262+ *
263+ * %DRM_NOUVEAU_VM_BIND_SPARSE - Indicates that an allocated VA
264+ * space region should be sparse.
262265 */
263266 __u32 flags;
264−/**
265− * @DRM_NOUVEAU_VM_BIND_SPARSE:
266− *
267− * Indicates that an allocated VA space region should be sparse.
268− */
269267 #define DRM_NOUVEAU_VM_BIND_SPARSE (1 << 8)
270268 /**
271269 * @handle: the handle of the DRM GEM object to map
@@ -301,17 +299,17 @@ struct drm_nouveau_vm_bind { · 29 unmodified lines
301299 __u32 op_count;
302300 /**
303301 * @flags: the flags for a &drm_nouveau_vm_bind ioctl
302+ *
303+ * Supported values:
304+ *
305+ * %DRM_NOUVEAU_VM_BIND_RUN_ASYNC - Indicates that the given VM_BIND
306+ * operation should be executed asynchronously by the kernel.
307+ *
308+ * If this flag is not supplied the kernel executes the associated
309+ * operations synchronously and doesn't accept any &drm_nouveau_sync
310+ * objects.
304311 */
305312 __u32 flags;
306−/**
307− * @DRM_NOUVEAU_VM_BIND_RUN_ASYNC:
308− *
309− * Indicates that the given VM_BIND operation should be executed asynchronously
310− * by the kernel.
311− *
312− * If this flag is not supplied the kernel executes the associated operations
313− * synchronously and doesn't accept any &drm_nouveau_sync objects.
314− */
315313 #define DRM_NOUVEAU_VM_BIND_RUN_ASYNC 0x1
316314 /**
317315 * @wait_count: the number of wait &drm_nouveau_syncs
include/uapi/drm/qaic_accel.h+1−12
@@ -242,18 +242,7 @@ struct qaic_attach_slice_entry { · 241 unmodified lines
242242 * @dbc_id: In. Associate the sliced BO with this DBC.
243243 * @handle: In. GEM handle of the BO to slice.
244244 * @dir: In. Direction of data flow. 1 = DMA_TO_DEVICE, 2 = DMA_FROM_DEVICE
245− * @size: In. Total length of BO being used. This should not exceed base
246− * size of BO (struct drm_gem_object.base)
247− * For BOs being allocated using DRM_IOCTL_QAIC_CREATE_BO, size of
248− * BO requested is PAGE_SIZE aligned then allocated hence allocated
249− * BO size maybe bigger. This size should not exceed the new
250− * PAGE_SIZE aligned BO size.
251− * @dev_addr: In. Device address this slice pushes to or pulls from.
252− * @db_addr: In. Address of the doorbell to ring.
253− * @db_data: In. Data to write to the doorbell.
254− * @db_len: In. Size of the doorbell data in bits - 32, 16, or 8. 0 is for
255− * inactive doorbells.
256− * @offset: In. Start of this slice as an offset from the start of the BO.
245+ * @size: Deprecated. This value is ignored and size of @handle is used instead.
257246 */
258247 struct qaic_attach_slice_hdr {
259248 __u32 count;
include/uapi/drm/vmwgfx_drm.h+4−2
@@ -1,6 +1,7 @@
1+/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT */
12 /**************************************************************************
23 *
3− * Copyright © 2009-2022 VMware, Inc., Palo Alto, CA., USA
4+ * Copyright © 2009-2023 VMware, Inc., Palo Alto, CA., USA
45 * All Rights Reserved.
56 *
67 * Permission is hereby granted, free of charge, to any person obtaining a
@@ -902,7 +903,8 @@ struct drm_vmw_shader_arg { · 895 unmodified lines
902903 /**
903904 * enum drm_vmw_surface_flags
904905 *
905− * @drm_vmw_surface_flag_shareable: Whether the surface is shareable
906+ * @drm_vmw_surface_flag_shareable: Deprecated - all userspace surfaces are
907+ * shareable.
906908 * @drm_vmw_surface_flag_scanout: Whether the surface is a scanout
907909 * surface.
908910 * @drm_vmw_surface_flag_create_buffer: Create a backup buffer if none is