linux_dsm_epyc7002/drivers/gpu/drm/amd/amdkfd
Andrew Lewycky 2249d55827 drm/amdkfd: Add interrupt handling module
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>
2015-05-19 12:13:39 +03:00
..
cik_regs.h drm/amdkfd: Don't include header files from radeon 2015-01-02 23:18:54 +02:00
Kconfig amdkfd: Remove DRM_AMDGPU dependency from Kconfig 2014-11-21 22:36:09 +02:00
kfd_chardev.c drm/amdkfd: Add multiple kgd support 2015-03-25 14:02:05 +02:00
kfd_crat.h
kfd_device_queue_manager_cik.c drm/amdkfd: make the sdma vm init to be asic specific 2015-05-19 12:13:39 +03:00
kfd_device_queue_manager_vi.c drm/amdkfd: make the sdma vm init to be asic specific 2015-05-19 12:13:39 +03:00
kfd_device_queue_manager.c drm/amdkfd: Add interrupt handling module 2015-05-19 12:13:39 +03:00
kfd_device_queue_manager.h drm/amdkfd: make the sdma vm init to be asic specific 2015-05-19 12:13:39 +03:00
kfd_device.c drm/amdkfd: Add interrupt handling module 2015-05-19 12:13:39 +03:00
kfd_doorbell.c drm/amdkfd: reformat some debug prints 2015-05-19 12:13:38 +03:00
kfd_flat_memory.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02:00
kfd_interrupt.c drm/amdkfd: Add interrupt handling module 2015-05-19 12:13:39 +03:00
kfd_kernel_queue_cik.c drm/amdkfd: Add initial VI support for KQ 2014-12-02 16:38:57 +02:00
kfd_kernel_queue_vi.c drm/amdkfd: Add initial VI support for KQ 2014-12-02 16:38:57 +02:00
kfd_kernel_queue.c drm/amdkfd: reformat some debug prints 2015-05-19 12:13:38 +03:00
kfd_kernel_queue.h drm/amdkfd: Remove sync_with_hw() from amdkfd 2015-01-15 12:07:48 +02:00
kfd_module.c drm/amdkfd: Add multiple kgd support 2015-03-25 14:02:05 +02:00
kfd_mqd_manager_cik.c drm/amdkfd: Add multiple kgd support 2015-03-25 14:02:05 +02:00
kfd_mqd_manager_vi.c drm/amdkfd: Change MQD manager to be H/W specific 2015-01-04 11:24:25 +02:00
kfd_mqd_manager.c drm/amdkfd: Change MQD manager to be H/W specific 2015-01-04 11:24:25 +02:00
kfd_mqd_manager.h amdkfd: Add mqd_manager module 2014-07-17 00:36:17 +03:00
kfd_packet_manager.c drm/amdkfd: Remove sync_with_hw() from amdkfd 2015-01-15 12:07:48 +02:00
kfd_pasid.c drm/amdkfd: Allow user to limit only queues per device 2015-01-18 13:18:01 +02: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 drm/amdkfd: Add interrupt handling module 2015-05-19 12:13:39 +03:00
kfd_process_queue_manager.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-02-16 15:48:00 -08:00
kfd_process.c drm/amdkfd: Remove unessary void pointer cast 2015-05-19 12:13:38 +03:00
kfd_queue.c amdkfd: Add queue module 2014-07-17 00:18:51 +03:00
kfd_topology.c drm/amdkfd: Add multiple kgd support 2015-03-25 14:02:05 +02:00
kfd_topology.h
Makefile drm/amdkfd: Add interrupt handling module 2015-05-19 12:13:39 +03:00