diff options
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c index 2fd60de1377e..adf8e525c6ea 100644 --- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | |||
| @@ -506,6 +506,20 @@ static void vcn_v1_0_dec_ring_insert_start(struct amdgpu_ring *ring) | |||
| 506 | } | 506 | } |
| 507 | 507 | ||
| 508 | /** | 508 | /** |
| 509 | * vcn_v1_0_dec_ring_insert_end - insert a end command | ||
| 510 | * | ||
| 511 | * @ring: amdgpu_ring pointer | ||
| 512 | * | ||
| 513 | * Write a end command to the ring. | ||
| 514 | */ | ||
| 515 | static void vcn_v1_0_dec_ring_insert_end(struct amdgpu_ring *ring) | ||
| 516 | { | ||
| 517 | amdgpu_ring_write(ring, | ||
| 518 | PACKET0(SOC15_REG_OFFSET(UVD, 0, mmUVD_GPCOM_VCPU_CMD), 0)); | ||
| 519 | amdgpu_ring_write(ring, VCN_CMD_PACKET_END << 1); | ||
| 520 | } | ||
| 521 | |||
| 522 | /** | ||
| 509 | * vcn_v1_0_dec_ring_emit_fence - emit an fence & trap command | 523 | * vcn_v1_0_dec_ring_emit_fence - emit an fence & trap command |
| 510 | * | 524 | * |
| 511 | * @ring: amdgpu_ring pointer | 525 | * @ring: amdgpu_ring pointer |
| @@ -701,7 +715,7 @@ static const struct amdgpu_ring_funcs vcn_v1_0_dec_ring_vm_funcs = { | |||
| 701 | 2 + /* vcn_v1_0_dec_ring_emit_hdp_invalidate */ | 715 | 2 + /* vcn_v1_0_dec_ring_emit_hdp_invalidate */ |
| 702 | 34 * AMDGPU_MAX_VMHUBS + /* vcn_v1_0_dec_ring_emit_vm_flush */ | 716 | 34 * AMDGPU_MAX_VMHUBS + /* vcn_v1_0_dec_ring_emit_vm_flush */ |
| 703 | 14 + 14 + /* vcn_v1_0_dec_ring_emit_fence x2 vm fence */ | 717 | 14 + 14 + /* vcn_v1_0_dec_ring_emit_fence x2 vm fence */ |
| 704 | 4, | 718 | 6, |
| 705 | .emit_ib_size = 8, /* vcn_v1_0_dec_ring_emit_ib */ | 719 | .emit_ib_size = 8, /* vcn_v1_0_dec_ring_emit_ib */ |
| 706 | .emit_ib = vcn_v1_0_dec_ring_emit_ib, | 720 | .emit_ib = vcn_v1_0_dec_ring_emit_ib, |
| 707 | .emit_fence = vcn_v1_0_dec_ring_emit_fence, | 721 | .emit_fence = vcn_v1_0_dec_ring_emit_fence, |
| @@ -711,6 +725,7 @@ static const struct amdgpu_ring_funcs vcn_v1_0_dec_ring_vm_funcs = { | |||
| 711 | .test_ib = amdgpu_vcn_dec_ring_test_ib, | 725 | .test_ib = amdgpu_vcn_dec_ring_test_ib, |
| 712 | .insert_nop = amdgpu_ring_insert_nop, | 726 | .insert_nop = amdgpu_ring_insert_nop, |
| 713 | .insert_start = vcn_v1_0_dec_ring_insert_start, | 727 | .insert_start = vcn_v1_0_dec_ring_insert_start, |
| 728 | .insert_end = vcn_v1_0_dec_ring_insert_end, | ||
| 714 | .pad_ib = amdgpu_ring_generic_pad_ib, | 729 | .pad_ib = amdgpu_ring_generic_pad_ib, |
| 715 | .begin_use = amdgpu_vcn_ring_begin_use, | 730 | .begin_use = amdgpu_vcn_ring_begin_use, |
| 716 | .end_use = amdgpu_vcn_ring_end_use, | 731 | .end_use = amdgpu_vcn_ring_end_use, |
