diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/psp_v3_1.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c index aae6b6540161..d351583785e5 100644 --- a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c +++ b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | |||
@@ -268,7 +268,6 @@ int psp_v3_1_prep_cmd_buf(struct amdgpu_firmware_info *ucode, struct psp_gfx_cmd | |||
268 | int psp_v3_1_ring_init(struct psp_context *psp, enum psp_ring_type ring_type) | 268 | int psp_v3_1_ring_init(struct psp_context *psp, enum psp_ring_type ring_type) |
269 | { | 269 | { |
270 | int ret = 0; | 270 | int ret = 0; |
271 | unsigned int psp_ring_reg = 0; | ||
272 | struct psp_ring *ring; | 271 | struct psp_ring *ring; |
273 | struct amdgpu_device *adev = psp->adev; | 272 | struct amdgpu_device *adev = psp->adev; |
274 | 273 | ||
@@ -288,6 +287,16 @@ int psp_v3_1_ring_init(struct psp_context *psp, enum psp_ring_type ring_type) | |||
288 | return ret; | 287 | return ret; |
289 | } | 288 | } |
290 | 289 | ||
290 | return 0; | ||
291 | } | ||
292 | |||
293 | int psp_v3_1_ring_create(struct psp_context *psp, enum psp_ring_type ring_type) | ||
294 | { | ||
295 | int ret = 0; | ||
296 | unsigned int psp_ring_reg = 0; | ||
297 | struct psp_ring *ring = &psp->km_ring; | ||
298 | struct amdgpu_device *adev = psp->adev; | ||
299 | |||
291 | /* Write low address of the ring to C2PMSG_69 */ | 300 | /* Write low address of the ring to C2PMSG_69 */ |
292 | psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr); | 301 | psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr); |
293 | WREG32(SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_69), psp_ring_reg); | 302 | WREG32(SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_69), psp_ring_reg); |