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

#include <asahi_drm.h>

Public Attributes

__u32 binary
 
__u32 cfg
 
__u64 data
 

Detailed Description

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.

Member Data Documentation

◆ binary

__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.

◆ cfg

__u32 drm_asahi_helper_program::cfg

@cfg: Additional configuration bits for the helper program.

◆ data

__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.


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