]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amdkfd: Add interrupt handling module
authorAndrew Lewycky <Andrew.Lewycky@amd.com>
Wed, 16 Jul 2014 22:37:30 +0000 (01:37 +0300)
committerOded Gabbay <oded.gabbay@gmail.com>
Tue, 19 May 2015 09:13:39 +0000 (12:13 +0300)
commitf01218124f004a44c9e90f2022d53176b7ea15ef
tree1282a1d544b64ef704c826d677cefef71f8ba048
parent8059498151bee1137ce60ea3d15348c20af4c13a
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>
drivers/gpu/drm/amd/amdkfd/Makefile
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c [new file with mode: 0644]
drivers/gpu/drm/amd/amdkfd/kfd_priv.h