linux_dsm_epyc7002/drivers/gpu/drm
Ben Goz 64c7f8cf79 amdkfd: Add device queue manager module
The queue scheduler divides into two sections, one section is process bounded
and the other section is device bounded.
The device bounded section is handled by this module.
The DQM module handles queue setup, update and tear-down from the device side.
It also supports suspend/resume operation.

v3: Changed device_init, added the use of the new gart allocation functions an
Added documentation.

v4:

Fixed a race in DQM queue scheduler where dqm->lock must be held when accessing
dqm->queue_count and dqm->processes_count. This fixes runlist IB allocation
failures when DQM is under load.

Fixed race in DQM queue destruction where queues being destroyed must be
removed from qpd->queues_list prior to preemption, or concurrent queue
creation activity may reschedule them while their MQD is destroyed.

Fixed EOP queue size setting in CP_HPD_EOP_CONTROL, because the size is
specified as (log2(size_dwords)-1). The previous calculation assumed the
size was specified in bytes, which caused interference between EOP queues
when multiple MEC pipelines were active.

v5:

Move amdkfd from drm/radeon/ to drm/amd/
Change format of mqd structure to match latest KV firmware
Add support for AQL queues creation to enable working with open-source HSA
runtime
Remove unused unmap_queue function
Various fixes (Style, typos)

Signed-off-by: Ben Goz <ben.goz@amd.com>
Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
2014-07-17 01:27:00 +03:00
..
amd amdkfd: Add device queue manager module 2014-07-17 01:27:00 +03:00
armada Linux 3.18-rc4 2014-11-12 17:53:30 +10:00
ast drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
bochs drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
bridge
cirrus drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
exynos drm/exynos: correct connector->dpms field before resuming 2014-11-03 01:51:28 +09:00
gma500 Merge tag 'topic/atomic-helpers-2014-11-09' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-11-10 09:59:16 +10:00
i2c
i810 drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
i915 drm: Per-plane locking 2014-11-12 17:56:12 +10:00
mga drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
mgag200 drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
msm drm: Pass dma-buf as argument to gem_prime_import_sg_table 2014-09-30 14:04:00 +02:00
nouveau drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
omapdrm drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
panel drm/panel/simple: add optronics B101XTN01.0 (v3) 2014-09-10 11:19:07 -04:00
qxl drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
r128 drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
radeon drm/radeon: Add radeon <--> amdkfd interface 2014-07-15 13:53:32 +03:00
rcar-du drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
savage drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
shmobile drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
sis drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
sti drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
tdfx drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
tegra drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
tilcdc drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
ttm drm/ttm: Use only DRM_MM_SEARCH_BELOW for TTM_PL_FLAG_TOPDOWN 2014-11-12 11:56:33 -05:00
udl drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
via drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
vmwgfx drm: Per-plane locking 2014-11-12 17:56:12 +10:00
ati_pcigart.c drm: split ati_pcigart.h out of drmP.h 2014-09-12 14:11:14 +10:00
drm_agpsupport.c drm: move AGP definitions harder 2014-09-10 17:40:11 +10:00
drm_atomic_helper.c drm: Per-plane locking 2014-11-12 17:56:12 +10:00
drm_atomic.c drm: Per-plane locking 2014-11-12 17:56:12 +10:00
drm_auth.c drm: Move piles of functions from drmP.h to drm_internal.h 2014-09-12 11:16:29 +02:00
drm_bufs.c drm: Move __drm_pci_free to drm_legacy.h 2014-09-12 11:08:56 +02:00
drm_cache.c
drm_context.c
drm_crtc_helper.c drm/atomic: Refcounting for plane_state->fb 2014-11-06 21:08:37 +01:00
drm_crtc_internal.h
drm_crtc.c drm: More specific locking for get* ioctls 2014-11-12 17:56:34 +10:00
drm_debugfs.c drm: Move piles of functions from drmP.h to drm_internal.h 2014-09-12 11:16:29 +02:00
drm_dma.c drm: Move legacy buffer structures to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
drm_dp_helper.c drm/dp: Add counters in the drm_dp_aux struct for I2C NACKs and DEFERs 2014-11-05 14:03:22 +01:00
drm_dp_mst_topology.c Merge tag 'topic/core-stuff-2014-11-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-11-07 10:58:46 +10:00
drm_drv.c drm: drm_err: Remove unnecessary __func__ argument 2014-10-12 20:57:16 +02:00
drm_edid_load.c
drm_edid.c drm/edid: Add missing interlaced flag to 576i@100 modes. 2014-10-01 11:36:20 +02:00
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: Remove compiler BUG_ON() test 2014-11-04 09:47:45 +01:00
drm_flip_work.c
drm_fops.c drm: Implement O_NONBLOCK support on /dev/dri/cardN 2014-10-08 15:07:07 +02:00
drm_gem_cma_helper.c drm: Pass dma-buf as argument to gem_prime_import_sg_table 2014-09-30 14:04:00 +02:00
drm_gem.c drm/core: use helper to check driver features 2014-10-03 10:38:56 +02:00
drm_global.c
drm_hashtab.c
drm_info.c drm: Extract <drm/drm_gem.h> 2014-09-24 11:43:41 +10:00
drm_internal.h drm: Move internal debugfs functions to drm_internal.h 2014-09-24 11:43:35 +10:00
drm_ioc32.c
drm_ioctl.c drm: Purge ioctl forward declarations from drmP.h 2014-09-12 15:27:47 +02:00
drm_irq.c gpu:drm: Fix typo in Documentation/DocBook/drm.xml 2014-10-21 10:55:33 +02:00
drm_legacy.h drm: Create drm legacy driver header 2014-09-12 11:08:55 +02:00
drm_lock.c drm: unexport drm_global_mutex 2014-09-12 11:19:47 +02:00
drm_memory.c drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
drm_mipi_dsi.c drm/mipi-dsi: consider low power transmission 2014-09-20 00:56:08 +09:00
drm_mm.c
drm_modes.c gpu:drm: Fix typo in Documentation/DocBook/drm.xml 2014-10-21 10:55:33 +02:00
drm_modeset_lock.c drm: Per-plane locking 2014-11-12 17:56:12 +10:00
drm_of.c
drm_panel.c
drm_pci.c drm: Move legacy buffer structures to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
drm_plane_helper.c drm/atomic: Refcounting for plane_state->fb 2014-11-06 21:08:37 +01:00
drm_platform.c drm: Goody bye, drm_bus! 2014-09-10 17:43:10 +10:00
drm_prime.c gpu:drm: Fix typo in Documentation/DocBook/drm.xml 2014-10-21 10:55:33 +02:00
drm_probe_helper.c drm: Fix DRM_FORCE_ON_DIGITAL use 2014-11-04 09:45:04 +01:00
drm_rect.c
drm_scatter.c drm: Move sg functions into drm_legacy.h 2014-09-12 11:08:54 +02:00
drm_sysfs.c drm: Move piles of functions from drmP.h to drm_internal.h 2014-09-12 11:16:29 +02:00
drm_trace_points.c
drm_trace.h
drm_vm.c drm: Move drm_vm_open_locked into drm_internal.h 2014-09-24 11:43:20 +10:00
drm_vma_manager.c
Kconfig amdkfd: Add amdkfd skeleton driver 2014-07-16 21:08:55 +03:00
Makefile amdkfd: Add amdkfd skeleton driver 2014-07-16 21:08:55 +03:00