mirror of https://gitee.com/openkylin/linux.git
Merge tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux into drm-next
Two small bug fixes for the code you pulled for 4.3: - Used a SHIFT define instead of a MASK define to check if a bit is turned on when destroying hqd. Luckily, this is in gfx7 interface file with amdgpu, which was used only for bring-up purposes of amdgpu, so no real effect on a running system - Used a logical AND instead of a bitwise AND operator, when initializing sdma virtual memory when using SDMA queues * tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: fix bug when initializing sdma vm drm/amdgpu: fix bug when amdkfd destroys hqd
This commit is contained in:
commit
8f9cb50789
|
@ -450,7 +450,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, uint32_t reset_type,
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
temp = RREG32(mmCP_HQD_ACTIVE);
|
temp = RREG32(mmCP_HQD_ACTIVE);
|
||||||
if (temp & CP_HQD_ACTIVE__ACTIVE__SHIFT)
|
if (temp & CP_HQD_ACTIVE__ACTIVE_MASK)
|
||||||
break;
|
break;
|
||||||
if (timeout == 0) {
|
if (timeout == 0) {
|
||||||
pr_err("kfd: cp queue preemption time out (%dms)\n",
|
pr_err("kfd: cp queue preemption time out (%dms)\n",
|
||||||
|
|
|
@ -143,7 +143,7 @@ static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q,
|
||||||
get_sh_mem_bases_32(qpd_to_pdd(qpd));
|
get_sh_mem_bases_32(qpd_to_pdd(qpd));
|
||||||
else
|
else
|
||||||
value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) <<
|
value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) <<
|
||||||
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &&
|
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &
|
||||||
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
|
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
|
||||||
|
|
||||||
q->properties.sdma_vm_addr = value;
|
q->properties.sdma_vm_addr = value;
|
||||||
|
|
|
@ -155,7 +155,7 @@ static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q,
|
||||||
get_sh_mem_bases_32(qpd_to_pdd(qpd));
|
get_sh_mem_bases_32(qpd_to_pdd(qpd));
|
||||||
else
|
else
|
||||||
value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) <<
|
value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) <<
|
||||||
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &&
|
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &
|
||||||
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
|
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
|
||||||
|
|
||||||
q->properties.sdma_vm_addr = value;
|
q->properties.sdma_vm_addr = value;
|
||||||
|
|
Loading…
Reference in New Issue