include/uapi/drm/amdxdna_accel.h
Source file repositories/reference/linux-study-clean/include/uapi/drm/amdxdna_accel.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/drm/amdxdna_accel.h- Extension
.h- Size
- 20821 bytes
- Lines
- 767
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/stddef.hdrm.h
Detected Declarations
struct amdxdna_qos_infostruct amdxdna_drm_create_hwctxstruct amdxdna_drm_destroy_hwctxstruct amdxdna_cu_configstruct amdxdna_hwctx_param_config_custruct amdxdna_drm_config_hwctxstruct amdxdna_drm_va_entrystruct amdxdna_drm_va_tblstruct amdxdna_drm_create_bostruct amdxdna_drm_get_bo_infostruct amdxdna_drm_sync_bostruct amdxdna_drm_exec_cmdstruct amdxdna_drm_wait_cmdstruct amdxdna_drm_query_aie_statusstruct amdxdna_drm_query_aie_versionstruct amdxdna_drm_query_aie_tile_metadatastruct amdxdna_drm_query_aie_metadatastruct amdxdna_drm_query_clockstruct amdxdna_drm_query_clock_metadatastruct amdxdna_drm_query_sensorstruct amdxdna_drm_query_hwctxstruct amdxdna_drm_get_power_modestruct amdxdna_drm_query_firmware_versionstruct amdxdna_drm_get_resource_infostruct amdxdna_drm_attribute_statestruct amdxdna_drm_query_telemetry_headerstruct amdxdna_drm_get_infostruct amdxdna_drm_hwctx_entrystruct amdxdna_async_errorstruct amdxdna_drm_bo_usagestruct amdxdna_drm_get_arraystruct amdxdna_drm_set_statestruct amdxdna_drm_set_power_modeenum amdxdna_device_typeenum amdxdna_drm_ioctl_idenum amdxdna_drm_config_hwctx_paramenum amdxdna_bo_typeenum amdxdna_cmd_typeenum amdxdna_sensor_typeenum amdxdna_power_mode_typeenum amdxdna_drm_get_paramenum amdxdna_drm_set_param
Annotated Snippet
struct amdxdna_qos_info {
__u32 gops;
__u32 fps;
__u32 dma_bandwidth;
__u32 latency;
__u32 frame_exec_time;
__u32 priority;
};
/**
* struct amdxdna_drm_create_hwctx - Create hardware context.
* @ext: MBZ.
* @ext_flags: MBZ.
* @qos_p: Address of QoS info.
* @umq_bo: BO handle for user mode queue(UMQ).
* @log_buf_bo: BO handle for log buffer.
* @max_opc: Maximum operations per cycle.
* @num_tiles: Number of AIE tiles.
* @mem_size: Size of AIE tile memory.
* @umq_doorbell: Returned offset of doorbell associated with UMQ.
* @handle: Returned hardware context handle.
* @syncobj_handle: Returned syncobj handle for command completion.
*/
struct amdxdna_drm_create_hwctx {
__u64 ext;
__u64 ext_flags;
__u64 qos_p;
__u32 umq_bo;
__u32 log_buf_bo;
__u32 max_opc;
__u32 num_tiles;
__u32 mem_size;
__u32 umq_doorbell;
__u32 handle;
__u32 syncobj_handle;
};
/**
* struct amdxdna_drm_destroy_hwctx - Destroy hardware context.
* @handle: Hardware context handle.
* @pad: MBZ.
*/
struct amdxdna_drm_destroy_hwctx {
__u32 handle;
__u32 pad;
};
/**
* struct amdxdna_cu_config - configuration for one CU
* @cu_bo: CU configuration buffer bo handle.
* @cu_func: Function of a CU.
* @pad: MBZ.
*/
struct amdxdna_cu_config {
__u32 cu_bo;
__u8 cu_func;
__u8 pad[3];
};
/**
* struct amdxdna_hwctx_param_config_cu - configuration for CUs in hardware context
* @num_cus: Number of CUs to configure.
* @pad: MBZ.
* @cu_configs: Array of CU configurations of struct amdxdna_cu_config.
*/
struct amdxdna_hwctx_param_config_cu {
__u16 num_cus;
__u16 pad[3];
struct amdxdna_cu_config cu_configs[] __counted_by(num_cus);
};
enum amdxdna_drm_config_hwctx_param {
DRM_AMDXDNA_HWCTX_CONFIG_CU,
DRM_AMDXDNA_HWCTX_ASSIGN_DBG_BUF,
DRM_AMDXDNA_HWCTX_REMOVE_DBG_BUF,
};
/**
* struct amdxdna_drm_config_hwctx - Configure hardware context.
* @handle: hardware context handle.
* @param_type: Value in enum amdxdna_drm_config_hwctx_param. Specifies the
* structure passed in via param_val.
* @param_val: A structure specified by the param_type struct member.
* @param_val_size: Size of the parameter buffer pointed to by the param_val.
* If param_val is not a pointer, driver can ignore this.
* @pad: MBZ.
*
* Note: if the param_val is a pointer pointing to a buffer, the maximum size
* of the buffer is 4KiB(PAGE_SIZE).
*/
Annotation
- Immediate include surface: `linux/stddef.h`, `drm.h`.
- Detected declarations: `struct amdxdna_qos_info`, `struct amdxdna_drm_create_hwctx`, `struct amdxdna_drm_destroy_hwctx`, `struct amdxdna_cu_config`, `struct amdxdna_hwctx_param_config_cu`, `struct amdxdna_drm_config_hwctx`, `struct amdxdna_drm_va_entry`, `struct amdxdna_drm_va_tbl`, `struct amdxdna_drm_create_bo`, `struct amdxdna_drm_get_bo_info`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.