diff options
author | Christian König <christian.koenig@amd.com> | 2016-10-05 09:36:39 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-10-25 14:38:37 -0400 |
commit | 21cd942e5c471941769cd0515164b169d012ad8a (patch) | |
tree | d3f70705cbb5b625404bc220abc0aa36d565dbff | |
parent | e12f3d7a23c99617f72305a805ed827567a43a9c (diff) |
drm/amdgpu: move the ring type into the funcs structure (v2)
It's constant, so it doesn't make to much sense to keep it
with the variable data.
v2: update vce and uvd phys mode ring structures as well
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 16 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 14 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/si_dma.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 4 |
16 files changed, 52 insertions, 43 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index a13e551e67cf..04b7aaf770e4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
@@ -942,8 +942,8 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, | |||
942 | 942 | ||
943 | /* UVD & VCE fw doesn't support user fences */ | 943 | /* UVD & VCE fw doesn't support user fences */ |
944 | if (parser->job->uf_addr && ( | 944 | if (parser->job->uf_addr && ( |
945 | parser->job->ring->type == AMDGPU_RING_TYPE_UVD || | 945 | parser->job->ring->funcs->type == AMDGPU_RING_TYPE_UVD || |
946 | parser->job->ring->type == AMDGPU_RING_TYPE_VCE)) | 946 | parser->job->ring->funcs->type == AMDGPU_RING_TYPE_VCE)) |
947 | return -EINVAL; | 947 | return -EINVAL; |
948 | 948 | ||
949 | return 0; | 949 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 3cb5e903cd62..b81b1244a120 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | |||
@@ -164,8 +164,7 @@ void amdgpu_ring_undo(struct amdgpu_ring *ring) | |||
164 | */ | 164 | */ |
165 | int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, | 165 | int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, |
166 | unsigned max_dw, u32 nop, u32 align_mask, | 166 | unsigned max_dw, u32 nop, u32 align_mask, |
167 | struct amdgpu_irq_src *irq_src, unsigned irq_type, | 167 | struct amdgpu_irq_src *irq_src, unsigned irq_type) |
168 | enum amdgpu_ring_type ring_type) | ||
169 | { | 168 | { |
170 | int r; | 169 | int r; |
171 | 170 | ||
@@ -218,7 +217,6 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, | |||
218 | amdgpu_sched_hw_submission); | 217 | amdgpu_sched_hw_submission); |
219 | ring->align_mask = align_mask; | 218 | ring->align_mask = align_mask; |
220 | ring->nop = nop; | 219 | ring->nop = nop; |
221 | ring->type = ring_type; | ||
222 | 220 | ||
223 | /* Allocate ring buffer */ | 221 | /* Allocate ring buffer */ |
224 | if (ring->ring_obj == NULL) { | 222 | if (ring->ring_obj == NULL) { |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h index 767843c2b1d7..6cf89c97ef8e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | |||
@@ -92,6 +92,8 @@ unsigned amdgpu_fence_count_emitted(struct amdgpu_ring *ring); | |||
92 | 92 | ||
93 | /* provided by hw blocks that expose a ring buffer for commands */ | 93 | /* provided by hw blocks that expose a ring buffer for commands */ |
94 | struct amdgpu_ring_funcs { | 94 | struct amdgpu_ring_funcs { |
95 | enum amdgpu_ring_type type; | ||
96 | |||
95 | /* ring read/write ptr handling */ | 97 | /* ring read/write ptr handling */ |
96 | u32 (*get_rptr)(struct amdgpu_ring *ring); | 98 | u32 (*get_rptr)(struct amdgpu_ring *ring); |
97 | u32 (*get_wptr)(struct amdgpu_ring *ring); | 99 | u32 (*get_wptr)(struct amdgpu_ring *ring); |
@@ -161,7 +163,6 @@ struct amdgpu_ring { | |||
161 | unsigned wptr_offs; | 163 | unsigned wptr_offs; |
162 | unsigned fence_offs; | 164 | unsigned fence_offs; |
163 | uint64_t current_ctx; | 165 | uint64_t current_ctx; |
164 | enum amdgpu_ring_type type; | ||
165 | char name[16]; | 166 | char name[16]; |
166 | unsigned cond_exe_offs; | 167 | unsigned cond_exe_offs; |
167 | u64 cond_exe_gpu_addr; | 168 | u64 cond_exe_gpu_addr; |
@@ -178,8 +179,7 @@ void amdgpu_ring_commit(struct amdgpu_ring *ring); | |||
178 | void amdgpu_ring_undo(struct amdgpu_ring *ring); | 179 | void amdgpu_ring_undo(struct amdgpu_ring *ring); |
179 | int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, | 180 | int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, |
180 | unsigned ring_size, u32 nop, u32 align_mask, | 181 | unsigned ring_size, u32 nop, u32 align_mask, |
181 | struct amdgpu_irq_src *irq_src, unsigned irq_type, | 182 | struct amdgpu_irq_src *irq_src, unsigned irq_type); |
182 | enum amdgpu_ring_type ring_type); | ||
183 | void amdgpu_ring_fini(struct amdgpu_ring *ring); | 183 | void amdgpu_ring_fini(struct amdgpu_ring *ring); |
184 | 184 | ||
185 | #endif | 185 | #endif |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index b8620d3dd61e..da66823eff1c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
@@ -348,7 +348,7 @@ static bool amdgpu_vm_ring_has_compute_vm_bug(struct amdgpu_ring *ring) | |||
348 | struct amdgpu_device *adev = ring->adev; | 348 | struct amdgpu_device *adev = ring->adev; |
349 | const struct amdgpu_ip_block_version *ip_block; | 349 | const struct amdgpu_ip_block_version *ip_block; |
350 | 350 | ||
351 | if (ring->type != AMDGPU_RING_TYPE_COMPUTE) | 351 | if (ring->funcs->type != AMDGPU_RING_TYPE_COMPUTE) |
352 | /* only compute rings */ | 352 | /* only compute rings */ |
353 | return false; | 353 | return false; |
354 | 354 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c index 49b34decce58..472cfff28ccf 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c | |||
@@ -946,8 +946,8 @@ static int cik_sdma_sw_init(void *handle) | |||
946 | SDMA_PACKET(SDMA_OPCODE_NOP, 0, 0), 0xf, | 946 | SDMA_PACKET(SDMA_OPCODE_NOP, 0, 0), 0xf, |
947 | &adev->sdma.trap_irq, | 947 | &adev->sdma.trap_irq, |
948 | (i == 0) ? | 948 | (i == 0) ? |
949 | AMDGPU_SDMA_IRQ_TRAP0 : AMDGPU_SDMA_IRQ_TRAP1, | 949 | AMDGPU_SDMA_IRQ_TRAP0 : |
950 | AMDGPU_RING_TYPE_SDMA); | 950 | AMDGPU_SDMA_IRQ_TRAP1); |
951 | if (r) | 951 | if (r) |
952 | return r; | 952 | return r; |
953 | } | 953 | } |
@@ -1209,6 +1209,7 @@ const struct amd_ip_funcs cik_sdma_ip_funcs = { | |||
1209 | }; | 1209 | }; |
1210 | 1210 | ||
1211 | static const struct amdgpu_ring_funcs cik_sdma_ring_funcs = { | 1211 | static const struct amdgpu_ring_funcs cik_sdma_ring_funcs = { |
1212 | .type = AMDGPU_RING_TYPE_SDMA, | ||
1212 | .get_rptr = cik_sdma_ring_get_rptr, | 1213 | .get_rptr = cik_sdma_ring_get_rptr, |
1213 | .get_wptr = cik_sdma_ring_get_wptr, | 1214 | .get_wptr = cik_sdma_ring_get_wptr, |
1214 | .set_wptr = cik_sdma_ring_set_wptr, | 1215 | .set_wptr = cik_sdma_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c index a86b17944bcf..1f8687fd8662 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | |||
@@ -1940,7 +1940,7 @@ static int gfx_v6_0_cp_resume(struct amdgpu_device *adev) | |||
1940 | 1940 | ||
1941 | static void gfx_v6_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) | 1941 | static void gfx_v6_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) |
1942 | { | 1942 | { |
1943 | int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); | 1943 | int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX); |
1944 | uint32_t seq = ring->fence_drv.sync_seq; | 1944 | uint32_t seq = ring->fence_drv.sync_seq; |
1945 | uint64_t addr = ring->fence_drv.gpu_addr; | 1945 | uint64_t addr = ring->fence_drv.gpu_addr; |
1946 | 1946 | ||
@@ -1966,7 +1966,7 @@ static void gfx_v6_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) | |||
1966 | static void gfx_v6_0_ring_emit_vm_flush(struct amdgpu_ring *ring, | 1966 | static void gfx_v6_0_ring_emit_vm_flush(struct amdgpu_ring *ring, |
1967 | unsigned vm_id, uint64_t pd_addr) | 1967 | unsigned vm_id, uint64_t pd_addr) |
1968 | { | 1968 | { |
1969 | int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); | 1969 | int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX); |
1970 | 1970 | ||
1971 | /* write new base address */ | 1971 | /* write new base address */ |
1972 | amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); | 1972 | amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); |
@@ -2870,8 +2870,7 @@ static int gfx_v6_0_sw_init(void *handle) | |||
2870 | sprintf(ring->name, "gfx"); | 2870 | sprintf(ring->name, "gfx"); |
2871 | r = amdgpu_ring_init(adev, ring, 1024, | 2871 | r = amdgpu_ring_init(adev, ring, 1024, |
2872 | 0x80000000, 0xff, | 2872 | 0x80000000, 0xff, |
2873 | &adev->gfx.eop_irq, AMDGPU_CP_IRQ_GFX_EOP, | 2873 | &adev->gfx.eop_irq, AMDGPU_CP_IRQ_GFX_EOP); |
2874 | AMDGPU_RING_TYPE_GFX); | ||
2875 | if (r) | 2874 | if (r) |
2876 | return r; | 2875 | return r; |
2877 | } | 2876 | } |
@@ -2894,8 +2893,7 @@ static int gfx_v6_0_sw_init(void *handle) | |||
2894 | irq_type = AMDGPU_CP_IRQ_COMPUTE_MEC1_PIPE0_EOP + ring->pipe; | 2893 | irq_type = AMDGPU_CP_IRQ_COMPUTE_MEC1_PIPE0_EOP + ring->pipe; |
2895 | r = amdgpu_ring_init(adev, ring, 1024, | 2894 | r = amdgpu_ring_init(adev, ring, 1024, |
2896 | 0x80000000, 0xff, | 2895 | 0x80000000, 0xff, |
2897 | &adev->gfx.eop_irq, irq_type, | 2896 | &adev->gfx.eop_irq, irq_type); |
2898 | AMDGPU_RING_TYPE_COMPUTE); | ||
2899 | if (r) | 2897 | if (r) |
2900 | return r; | 2898 | return r; |
2901 | } | 2899 | } |
@@ -3228,6 +3226,7 @@ const struct amd_ip_funcs gfx_v6_0_ip_funcs = { | |||
3228 | }; | 3226 | }; |
3229 | 3227 | ||
3230 | static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = { | 3228 | static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = { |
3229 | .type = AMDGPU_RING_TYPE_GFX, | ||
3231 | .get_rptr = gfx_v6_0_ring_get_rptr, | 3230 | .get_rptr = gfx_v6_0_ring_get_rptr, |
3232 | .get_wptr = gfx_v6_0_ring_get_wptr, | 3231 | .get_wptr = gfx_v6_0_ring_get_wptr, |
3233 | .set_wptr = gfx_v6_0_ring_set_wptr_gfx, | 3232 | .set_wptr = gfx_v6_0_ring_set_wptr_gfx, |
@@ -3252,6 +3251,7 @@ static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = { | |||
3252 | }; | 3251 | }; |
3253 | 3252 | ||
3254 | static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_compute = { | 3253 | static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_compute = { |
3254 | .type = AMDGPU_RING_TYPE_COMPUTE, | ||
3255 | .get_rptr = gfx_v6_0_ring_get_rptr, | 3255 | .get_rptr = gfx_v6_0_ring_get_rptr, |
3256 | .get_wptr = gfx_v6_0_ring_get_wptr, | 3256 | .get_wptr = gfx_v6_0_ring_get_wptr, |
3257 | .set_wptr = gfx_v6_0_ring_set_wptr_compute, | 3257 | .set_wptr = gfx_v6_0_ring_set_wptr_compute, |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c index f2415f58c160..cb2fc826f95c 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | |||
@@ -2077,9 +2077,9 @@ static int gfx_v7_0_ring_test_ring(struct amdgpu_ring *ring) | |||
2077 | static void gfx_v7_0_ring_emit_hdp_flush(struct amdgpu_ring *ring) | 2077 | static void gfx_v7_0_ring_emit_hdp_flush(struct amdgpu_ring *ring) |
2078 | { | 2078 | { |
2079 | u32 ref_and_mask; | 2079 | u32 ref_and_mask; |
2080 | int usepfp = ring->type == AMDGPU_RING_TYPE_COMPUTE ? 0 : 1; | 2080 | int usepfp = ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE ? 0 : 1; |
2081 | 2081 | ||
2082 | if (ring->type == AMDGPU_RING_TYPE_COMPUTE) { | 2082 | if (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE) { |
2083 | switch (ring->me) { | 2083 | switch (ring->me) { |
2084 | case 1: | 2084 | case 1: |
2085 | ref_and_mask = GPU_HDP_FLUSH_DONE__CP2_MASK << ring->pipe; | 2085 | ref_and_mask = GPU_HDP_FLUSH_DONE__CP2_MASK << ring->pipe; |
@@ -3222,7 +3222,7 @@ static int gfx_v7_0_cp_resume(struct amdgpu_device *adev) | |||
3222 | */ | 3222 | */ |
3223 | static void gfx_v7_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) | 3223 | static void gfx_v7_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) |
3224 | { | 3224 | { |
3225 | int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); | 3225 | int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX); |
3226 | uint32_t seq = ring->fence_drv.sync_seq; | 3226 | uint32_t seq = ring->fence_drv.sync_seq; |
3227 | uint64_t addr = ring->fence_drv.gpu_addr; | 3227 | uint64_t addr = ring->fence_drv.gpu_addr; |
3228 | 3228 | ||
@@ -3262,7 +3262,7 @@ static void gfx_v7_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) | |||
3262 | static void gfx_v7_0_ring_emit_vm_flush(struct amdgpu_ring *ring, | 3262 | static void gfx_v7_0_ring_emit_vm_flush(struct amdgpu_ring *ring, |
3263 | unsigned vm_id, uint64_t pd_addr) | 3263 | unsigned vm_id, uint64_t pd_addr) |
3264 | { | 3264 | { |
3265 | int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); | 3265 | int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX); |
3266 | 3266 | ||
3267 | amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); | 3267 | amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); |
3268 | amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(usepfp) | | 3268 | amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(usepfp) | |
@@ -4612,8 +4612,7 @@ static int gfx_v7_0_sw_init(void *handle) | |||
4612 | sprintf(ring->name, "gfx"); | 4612 | sprintf(ring->name, "gfx"); |
4613 | r = amdgpu_ring_init(adev, ring, 1024, | 4613 | r = amdgpu_ring_init(adev, ring, 1024, |
4614 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, | 4614 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, |
4615 | &adev->gfx.eop_irq, AMDGPU_CP_IRQ_GFX_EOP, | 4615 | &adev->gfx.eop_irq, AMDGPU_CP_IRQ_GFX_EOP); |
4616 | AMDGPU_RING_TYPE_GFX); | ||
4617 | if (r) | 4616 | if (r) |
4618 | return r; | 4617 | return r; |
4619 | } | 4618 | } |
@@ -4639,8 +4638,7 @@ static int gfx_v7_0_sw_init(void *handle) | |||
4639 | /* type-2 packets are deprecated on MEC, use type-3 instead */ | 4638 | /* type-2 packets are deprecated on MEC, use type-3 instead */ |
4640 | r = amdgpu_ring_init(adev, ring, 1024, | 4639 | r = amdgpu_ring_init(adev, ring, 1024, |
4641 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, | 4640 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, |
4642 | &adev->gfx.eop_irq, irq_type, | 4641 | &adev->gfx.eop_irq, irq_type); |
4643 | AMDGPU_RING_TYPE_COMPUTE); | ||
4644 | if (r) | 4642 | if (r) |
4645 | return r; | 4643 | return r; |
4646 | } | 4644 | } |
@@ -5109,6 +5107,7 @@ const struct amd_ip_funcs gfx_v7_0_ip_funcs = { | |||
5109 | }; | 5107 | }; |
5110 | 5108 | ||
5111 | static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { | 5109 | static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { |
5110 | .type = AMDGPU_RING_TYPE_GFX, | ||
5112 | .get_rptr = gfx_v7_0_ring_get_rptr, | 5111 | .get_rptr = gfx_v7_0_ring_get_rptr, |
5113 | .get_wptr = gfx_v7_0_ring_get_wptr_gfx, | 5112 | .get_wptr = gfx_v7_0_ring_get_wptr_gfx, |
5114 | .set_wptr = gfx_v7_0_ring_set_wptr_gfx, | 5113 | .set_wptr = gfx_v7_0_ring_set_wptr_gfx, |
@@ -5136,6 +5135,7 @@ static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { | |||
5136 | }; | 5135 | }; |
5137 | 5136 | ||
5138 | static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_compute = { | 5137 | static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_compute = { |
5138 | .type = AMDGPU_RING_TYPE_COMPUTE, | ||
5139 | .get_rptr = gfx_v7_0_ring_get_rptr, | 5139 | .get_rptr = gfx_v7_0_ring_get_rptr, |
5140 | .get_wptr = gfx_v7_0_ring_get_wptr_compute, | 5140 | .get_wptr = gfx_v7_0_ring_get_wptr_compute, |
5141 | .set_wptr = gfx_v7_0_ring_set_wptr_compute, | 5141 | .set_wptr = gfx_v7_0_ring_set_wptr_compute, |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index e3330d06af9a..637dbc1a2e48 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | |||
@@ -2036,8 +2036,7 @@ static int gfx_v8_0_sw_init(void *handle) | |||
2036 | 2036 | ||
2037 | r = amdgpu_ring_init(adev, ring, 1024, | 2037 | r = amdgpu_ring_init(adev, ring, 1024, |
2038 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, | 2038 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, |
2039 | &adev->gfx.eop_irq, AMDGPU_CP_IRQ_GFX_EOP, | 2039 | &adev->gfx.eop_irq, AMDGPU_CP_IRQ_GFX_EOP); |
2040 | AMDGPU_RING_TYPE_GFX); | ||
2041 | if (r) | 2040 | if (r) |
2042 | return r; | 2041 | return r; |
2043 | } | 2042 | } |
@@ -2063,8 +2062,7 @@ static int gfx_v8_0_sw_init(void *handle) | |||
2063 | /* type-2 packets are deprecated on MEC, use type-3 instead */ | 2062 | /* type-2 packets are deprecated on MEC, use type-3 instead */ |
2064 | r = amdgpu_ring_init(adev, ring, 1024, | 2063 | r = amdgpu_ring_init(adev, ring, 1024, |
2065 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, | 2064 | PACKET3(PACKET3_NOP, 0x3FFF), 0xff, |
2066 | &adev->gfx.eop_irq, irq_type, | 2065 | &adev->gfx.eop_irq, irq_type); |
2067 | AMDGPU_RING_TYPE_COMPUTE); | ||
2068 | if (r) | 2066 | if (r) |
2069 | return r; | 2067 | return r; |
2070 | } | 2068 | } |
@@ -6127,7 +6125,7 @@ static void gfx_v8_0_ring_emit_hdp_flush(struct amdgpu_ring *ring) | |||
6127 | { | 6125 | { |
6128 | u32 ref_and_mask, reg_mem_engine; | 6126 | u32 ref_and_mask, reg_mem_engine; |
6129 | 6127 | ||
6130 | if (ring->type == AMDGPU_RING_TYPE_COMPUTE) { | 6128 | if (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE) { |
6131 | switch (ring->me) { | 6129 | switch (ring->me) { |
6132 | case 1: | 6130 | case 1: |
6133 | ref_and_mask = GPU_HDP_FLUSH_DONE__CP2_MASK << ring->pipe; | 6131 | ref_and_mask = GPU_HDP_FLUSH_DONE__CP2_MASK << ring->pipe; |
@@ -6229,7 +6227,7 @@ static void gfx_v8_0_ring_emit_fence_gfx(struct amdgpu_ring *ring, u64 addr, | |||
6229 | 6227 | ||
6230 | static void gfx_v8_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) | 6228 | static void gfx_v8_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) |
6231 | { | 6229 | { |
6232 | int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); | 6230 | int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX); |
6233 | uint32_t seq = ring->fence_drv.sync_seq; | 6231 | uint32_t seq = ring->fence_drv.sync_seq; |
6234 | uint64_t addr = ring->fence_drv.gpu_addr; | 6232 | uint64_t addr = ring->fence_drv.gpu_addr; |
6235 | 6233 | ||
@@ -6247,7 +6245,7 @@ static void gfx_v8_0_ring_emit_pipeline_sync(struct amdgpu_ring *ring) | |||
6247 | static void gfx_v8_0_ring_emit_vm_flush(struct amdgpu_ring *ring, | 6245 | static void gfx_v8_0_ring_emit_vm_flush(struct amdgpu_ring *ring, |
6248 | unsigned vm_id, uint64_t pd_addr) | 6246 | unsigned vm_id, uint64_t pd_addr) |
6249 | { | 6247 | { |
6250 | int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); | 6248 | int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX); |
6251 | 6249 | ||
6252 | amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); | 6250 | amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); |
6253 | amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(usepfp) | | 6251 | amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(usepfp) | |
@@ -6529,6 +6527,7 @@ const struct amd_ip_funcs gfx_v8_0_ip_funcs = { | |||
6529 | }; | 6527 | }; |
6530 | 6528 | ||
6531 | static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { | 6529 | static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { |
6530 | .type = AMDGPU_RING_TYPE_GFX, | ||
6532 | .get_rptr = gfx_v8_0_ring_get_rptr, | 6531 | .get_rptr = gfx_v8_0_ring_get_rptr, |
6533 | .get_wptr = gfx_v8_0_ring_get_wptr_gfx, | 6532 | .get_wptr = gfx_v8_0_ring_get_wptr_gfx, |
6534 | .set_wptr = gfx_v8_0_ring_set_wptr_gfx, | 6533 | .set_wptr = gfx_v8_0_ring_set_wptr_gfx, |
@@ -6558,6 +6557,7 @@ static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { | |||
6558 | }; | 6557 | }; |
6559 | 6558 | ||
6560 | static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_compute = { | 6559 | static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_compute = { |
6560 | .type = AMDGPU_RING_TYPE_COMPUTE, | ||
6561 | .get_rptr = gfx_v8_0_ring_get_rptr, | 6561 | .get_rptr = gfx_v8_0_ring_get_rptr, |
6562 | .get_wptr = gfx_v8_0_ring_get_wptr_compute, | 6562 | .get_wptr = gfx_v8_0_ring_get_wptr_compute, |
6563 | .set_wptr = gfx_v8_0_ring_set_wptr_compute, | 6563 | .set_wptr = gfx_v8_0_ring_set_wptr_compute, |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c index 7cd24e42aa9a..36a135de44fe 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | |||
@@ -952,8 +952,8 @@ static int sdma_v2_4_sw_init(void *handle) | |||
952 | SDMA_PKT_NOP_HEADER_OP(SDMA_OP_NOP), 0xf, | 952 | SDMA_PKT_NOP_HEADER_OP(SDMA_OP_NOP), 0xf, |
953 | &adev->sdma.trap_irq, | 953 | &adev->sdma.trap_irq, |
954 | (i == 0) ? | 954 | (i == 0) ? |
955 | AMDGPU_SDMA_IRQ_TRAP0 : AMDGPU_SDMA_IRQ_TRAP1, | 955 | AMDGPU_SDMA_IRQ_TRAP0 : |
956 | AMDGPU_RING_TYPE_SDMA); | 956 | AMDGPU_SDMA_IRQ_TRAP1); |
957 | if (r) | 957 | if (r) |
958 | return r; | 958 | return r; |
959 | } | 959 | } |
@@ -1206,6 +1206,7 @@ const struct amd_ip_funcs sdma_v2_4_ip_funcs = { | |||
1206 | }; | 1206 | }; |
1207 | 1207 | ||
1208 | static const struct amdgpu_ring_funcs sdma_v2_4_ring_funcs = { | 1208 | static const struct amdgpu_ring_funcs sdma_v2_4_ring_funcs = { |
1209 | .type = AMDGPU_RING_TYPE_SDMA, | ||
1209 | .get_rptr = sdma_v2_4_ring_get_rptr, | 1210 | .get_rptr = sdma_v2_4_ring_get_rptr, |
1210 | .get_wptr = sdma_v2_4_ring_get_wptr, | 1211 | .get_wptr = sdma_v2_4_ring_get_wptr, |
1211 | .set_wptr = sdma_v2_4_ring_set_wptr, | 1212 | .set_wptr = sdma_v2_4_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c index 6518993e23a8..e4f59c36f989 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | |||
@@ -1164,8 +1164,8 @@ static int sdma_v3_0_sw_init(void *handle) | |||
1164 | SDMA_PKT_NOP_HEADER_OP(SDMA_OP_NOP), 0xf, | 1164 | SDMA_PKT_NOP_HEADER_OP(SDMA_OP_NOP), 0xf, |
1165 | &adev->sdma.trap_irq, | 1165 | &adev->sdma.trap_irq, |
1166 | (i == 0) ? | 1166 | (i == 0) ? |
1167 | AMDGPU_SDMA_IRQ_TRAP0 : AMDGPU_SDMA_IRQ_TRAP1, | 1167 | AMDGPU_SDMA_IRQ_TRAP0 : |
1168 | AMDGPU_RING_TYPE_SDMA); | 1168 | AMDGPU_SDMA_IRQ_TRAP1); |
1169 | if (r) | 1169 | if (r) |
1170 | return r; | 1170 | return r; |
1171 | } | 1171 | } |
@@ -1549,6 +1549,7 @@ const struct amd_ip_funcs sdma_v3_0_ip_funcs = { | |||
1549 | }; | 1549 | }; |
1550 | 1550 | ||
1551 | static const struct amdgpu_ring_funcs sdma_v3_0_ring_funcs = { | 1551 | static const struct amdgpu_ring_funcs sdma_v3_0_ring_funcs = { |
1552 | .type = AMDGPU_RING_TYPE_SDMA, | ||
1552 | .get_rptr = sdma_v3_0_ring_get_rptr, | 1553 | .get_rptr = sdma_v3_0_ring_get_rptr, |
1553 | .get_wptr = sdma_v3_0_ring_get_wptr, | 1554 | .get_wptr = sdma_v3_0_ring_get_wptr, |
1554 | .set_wptr = sdma_v3_0_ring_set_wptr, | 1555 | .set_wptr = sdma_v3_0_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/si_dma.c b/drivers/gpu/drm/amd/amdgpu/si_dma.c index c1c1b5179de5..1aee45b0bb9e 100644 --- a/drivers/gpu/drm/amd/amdgpu/si_dma.c +++ b/drivers/gpu/drm/amd/amdgpu/si_dma.c | |||
@@ -534,8 +534,8 @@ static int si_dma_sw_init(void *handle) | |||
534 | DMA_PACKET(DMA_PACKET_NOP, 0, 0, 0, 0), 0xf, | 534 | DMA_PACKET(DMA_PACKET_NOP, 0, 0, 0, 0), 0xf, |
535 | &adev->sdma.trap_irq, | 535 | &adev->sdma.trap_irq, |
536 | (i == 0) ? | 536 | (i == 0) ? |
537 | AMDGPU_SDMA_IRQ_TRAP0 : AMDGPU_SDMA_IRQ_TRAP1, | 537 | AMDGPU_SDMA_IRQ_TRAP0 : |
538 | AMDGPU_RING_TYPE_SDMA); | 538 | AMDGPU_SDMA_IRQ_TRAP1); |
539 | if (r) | 539 | if (r) |
540 | return r; | 540 | return r; |
541 | } | 541 | } |
@@ -764,6 +764,7 @@ const struct amd_ip_funcs si_dma_ip_funcs = { | |||
764 | }; | 764 | }; |
765 | 765 | ||
766 | static const struct amdgpu_ring_funcs si_dma_ring_funcs = { | 766 | static const struct amdgpu_ring_funcs si_dma_ring_funcs = { |
767 | .type = AMDGPU_RING_TYPE_SDMA, | ||
767 | .get_rptr = si_dma_ring_get_rptr, | 768 | .get_rptr = si_dma_ring_get_rptr, |
768 | .get_wptr = si_dma_ring_get_wptr, | 769 | .get_wptr = si_dma_ring_get_wptr, |
769 | .set_wptr = si_dma_ring_set_wptr, | 770 | .set_wptr = si_dma_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c index 708de997e3b0..55af8aca4b2a 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | |||
@@ -117,7 +117,7 @@ static int uvd_v4_2_sw_init(void *handle) | |||
117 | ring = &adev->uvd.ring; | 117 | ring = &adev->uvd.ring; |
118 | sprintf(ring->name, "uvd"); | 118 | sprintf(ring->name, "uvd"); |
119 | r = amdgpu_ring_init(adev, ring, 512, PACKET0(mmUVD_NO_OP, 0), 0xf, | 119 | r = amdgpu_ring_init(adev, ring, 512, PACKET0(mmUVD_NO_OP, 0), 0xf, |
120 | &adev->uvd.irq, 0, AMDGPU_RING_TYPE_UVD); | 120 | &adev->uvd.irq, 0); |
121 | 121 | ||
122 | return r; | 122 | return r; |
123 | } | 123 | } |
@@ -742,6 +742,7 @@ const struct amd_ip_funcs uvd_v4_2_ip_funcs = { | |||
742 | }; | 742 | }; |
743 | 743 | ||
744 | static const struct amdgpu_ring_funcs uvd_v4_2_ring_funcs = { | 744 | static const struct amdgpu_ring_funcs uvd_v4_2_ring_funcs = { |
745 | .type = AMDGPU_RING_TYPE_UVD, | ||
745 | .get_rptr = uvd_v4_2_ring_get_rptr, | 746 | .get_rptr = uvd_v4_2_ring_get_rptr, |
746 | .get_wptr = uvd_v4_2_ring_get_wptr, | 747 | .get_wptr = uvd_v4_2_ring_get_wptr, |
747 | .set_wptr = uvd_v4_2_ring_set_wptr, | 748 | .set_wptr = uvd_v4_2_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c index 9e695e01f8b8..21e725b50a90 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | |||
@@ -113,7 +113,7 @@ static int uvd_v5_0_sw_init(void *handle) | |||
113 | ring = &adev->uvd.ring; | 113 | ring = &adev->uvd.ring; |
114 | sprintf(ring->name, "uvd"); | 114 | sprintf(ring->name, "uvd"); |
115 | r = amdgpu_ring_init(adev, ring, 512, PACKET0(mmUVD_NO_OP, 0), 0xf, | 115 | r = amdgpu_ring_init(adev, ring, 512, PACKET0(mmUVD_NO_OP, 0), 0xf, |
116 | &adev->uvd.irq, 0, AMDGPU_RING_TYPE_UVD); | 116 | &adev->uvd.irq, 0); |
117 | 117 | ||
118 | return r; | 118 | return r; |
119 | } | 119 | } |
@@ -793,6 +793,7 @@ const struct amd_ip_funcs uvd_v5_0_ip_funcs = { | |||
793 | }; | 793 | }; |
794 | 794 | ||
795 | static const struct amdgpu_ring_funcs uvd_v5_0_ring_funcs = { | 795 | static const struct amdgpu_ring_funcs uvd_v5_0_ring_funcs = { |
796 | .type = AMDGPU_RING_TYPE_UVD, | ||
796 | .get_rptr = uvd_v5_0_ring_get_rptr, | 797 | .get_rptr = uvd_v5_0_ring_get_rptr, |
797 | .get_wptr = uvd_v5_0_ring_get_wptr, | 798 | .get_wptr = uvd_v5_0_ring_get_wptr, |
798 | .set_wptr = uvd_v5_0_ring_set_wptr, | 799 | .set_wptr = uvd_v5_0_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c index aeb1b6e2c518..65df5b208243 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | |||
@@ -117,7 +117,7 @@ static int uvd_v6_0_sw_init(void *handle) | |||
117 | ring = &adev->uvd.ring; | 117 | ring = &adev->uvd.ring; |
118 | sprintf(ring->name, "uvd"); | 118 | sprintf(ring->name, "uvd"); |
119 | r = amdgpu_ring_init(adev, ring, 512, PACKET0(mmUVD_NO_OP, 0), 0xf, | 119 | r = amdgpu_ring_init(adev, ring, 512, PACKET0(mmUVD_NO_OP, 0), 0xf, |
120 | &adev->uvd.irq, 0, AMDGPU_RING_TYPE_UVD); | 120 | &adev->uvd.irq, 0); |
121 | 121 | ||
122 | return r; | 122 | return r; |
123 | } | 123 | } |
@@ -1023,6 +1023,7 @@ const struct amd_ip_funcs uvd_v6_0_ip_funcs = { | |||
1023 | }; | 1023 | }; |
1024 | 1024 | ||
1025 | static const struct amdgpu_ring_funcs uvd_v6_0_ring_phys_funcs = { | 1025 | static const struct amdgpu_ring_funcs uvd_v6_0_ring_phys_funcs = { |
1026 | .type = AMDGPU_RING_TYPE_UVD, | ||
1026 | .get_rptr = uvd_v6_0_ring_get_rptr, | 1027 | .get_rptr = uvd_v6_0_ring_get_rptr, |
1027 | .get_wptr = uvd_v6_0_ring_get_wptr, | 1028 | .get_wptr = uvd_v6_0_ring_get_wptr, |
1028 | .set_wptr = uvd_v6_0_ring_set_wptr, | 1029 | .set_wptr = uvd_v6_0_ring_set_wptr, |
@@ -1046,6 +1047,7 @@ static const struct amdgpu_ring_funcs uvd_v6_0_ring_phys_funcs = { | |||
1046 | }; | 1047 | }; |
1047 | 1048 | ||
1048 | static const struct amdgpu_ring_funcs uvd_v6_0_ring_vm_funcs = { | 1049 | static const struct amdgpu_ring_funcs uvd_v6_0_ring_vm_funcs = { |
1050 | .type = AMDGPU_RING_TYPE_UVD, | ||
1049 | .get_rptr = uvd_v6_0_ring_get_rptr, | 1051 | .get_rptr = uvd_v6_0_ring_get_rptr, |
1050 | .get_wptr = uvd_v6_0_ring_get_wptr, | 1052 | .get_wptr = uvd_v6_0_ring_get_wptr, |
1051 | .set_wptr = uvd_v6_0_ring_set_wptr, | 1053 | .set_wptr = uvd_v6_0_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c index 7ada30ddfa0d..cf0c68fda20e 100644 --- a/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | |||
@@ -225,7 +225,7 @@ static int vce_v2_0_sw_init(void *handle) | |||
225 | ring = &adev->vce.ring[i]; | 225 | ring = &adev->vce.ring[i]; |
226 | sprintf(ring->name, "vce%d", i); | 226 | sprintf(ring->name, "vce%d", i); |
227 | r = amdgpu_ring_init(adev, ring, 512, VCE_CMD_NO_OP, 0xf, | 227 | r = amdgpu_ring_init(adev, ring, 512, VCE_CMD_NO_OP, 0xf, |
228 | &adev->vce.irq, 0, AMDGPU_RING_TYPE_VCE); | 228 | &adev->vce.irq, 0); |
229 | if (r) | 229 | if (r) |
230 | return r; | 230 | return r; |
231 | } | 231 | } |
@@ -610,6 +610,7 @@ const struct amd_ip_funcs vce_v2_0_ip_funcs = { | |||
610 | }; | 610 | }; |
611 | 611 | ||
612 | static const struct amdgpu_ring_funcs vce_v2_0_ring_funcs = { | 612 | static const struct amdgpu_ring_funcs vce_v2_0_ring_funcs = { |
613 | .type = AMDGPU_RING_TYPE_VCE, | ||
613 | .get_rptr = vce_v2_0_ring_get_rptr, | 614 | .get_rptr = vce_v2_0_ring_get_rptr, |
614 | .get_wptr = vce_v2_0_ring_get_wptr, | 615 | .get_wptr = vce_v2_0_ring_get_wptr, |
615 | .set_wptr = vce_v2_0_ring_set_wptr, | 616 | .set_wptr = vce_v2_0_ring_set_wptr, |
diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c index 0db59d885f04..95fe8a8bda12 100644 --- a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | |||
@@ -390,7 +390,7 @@ static int vce_v3_0_sw_init(void *handle) | |||
390 | ring = &adev->vce.ring[i]; | 390 | ring = &adev->vce.ring[i]; |
391 | sprintf(ring->name, "vce%d", i); | 391 | sprintf(ring->name, "vce%d", i); |
392 | r = amdgpu_ring_init(adev, ring, 512, VCE_CMD_NO_OP, 0xf, | 392 | r = amdgpu_ring_init(adev, ring, 512, VCE_CMD_NO_OP, 0xf, |
393 | &adev->vce.irq, 0, AMDGPU_RING_TYPE_VCE); | 393 | &adev->vce.irq, 0); |
394 | if (r) | 394 | if (r) |
395 | return r; | 395 | return r; |
396 | } | 396 | } |
@@ -829,6 +829,7 @@ const struct amd_ip_funcs vce_v3_0_ip_funcs = { | |||
829 | }; | 829 | }; |
830 | 830 | ||
831 | static const struct amdgpu_ring_funcs vce_v3_0_ring_phys_funcs = { | 831 | static const struct amdgpu_ring_funcs vce_v3_0_ring_phys_funcs = { |
832 | .type = AMDGPU_RING_TYPE_VCE, | ||
832 | .get_rptr = vce_v3_0_ring_get_rptr, | 833 | .get_rptr = vce_v3_0_ring_get_rptr, |
833 | .get_wptr = vce_v3_0_ring_get_wptr, | 834 | .get_wptr = vce_v3_0_ring_get_wptr, |
834 | .set_wptr = vce_v3_0_ring_set_wptr, | 835 | .set_wptr = vce_v3_0_ring_set_wptr, |
@@ -848,6 +849,7 @@ static const struct amdgpu_ring_funcs vce_v3_0_ring_phys_funcs = { | |||
848 | }; | 849 | }; |
849 | 850 | ||
850 | static const struct amdgpu_ring_funcs vce_v3_0_ring_vm_funcs = { | 851 | static const struct amdgpu_ring_funcs vce_v3_0_ring_vm_funcs = { |
852 | .type = AMDGPU_RING_TYPE_VCE, | ||
851 | .get_rptr = vce_v3_0_ring_get_rptr, | 853 | .get_rptr = vce_v3_0_ring_get_rptr, |
852 | .get_wptr = vce_v3_0_ring_get_wptr, | 854 | .get_wptr = vce_v3_0_ring_get_wptr, |
853 | .set_wptr = vce_v3_0_ring_set_wptr, | 855 | .set_wptr = vce_v3_0_ring_set_wptr, |