aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
authorOded Gabbay <oded.gabbay@gmail.com>2015-07-29 03:40:26 -0400
committerOded Gabbay <oded.gabbay@gmail.com>2015-07-30 02:26:15 -0400
commita63c580a5271b61f12cf91e768120e33792e2907 (patch)
treefc11e60f505a2e7e6c60007cfc130b47207bfe34 /drivers/gpu/drm/amd
parente8a64b20eb27cd9c9403f51e4e6c415f9e096e39 (diff)
drm/amdkfd: fix bug when initializing sdma vm
A logical AND operation was used during mask and shift, instead of a bitwise AND operation. This patch fixes this bug by changing the operation to bitwise AND. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c2
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
index 23ce774ff09d..c6f435aa803f 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
@@ -143,7 +143,7 @@ static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q,
143 get_sh_mem_bases_32(qpd_to_pdd(qpd)); 143 get_sh_mem_bases_32(qpd_to_pdd(qpd));
144 else 144 else
145 value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) << 145 value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) <<
146 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) && 146 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &
147 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK; 147 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
148 148
149 q->properties.sdma_vm_addr = value; 149 q->properties.sdma_vm_addr = value;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
index 44c38e8e54d3..7e9cae9d349b 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
@@ -155,7 +155,7 @@ static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q,
155 get_sh_mem_bases_32(qpd_to_pdd(qpd)); 155 get_sh_mem_bases_32(qpd_to_pdd(qpd));
156 else 156 else
157 value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) << 157 value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) <<
158 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) && 158 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &
159 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK; 159 SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
160 160
161 q->properties.sdma_vm_addr = value; 161 q->properties.sdma_vm_addr = value;