drm/amdkfd: Preserve CP_MQD_IQ_RPTR internal state
authorJay Cornwall <jay.cornwall@amd.com>
Mon, 19 Jan 2015 17:47:34 +0000 (11:47 -0600)
committerOded Gabbay <oded.gabbay@amd.com>
Mon, 19 Jan 2015 17:47:34 +0000 (11:47 -0600)
commitd752f95e55ed36648fc2bcbca348f5113920c357
tree15b70eedfca815c542742354c5099e9c760984d7
parentb6819cec29cc0088e7398db9ed8377ab8328e012
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>
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c