|
XenevaOS
|
#include <asahi_drm.h>
Public Attributes | |
| __u32 | binary |
| __u32 | cfg |
| __u64 | data |
struct drm_asahi_helper_program - Describe helper program configuration.
The helper program is a compute-like kernel required for various hardware functionality. Its most important role is dynamically allocating scratch/stack memory for individual subgroups, by partitioning a static allocation shared for the whole device. It is supplied by userspace via drm_asahi_helper_program and internally dispatched by the hardware as needed.
This struct is embedded in other structs and therefore is not extensible.
| __u32 drm_asahi_helper_program::binary |
@binary: USC address to the helper program binary. This is a tagged pointer with configuration in the bottom bits.
| __u32 drm_asahi_helper_program::cfg |
@cfg: Additional configuration bits for the helper program.
| __u64 drm_asahi_helper_program::data |
@data: Data passed to the helper program. This value is not interpreted by the kernel, firmware, or hardware in any way. It is simply a sideband for userspace, set with the submit ioctl and read via special registers inside the helper program.
In practice, userspace will pass a 64-bit GPU VA here pointing to the actual arguments, which presumably don't fit in 64-bits.