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 /drivers/gpu/drm/amd/amdgpu | |
| 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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
| -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, |
