• Andrew Lewycky's avatar
    drm/amdkfd: Add interrupt handling module · 2249d558
    Andrew Lewycky authored
    This patch adds the interrupt handling module, kfd_interrupt.c, and its
    related members in different data structures to the amdkfd driver.
    
    The amdkfd interrupt module maintains an internal interrupt ring
    per amdkfd device. The internal interrupt ring contains interrupts
    that needs further handling. The extra handling is deferred to
    a later time through a workqueue.
    
    There's no acknowledgment for the interrupts we use. The hardware
    simply queues a new interrupt each time without waiting.
    
    The fixed-size internal queue means that it's possible for us to lose
    interrupts because we have no back-pressure to the hardware.
    
    However, only interrupts that are "wanted" by amdkfd, are copied into
    the amdkfd s/w interrupt ring, in order to minimize the chances
    for overflow of the ring.
    Signed-off-by: default avatarAndrew Lewycky <Andrew.Lewycky@amd.com>
    Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
    2249d558
kfd_device_queue_manager.c 28.8 KB