aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/psp_v3_1.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/psp_v3_1.c11
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
268int psp_v3_1_ring_init(struct psp_context *psp, enum psp_ring_type ring_type) 268int 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
293int 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);