mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 17:54:13 +08:00
drm/amdgpu: modify packet size for pm4 flush tlbs
[Why] PM4 packet size for flush message was oversized. [How] Packet size adjusted to allocate flush + fence packets. Signed-off-by: Alex Sierra <alex.sierra@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
d7ca2d19c7
commit
36a1707afd
@ -368,7 +368,7 @@ static const struct kiq_pm4_funcs gfx_v10_0_kiq_pm4_funcs = {
|
||||
.map_queues_size = 7,
|
||||
.unmap_queues_size = 6,
|
||||
.query_status_size = 7,
|
||||
.invalidate_tlbs_size = 12,
|
||||
.invalidate_tlbs_size = 2,
|
||||
};
|
||||
|
||||
static void gfx_v10_0_set_kiq_pm4_funcs(struct amdgpu_device *adev)
|
||||
|
@ -859,7 +859,7 @@ static const struct kiq_pm4_funcs gfx_v9_0_kiq_pm4_funcs = {
|
||||
.map_queues_size = 7,
|
||||
.unmap_queues_size = 6,
|
||||
.query_status_size = 7,
|
||||
.invalidate_tlbs_size = 12,
|
||||
.invalidate_tlbs_size = 2,
|
||||
};
|
||||
|
||||
static void gfx_v9_0_set_kiq_pm4_funcs(struct amdgpu_device *adev)
|
||||
|
@ -418,7 +418,8 @@ static int gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
|
||||
|
||||
if (amdgpu_emu_mode == 0 && ring->sched.ready) {
|
||||
spin_lock(&adev->gfx.kiq.ring_lock);
|
||||
amdgpu_ring_alloc(ring, kiq->pmf->invalidate_tlbs_size);
|
||||
/* 2 dwords flush + 8 dwords fence */
|
||||
amdgpu_ring_alloc(ring, kiq->pmf->invalidate_tlbs_size + 8);
|
||||
kiq->pmf->kiq_invalidate_tlbs(ring,
|
||||
pasid, flush_type, all_hub);
|
||||
amdgpu_fence_emit_polling(ring, &seq);
|
||||
|
@ -578,7 +578,8 @@ static int gmc_v9_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
|
||||
|
||||
if (ring->sched.ready) {
|
||||
spin_lock(&adev->gfx.kiq.ring_lock);
|
||||
amdgpu_ring_alloc(ring, kiq->pmf->invalidate_tlbs_size);
|
||||
/* 2 dwords flush + 8 dwords fence */
|
||||
amdgpu_ring_alloc(ring, kiq->pmf->invalidate_tlbs_size + 8);
|
||||
kiq->pmf->kiq_invalidate_tlbs(ring,
|
||||
pasid, flush_type, all_hub);
|
||||
amdgpu_fence_emit_polling(ring, &seq);
|
||||
|
Loading…
Reference in New Issue
Block a user