linux_dsm_epyc7002/drivers/gpu/drm/amd/amdkfd
Jay Cornwall d752f95e55 drm/amdkfd: Preserve CP_MQD_IQ_RPTR internal state
CP microcode uses undocumented bits in this register to record queue
state information. The KFD zeroes these bits in update_mqd, when invoked
through the UPDATE_QUEUE ioctl, causing incoherent state when the ioctl
is used to successively unmap and map a queue.

Since the queue type cannot be changed in this path, move the MQD write
to init_mqd.

Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
Reviewed-by: Ben Goz <ben.goz@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
2015-01-19 11:47:34 -06: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: Fix sparse errors 2015-01-22 17:52:50 +02:00
kfd_crat.h amdkfd: Add topology module to amdkfd 2014-07-16 21:22:32 +03:00
kfd_device_queue_manager_cik.c drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00
kfd_device_queue_manager_vi.c drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00
kfd_device_queue_manager.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
kfd_device_queue_manager.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
kfd_device.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
kfd_doorbell.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02:00
kfd_flat_memory.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02: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: Add break at the end of case 2015-01-22 12:43:37 +02:00
kfd_kernel_queue.h drm/amdkfd: Remove sync_with_hw() from amdkfd 2015-01-15 12:07:48 +02:00
kfd_module.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
kfd_mqd_manager_cik.c drm/amdkfd: Preserve CP_MQD_IQ_RPTR internal state 2015-01-19 11:47:34 -06: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 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
kfd_process_queue_manager.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
kfd_process.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02:00
kfd_queue.c amdkfd: Add queue module 2014-07-17 00:18:51 +03:00
kfd_topology.c Merge remote-tracking branch 'origin/master' into drm-next 2015-01-22 10:44:41 +10:00
kfd_topology.h amdkfd: Add topology module to amdkfd 2014-07-16 21:22:32 +03:00
Makefile Merge remote-tracking branch 'origin/master' into drm-next 2015-01-22 10:44:41 +10:00