linux/drivers/gpu/drm/amd/amdkfd
Andrew Lewycky b3f5e6b441 amdkfd: Add interrupt handling module
This patch adds the interrupt handling module, in 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.

v3:

Move amdkfd from drm/radeon/ to drm/amd/
Change device init
Made sure spin lock is taken only if init is complete
Moved bool field to the end of the structure

Signed-off-by: Andrew Lewycky <Andrew.Lewycky@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
2014-07-17 01:37:30 +03:00
..
cik_regs.h amdkfd: Add mqd_manager module 2014-07-17 00:36:17 +03:00
Kconfig
kfd_chardev.c amdkfd: Add basic modules to amdkfd 2014-07-16 23:25:31 +03:00
kfd_crat.h amdkfd: Add topology module to amdkfd 2014-07-16 21:22:32 +03:00
kfd_device_queue_manager.c amdkfd: Add device queue manager module 2014-07-17 01:27:00 +03:00
kfd_device_queue_manager.h amdkfd: Add device queue manager module 2014-07-17 01:27:00 +03:00
kfd_device.c amdkfd: Add interrupt handling module 2014-07-17 01:37:30 +03:00
kfd_doorbell.c amdkfd: Add basic modules to amdkfd 2014-07-16 23:25:31 +03:00
kfd_flat_memory.c amdkfd: Add basic modules to amdkfd 2014-07-16 23:25:31 +03:00
kfd_interrupt.c amdkfd: Add interrupt handling module 2014-07-17 01:37:30 +03:00
kfd_kernel_queue.c amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_kernel_queue.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_module.c amdkfd: Add module parameter of scheduling policy 2014-07-17 00:48:28 +03:00
kfd_mqd_manager.c amdkfd: Add mqd_manager module 2014-07-17 00:36:17 +03:00
kfd_mqd_manager.h amdkfd: Add mqd_manager module 2014-07-17 00:36:17 +03:00
kfd_packet_manager.c amdkfd: Add packet manager module 2014-07-17 00:55:28 +03:00
kfd_pasid.c amdkfd: Add basic modules to amdkfd 2014-07-16 23:25:31 +03:00
kfd_pm4_headers.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_pm4_opcodes.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_priv.h amdkfd: Add interrupt handling module 2014-07-17 01:37:30 +03:00
kfd_process_queue_manager.c amdkfd: Add process queue manager module 2014-07-17 01:04:10 +03:00
kfd_process.c amdkfd: Add process queue manager module 2014-07-17 01:04:10 +03:00
kfd_queue.c amdkfd: Add queue module 2014-07-17 00:18:51 +03:00
kfd_topology.c amdkfd: Add topology module to amdkfd 2014-07-16 21:22:32 +03:00
kfd_topology.h amdkfd: Add topology module to amdkfd 2014-07-16 21:22:32 +03:00
Makefile amdkfd: Add interrupt handling module 2014-07-17 01:37:30 +03:00