• Ben Goz's avatar
    amdkfd: Add mqd_manager module · 6e99df57
    Ben Goz authored
    The mqd_manager module handles MQD data structures.
    MQD stands for Memory Queue Descriptor, which is used by the H/W to
    keep the usermode queue state in memory.
    
    v3:
    
    Removed new typedefs
    Removed pragma pack 4
    Remove cik_mqds.h file
    Changed lower_32/upper_32 calls to use linux macros
    Used new gart allocation functions
    Added documentation
    
    v4:
    
    Added missing initialization of the addr field in init_mqd()
    
    Setting the hqd persistent.preload_req bit ON so that when queues switches
    on/off, their context will kept and read from the mqd when the cp reassign
    them, and thus the dispatched workload context kept consistent without any
    interrupts.
    
    v5:
    
    Move amdkfd from drm/radeon/ to drm/amd/
    Change format of mqd structure to match latest KV firmware
    Add support for AQL queues creation to enable working with open-source HSA
    runtime.
    Various fixes
    Signed-off-by: default avatarBen Goz <ben.goz@amd.com>
    Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
    6e99df57
kfd_mqd_manager.c 9.49 KB