[PATCH 11/18] drm/amdgpu:add vgt_flush for gfx9
Marek Olšák
maraeo at gmail.com
Mon Sep 18 15:48:36 UTC 2017
Yes, the UMD does it.
Marek
On Mon, Sep 18, 2017 at 11:18 AM, Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
> Am 18.09.2017 um 08:11 schrieb Monk Liu:
>>
>> Change-Id: I584572cfb9145ee1b8d11d69ba2989bd6acfd706
>> Signed-off-by: Monk Liu <Monk.Liu at amd.com>
>
>
> I could be wrong, but wasn't the consensus that this should be done by the
> UMD?
>
> Marek, please comment.
>
> Christian.
>
>
>> ---
>> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> index 3306667..f201510 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> @@ -3499,6 +3499,17 @@ static void gfx_v9_0_ring_set_wptr_gfx(struct
>> amdgpu_ring *ring)
>> }
>> }
>> +static void gfx_v9_0_ring_emit_vgt_flush(struct amdgpu_ring *ring)
>> +{
>> + amdgpu_ring_write(ring, PACKET3(PACKET3_EVENT_WRITE, 0));
>> + amdgpu_ring_write(ring, EVENT_TYPE(VS_PARTIAL_FLUSH) |
>> + EVENT_INDEX(4));
>> +
>> + amdgpu_ring_write(ring, PACKET3(PACKET3_EVENT_WRITE, 0));
>> + amdgpu_ring_write(ring, EVENT_TYPE(VGT_FLUSH) |
>> + EVENT_INDEX(0));
>> +}
>> +
>> static void gfx_v9_0_ring_emit_hdp_flush(struct amdgpu_ring *ring)
>> {
>> u32 ref_and_mask, reg_mem_engine;
>> @@ -3530,6 +3541,9 @@ static void gfx_v9_0_ring_emit_hdp_flush(struct
>> amdgpu_ring *ring)
>> nbio_hf_reg->hdp_flush_req_offset,
>> nbio_hf_reg->hdp_flush_done_offset,
>> ref_and_mask, ref_and_mask, 0x20);
>> +
>> + if (ring->funcs->type == AMDGPU_RING_TYPE_GFX)
>> + gfx_v9_0_ring_emit_vgt_flush(ring);
>> }
>> static void gfx_v9_0_ring_emit_hdp_invalidate(struct amdgpu_ring
>> *ring)
>
>
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list