XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_xe_query_oa_units Struct Reference

#include <xe_drm.h>

Public Attributes

__u64 extensions
 
__u32 num_oa_units
 
__u32 pad
 
__u64 oa_units []
 

Detailed Description

struct drm_xe_query_oa_units - describe OA units

If a query is made with a struct drm_xe_device_query where .query is equal to DRM_XE_DEVICE_QUERY_OA_UNITS, then the reply uses struct drm_xe_query_oa_units in .data.

OA unit properties for all OA units can be accessed using a code block such as the one below:

.. code-block:: C

struct drm_xe_query_oa_units *qoa; struct drm_xe_oa_unit *oau; u8 *poau;

// malloc qoa and issue DRM_XE_DEVICE_QUERY_OA_UNITS. Then: poau = (u8 *)&qoa->oa_units[0]; for (int i = 0; i < qoa->num_oa_units; i++) { oau = (struct drm_xe_oa_unit *)poau; // Access 'struct drm_xe_oa_unit' fields here poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]); }

Member Data Documentation

◆ extensions

__u64 drm_xe_query_oa_units::extensions

@extensions: Pointer to the first extension struct, if any

◆ num_oa_units

__u32 drm_xe_query_oa_units::num_oa_units

@num_oa_units: number of OA units returned in oau[]

◆ oa_units

__u64 drm_xe_query_oa_units::oa_units[]

@oa_units: &struct drm_xe_oa_unit array returned for this device. Written below as a u64 array to avoid problems with nested flexible arrays with some compilers

◆ pad

__u32 drm_xe_query_oa_units::pad

@pad: MBZ


The documentation for this struct was generated from the following file: