summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2025-11-17 14:21:48 +1000
committerDave Airlie <airlied@redhat.com>2025-11-17 14:21:49 +1000
commit490fd9336650a39c57ce2a652676a8cb9dc6c842 (patch)
tree4fc55b098a40b7df81243dc312e6a2d44575ae3d /include
parent727bf2dc96a6e0eeb35f5adffaede020981ac17c (diff)
parentca2583412306ceda9304a7c4302fd9efbf43e963 (diff)
Merge tag 'drm-misc-next-2025-11-14-1' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.19: UAPI Changes: - Add sysfs entries, coredump support and uevents to QAIC. - Add fdinfo memory statistics to ivpu. Cross-subsystem Changes: - Handle stub fence initialization during module init. - Stop using system_wq in scheduler and drivers. Core Changes: - Documentation updates to ttm, vblank. - Add EDID quirk for sharp panel. - Use drm_crtc_vblank_(crtc,waitqueue) more in core and drivers. Driver Changes: - Small updates and fixes to panfrost, amdxdna, vmwgfx, ast, ivpu. - Handle preemption in amdxdna. - Add PM support to qaic. - Huge refactor of sun4i's layer code to decouple plane code from output and improve support for DE33. - Add larger page and compression support to nouveau. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patch.msgid.link/1ad3ea69-d029-4a21-8b3d-6b264b1b2a30@linux.intel.com
Diffstat (limited to 'include')
-rw-r--r--include/drm/ttm/ttm_device.h2
-rw-r--r--include/drm/ttm/ttm_pool.h2
-rw-r--r--include/uapi/drm/amdxdna_accel.h16
-rw-r--r--include/uapi/drm/panfrost_drm.h118
4 files changed, 99 insertions, 39 deletions
diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
index d016360e5ceb..5618aef462f2 100644
--- a/include/drm/ttm/ttm_device.h
+++ b/include/drm/ttm/ttm_device.h
@@ -221,7 +221,7 @@ struct ttm_device {
struct list_head device_list;
/**
- * @alloc_flags: TTM_ALLOCATION_ flags.
+ * @alloc_flags: TTM_ALLOCATION_* flags.
*/
unsigned int alloc_flags;
diff --git a/include/drm/ttm/ttm_pool.h b/include/drm/ttm/ttm_pool.h
index 67c72de913bb..233581670e78 100644
--- a/include/drm/ttm/ttm_pool.h
+++ b/include/drm/ttm/ttm_pool.h
@@ -64,7 +64,7 @@ struct ttm_pool_type {
*
* @dev: the device we allocate pages for
* @nid: which numa node to use
- * @alloc_flags: TTM_ALLOCATION_POOL_ flags
+ * @alloc_flags: TTM_ALLOCATION_POOL_* flags
* @caching: pools for each caching/order
*/
struct ttm_pool {
diff --git a/include/uapi/drm/amdxdna_accel.h b/include/uapi/drm/amdxdna_accel.h
index 8ad254bc35a5..62c917fd4f7b 100644
--- a/include/uapi/drm/amdxdna_accel.h
+++ b/include/uapi/drm/amdxdna_accel.h
@@ -443,7 +443,9 @@ enum amdxdna_drm_get_param {
DRM_AMDXDNA_QUERY_FIRMWARE_VERSION = 8,
DRM_AMDXDNA_GET_POWER_MODE,
DRM_AMDXDNA_QUERY_TELEMETRY,
- DRM_AMDXDNA_QUERY_RESOURCE_INFO = 12,
+ DRM_AMDXDNA_GET_FORCE_PREEMPT_STATE,
+ DRM_AMDXDNA_QUERY_RESOURCE_INFO,
+ DRM_AMDXDNA_GET_FRAME_BOUNDARY_PREEMPT_STATE,
};
/**
@@ -463,6 +465,16 @@ struct amdxdna_drm_get_resource_info {
};
/**
+ * struct amdxdna_drm_attribute_state - State of an attribute
+ */
+struct amdxdna_drm_attribute_state {
+ /** @state: enabled or disabled */
+ __u8 state;
+ /** @pad: MBZ */
+ __u8 pad[7];
+};
+
+/**
* struct amdxdna_drm_query_telemetry_header - Telemetry data header
*/
struct amdxdna_drm_query_telemetry_header {
@@ -613,6 +625,8 @@ enum amdxdna_drm_set_param {
DRM_AMDXDNA_SET_POWER_MODE,
DRM_AMDXDNA_WRITE_AIE_MEM,
DRM_AMDXDNA_WRITE_AIE_REG,
+ DRM_AMDXDNA_SET_FORCE_PREEMPT,
+ DRM_AMDXDNA_SET_FRAME_BOUNDARY_PREEMPT,
};
/**
diff --git a/include/uapi/drm/panfrost_drm.h b/include/uapi/drm/panfrost_drm.h
index e8b47c9f6976..1956431bb391 100644
--- a/include/uapi/drm/panfrost_drm.h
+++ b/include/uapi/drm/panfrost_drm.h
@@ -54,32 +54,46 @@ extern "C" {
* This asks the kernel to have the GPU execute a render command list.
*/
struct drm_panfrost_submit {
-
- /** Address to GPU mapping of job descriptor */
+ /**
+ * @jc: Address to GPU mapping of job descriptor
+ */
__u64 jc;
-
- /** An optional array of sync objects to wait on before starting this job. */
+ /**
+ * @in_syncs: An optional array of sync objects to wait on
+ * before starting this job.
+ */
__u64 in_syncs;
-
- /** Number of sync objects to wait on before starting this job. */
+ /**
+ * @in_sync_count: Number of sync objects to wait on before
+ * starting this job.
+ */
__u32 in_sync_count;
-
- /** An optional sync object to place the completion fence in. */
+ /**
+ * @out_sync: An optional sync object to place the completion fence in.
+ */
__u32 out_sync;
-
- /** Pointer to a u32 array of the BOs that are referenced by the job. */
+ /**
+ * @bo_handles: Pointer to a u32 array of the BOs that are
+ * referenced by the job.
+ */
__u64 bo_handles;
-
- /** Number of BO handles passed in (size is that times 4). */
+ /**
+ * @bo_handle_count: Number of BO handles passed in (size is
+ * that times 4).
+ */
__u32 bo_handle_count;
-
- /** A combination of PANFROST_JD_REQ_* */
+ /**
+ * @requirements: A combination of PANFROST_JD_REQ_*
+ */
__u32 requirements;
-
- /** JM context handle. Zero if you want to use the default context. */
+ /**
+ * @jm_ctx_handle: JM context handle. Zero if you want to use the
+ * default context.
+ */
__u32 jm_ctx_handle;
-
- /** Padding field. MBZ. */
+ /**
+ * @pad: Padding field. Must be zero.
+ */
__u32 pad;
};
@@ -92,9 +106,18 @@ struct drm_panfrost_submit {
* completed.
*/
struct drm_panfrost_wait_bo {
+ /**
+ * @handle: Handle for the object to wait for.
+ */
__u32 handle;
+ /**
+ * @pad: Padding, must be zero-filled.
+ */
__u32 pad;
- __s64 timeout_ns; /* absolute */
+ /**
+ * @timeout_ns: absolute number of nanoseconds to wait.
+ */
+ __s64 timeout_ns;
};
/* Valid flags to pass to drm_panfrost_create_bo */
@@ -107,16 +130,26 @@ struct drm_panfrost_wait_bo {
* The flags argument is a bit mask of PANFROST_BO_* flags.
*/
struct drm_panfrost_create_bo {
+ /**
+ * @size: size of shmem/BO area to create (bytes)
+ */
__u32 size;
+ /**
+ * @flags: see PANFROST_BO_* flags
+ */
__u32 flags;
- /** Returned GEM handle for the BO. */
+ /**
+ * @handle: Returned GEM handle for the BO.
+ */
__u32 handle;
- /* Pad, must be zero-filled. */
+ /**
+ * @pad: Padding, must be zero-filled.
+ */
__u32 pad;
/**
- * Returned offset for the BO in the GPU address space. This offset
- * is private to the DRM fd and is valid for the lifetime of the GEM
- * handle.
+ * @offset: Returned offset for the BO in the GPU address space.
+ * This offset is private to the DRM fd and is valid for the
+ * lifetime of the GEM handle.
*
* This offset value will always be nonzero, since various HW
* units treat 0 specially.
@@ -136,10 +169,17 @@ struct drm_panfrost_create_bo {
* used in a future extension.
*/
struct drm_panfrost_mmap_bo {
- /** Handle for the object being mapped. */
+ /**
+ * @handle: Handle for the object being mapped.
+ */
__u32 handle;
+ /**
+ * @flags: currently not used (should be zero)
+ */
__u32 flags;
- /** offset into the drm node to use for subsequent mmap call. */
+ /**
+ * @offset: offset into the drm node to use for subsequent mmap call.
+ */
__u64 offset;
};
@@ -196,7 +236,7 @@ struct drm_panfrost_get_param {
__u64 value;
};
-/**
+/*
* Returns the offset for the BO in the GPU address space for this DRM fd.
* This is the same value returned by drm_panfrost_create_bo, if that was called
* from this DRM fd.
@@ -244,12 +284,14 @@ struct drm_panfrost_madvise {
* struct drm_panfrost_set_label_bo - ioctl argument for labelling Panfrost BOs.
*/
struct drm_panfrost_set_label_bo {
- /** @handle: Handle of the buffer object to label. */
+ /**
+ * @handle: Handle of the buffer object to label.
+ */
__u32 handle;
-
- /** @pad: MBZ. */
+ /**
+ * @pad: Must be zero.
+ */
__u32 pad;
-
/**
* @label: User pointer to a NUL-terminated string
*
@@ -330,10 +372,13 @@ enum drm_panfrost_jm_ctx_priority {
};
struct drm_panfrost_jm_ctx_create {
- /** @handle: Handle of the created JM context */
+ /**
+ * @handle: Handle of the created JM context
+ */
__u32 handle;
-
- /** @priority: Context priority (see enum drm_panfrost_jm_ctx_priority). */
+ /**
+ * @priority: Context priority (see enum drm_panfrost_jm_ctx_priority).
+ */
__u32 priority;
};
@@ -344,8 +389,9 @@ struct drm_panfrost_jm_ctx_destroy {
* Must be a valid context handle returned by DRM_IOCTL_PANTHOR_JM_CTX_CREATE.
*/
__u32 handle;
-
- /** @pad: Padding field, MBZ. */
+ /**
+ * @pad: Padding field, must be zero.
+ */
__u32 pad;
};