mirror of
https://github.com/torvalds/linux.git
synced 2026-05-01 04:52:32 -04:00
drm/amdgpu: fix up GDS/GWS/OA shifting
That only worked by pure coincident. Completely remove the shifting and always apply correct PAGE_SHIFT. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
403009bfba
commit
77a2faa55c
@@ -1527,8 +1527,7 @@ static int gfx_v9_0_ngg_en(struct amdgpu_device *adev)
|
||||
gfx_v9_0_write_data_to_reg(ring, 0, false,
|
||||
SOC15_REG_OFFSET(GC, 0, mmGDS_VMID0_SIZE),
|
||||
(adev->gds.mem.total_size +
|
||||
adev->gfx.ngg.gds_reserve_size) >>
|
||||
AMDGPU_GDS_SHIFT);
|
||||
adev->gfx.ngg.gds_reserve_size));
|
||||
|
||||
amdgpu_ring_write(ring, PACKET3(PACKET3_DMA_DATA, 5));
|
||||
amdgpu_ring_write(ring, (PACKET3_DMA_DATA_CP_SYNC |
|
||||
@@ -3472,15 +3471,6 @@ static void gfx_v9_0_ring_emit_gds_switch(struct amdgpu_ring *ring,
|
||||
{
|
||||
struct amdgpu_device *adev = ring->adev;
|
||||
|
||||
gds_base = gds_base >> AMDGPU_GDS_SHIFT;
|
||||
gds_size = gds_size >> AMDGPU_GDS_SHIFT;
|
||||
|
||||
gws_base = gws_base >> AMDGPU_GWS_SHIFT;
|
||||
gws_size = gws_size >> AMDGPU_GWS_SHIFT;
|
||||
|
||||
oa_base = oa_base >> AMDGPU_OA_SHIFT;
|
||||
oa_size = oa_size >> AMDGPU_OA_SHIFT;
|
||||
|
||||
/* GDS Base */
|
||||
gfx_v9_0_write_data_to_reg(ring, 0, false,
|
||||
SOC15_REG_OFFSET(GC, 0, mmGDS_VMID0_BASE) + 2 * vmid,
|
||||
|
||||
Reference in New Issue
Block a user