mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 15:20:37 +07:00
2249d55827
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: Andrew Lewycky <Andrew.Lewycky@amd.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> |
||
---|---|---|
.. | ||
cik_regs.h | ||
Kconfig | ||
kfd_chardev.c | ||
kfd_crat.h | ||
kfd_device_queue_manager_cik.c | ||
kfd_device_queue_manager_vi.c | ||
kfd_device_queue_manager.c | ||
kfd_device_queue_manager.h | ||
kfd_device.c | ||
kfd_doorbell.c | ||
kfd_flat_memory.c | ||
kfd_interrupt.c | ||
kfd_kernel_queue_cik.c | ||
kfd_kernel_queue_vi.c | ||
kfd_kernel_queue.c | ||
kfd_kernel_queue.h | ||
kfd_module.c | ||
kfd_mqd_manager_cik.c | ||
kfd_mqd_manager_vi.c | ||
kfd_mqd_manager.c | ||
kfd_mqd_manager.h | ||
kfd_packet_manager.c | ||
kfd_pasid.c | ||
kfd_pm4_headers.h | ||
kfd_pm4_opcodes.h | ||
kfd_priv.h | ||
kfd_process_queue_manager.c | ||
kfd_process.c | ||
kfd_queue.c | ||
kfd_topology.c | ||
kfd_topology.h | ||
Makefile |