drm/amdgpu: add a ring func for vcn start command
Needed for the proper command sequence for VCN. Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
7741cced67
commit
ef44f8541e
|
@ -169,6 +169,9 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
|
||||||
dma_fence_put(tmp);
|
dma_fence_put(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ring->funcs->insert_start)
|
||||||
|
ring->funcs->insert_start(ring);
|
||||||
|
|
||||||
if (vm) {
|
if (vm) {
|
||||||
r = amdgpu_vm_flush(ring, job);
|
r = amdgpu_vm_flush(ring, job);
|
||||||
if (r) {
|
if (r) {
|
||||||
|
|
|
@ -132,6 +132,7 @@ struct amdgpu_ring_funcs {
|
||||||
int (*test_ib)(struct amdgpu_ring *ring, long timeout);
|
int (*test_ib)(struct amdgpu_ring *ring, long timeout);
|
||||||
/* insert NOP packets */
|
/* insert NOP packets */
|
||||||
void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
|
void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
|
||||||
|
void (*insert_start)(struct amdgpu_ring *ring);
|
||||||
void (*insert_end)(struct amdgpu_ring *ring);
|
void (*insert_end)(struct amdgpu_ring *ring);
|
||||||
/* pad the indirect buffer to the necessary number of dw */
|
/* pad the indirect buffer to the necessary number of dw */
|
||||||
void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
|
void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
|
||||||
|
|
Loading…
Reference in New Issue