[PATCH 15/30] drm/amdgpu: simplify amdgpu_gmc_flush_gpu_tlb()
Alex Deucher <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <[email protected]> |
It's only used for GART TLB flushes so rename it and remove additional parameters that are never used. Signed-off-by: Alex Deucher <[email protected]> --- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 16 ++++++---------- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 4 ++-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index c4c21dbbbdbf8..0db997c8fa03a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c @@ -502,7 +502,7 @@ void amdgpu_gart_invalidate_tlb(struct amdgpu_device *adev) up_read(&adev->reset_domain->sem); } for_each_set_bit(i, adev->vmhubs_mask, AMDGPU_MAX_VMHUBS) - amdgpu_gmc_flush_gpu_tlb(adev, 0, i, 0); + amdgpu_gmc_flush_gpu_tlb_gart(adev, i); } /** diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c index 2f6d20c00ce29..6af4ed2170b06 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c @@ -714,8 +714,8 @@ int amdgpu_gmc_allocate_vm_inv_eng(struct amdgpu_device *adev) return 0; } -void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, - uint32_t vmhub, uint32_t flush_type) +void amdgpu_gmc_flush_gpu_tlb_gart(struct amdgpu_device *adev, + uint32_t vmhub) { struct amdgpu_ring *ring; struct amdgpu_vmhub *hub = &adev->vmhub[vmhub]; @@ -725,7 +725,7 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, ring = to_amdgpu_ring(adev->mman.buffer_funcs_scheds[0]); - if (!hub->sdma_invalidation_workaround || vmid || + if (!hub->sdma_invalidation_workaround || !adev->mman.buffer_funcs_enabled || !adev->ib_pool_ready || !ring->sched.ready) { /* @@ -736,15 +736,11 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, return; if (adev->gmc.flush_tlb_needs_extra_type_2) - adev->gmc.gmc_funcs->flush_gpu_tlb(adev, vmid, + adev->gmc.gmc_funcs->flush_gpu_tlb(adev, 0, vmhub, 2); - if (adev->gmc.flush_tlb_needs_extra_type_0 && flush_type == 2) - adev->gmc.gmc_funcs->flush_gpu_tlb(adev, vmid, - vmhub, 0); - - adev->gmc.gmc_funcs->flush_gpu_tlb(adev, vmid, vmhub, - flush_type); + adev->gmc.gmc_funcs->flush_gpu_tlb(adev, 0, vmhub, + 0); up_read(&adev->reset_domain->sem); return; } diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h index f8f4df37d5805..23954e3180a8c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h @@ -441,8 +441,8 @@ int amdgpu_gmc_handle_retry_fault(struct amdgpu_device *adev, bool write_fault); int amdgpu_gmc_ras_sw_init(struct amdgpu_device *adev); int amdgpu_gmc_allocate_vm_inv_eng(struct amdgpu_device *adev); -void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, - uint32_t vmhub, uint32_t flush_type); +void amdgpu_gmc_flush_gpu_tlb_gart(struct amdgpu_device *adev, + uint32_t vmhub); int amdgpu_gmc_flush_gpu_tlb_pasid(struct amdgpu_device *adev, uint16_t pasid, uint32_t flush_type, bool all_hub, uint32_t inst); -- 2.55.0