• Home
  • Raw
  • Download

Lines Matching refs:psp

35 static int psp_v13_0_4_init_microcode(struct psp_context *psp)  in psp_v13_0_4_init_microcode()  argument
37 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_init_microcode()
53 err = psp_init_toc_microcode(psp, chip_name); in psp_v13_0_4_init_microcode()
56 err = psp_init_ta_microcode(psp, chip_name); in psp_v13_0_4_init_microcode()
67 static bool psp_v13_0_4_is_sos_alive(struct psp_context *psp) in psp_v13_0_4_is_sos_alive() argument
69 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_is_sos_alive()
77 static int psp_v13_0_4_wait_for_bootloader(struct psp_context *psp) in psp_v13_0_4_wait_for_bootloader() argument
79 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_wait_for_bootloader()
87 ret = psp_wait_for(psp, in psp_v13_0_4_wait_for_bootloader()
100 static int psp_v13_0_4_bootloader_load_component(struct psp_context *psp, in psp_v13_0_4_bootloader_load_component() argument
106 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_bootloader_load_component()
111 if (psp_v13_0_4_is_sos_alive(psp)) in psp_v13_0_4_bootloader_load_component()
114 ret = psp_v13_0_4_wait_for_bootloader(psp); in psp_v13_0_4_bootloader_load_component()
118 memset(psp->fw_pri_buf, 0, PSP_1_MEG); in psp_v13_0_4_bootloader_load_component()
121 memcpy(psp->fw_pri_buf, bin_desc->start_addr, bin_desc->size_bytes); in psp_v13_0_4_bootloader_load_component()
125 (uint32_t)(psp->fw_pri_mc_addr >> 20)); in psp_v13_0_4_bootloader_load_component()
130 ret = psp_v13_0_4_wait_for_bootloader(psp); in psp_v13_0_4_bootloader_load_component()
135 static int psp_v13_0_4_bootloader_load_kdb(struct psp_context *psp) in psp_v13_0_4_bootloader_load_kdb() argument
137 return psp_v13_0_4_bootloader_load_component(psp, &psp->kdb, PSP_BL__LOAD_KEY_DATABASE); in psp_v13_0_4_bootloader_load_kdb()
140 static int psp_v13_0_4_bootloader_load_spl(struct psp_context *psp) in psp_v13_0_4_bootloader_load_spl() argument
142 return psp_v13_0_4_bootloader_load_component(psp, &psp->kdb, PSP_BL__LOAD_TOS_SPL_TABLE); in psp_v13_0_4_bootloader_load_spl()
145 static int psp_v13_0_4_bootloader_load_sysdrv(struct psp_context *psp) in psp_v13_0_4_bootloader_load_sysdrv() argument
147 return psp_v13_0_4_bootloader_load_component(psp, &psp->sys, PSP_BL__LOAD_SYSDRV); in psp_v13_0_4_bootloader_load_sysdrv()
150 static int psp_v13_0_4_bootloader_load_soc_drv(struct psp_context *psp) in psp_v13_0_4_bootloader_load_soc_drv() argument
152 return psp_v13_0_4_bootloader_load_component(psp, &psp->soc_drv, PSP_BL__LOAD_SOCDRV); in psp_v13_0_4_bootloader_load_soc_drv()
155 static int psp_v13_0_4_bootloader_load_intf_drv(struct psp_context *psp) in psp_v13_0_4_bootloader_load_intf_drv() argument
157 return psp_v13_0_4_bootloader_load_component(psp, &psp->intf_drv, PSP_BL__LOAD_INTFDRV); in psp_v13_0_4_bootloader_load_intf_drv()
160 static int psp_v13_0_4_bootloader_load_dbg_drv(struct psp_context *psp) in psp_v13_0_4_bootloader_load_dbg_drv() argument
162 return psp_v13_0_4_bootloader_load_component(psp, &psp->dbg_drv, PSP_BL__LOAD_DBGDRV); in psp_v13_0_4_bootloader_load_dbg_drv()
165 static int psp_v13_0_4_bootloader_load_sos(struct psp_context *psp) in psp_v13_0_4_bootloader_load_sos() argument
169 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_bootloader_load_sos()
174 if (psp_v13_0_4_is_sos_alive(psp)) in psp_v13_0_4_bootloader_load_sos()
177 ret = psp_v13_0_4_wait_for_bootloader(psp); in psp_v13_0_4_bootloader_load_sos()
181 memset(psp->fw_pri_buf, 0, PSP_1_MEG); in psp_v13_0_4_bootloader_load_sos()
184 memcpy(psp->fw_pri_buf, psp->sos.start_addr, psp->sos.size_bytes); in psp_v13_0_4_bootloader_load_sos()
188 (uint32_t)(psp->fw_pri_mc_addr >> 20)); in psp_v13_0_4_bootloader_load_sos()
195 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_81), in psp_v13_0_4_bootloader_load_sos()
202 static int psp_v13_0_4_ring_init(struct psp_context *psp, in psp_v13_0_4_ring_init() argument
207 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_ring_init()
209 ring = &psp->km_ring; in psp_v13_0_4_ring_init()
228 static int psp_v13_0_4_ring_stop(struct psp_context *psp, in psp_v13_0_4_ring_stop() argument
232 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_ring_stop()
241 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_101), in psp_v13_0_4_ring_stop()
250 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_64), in psp_v13_0_4_ring_stop()
257 static int psp_v13_0_4_ring_create(struct psp_context *psp, in psp_v13_0_4_ring_create() argument
262 struct psp_ring *ring = &psp->km_ring; in psp_v13_0_4_ring_create()
263 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_ring_create()
266 ret = psp_v13_0_4_ring_stop(psp, ring_type); in psp_v13_0_4_ring_create()
287 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_101), in psp_v13_0_4_ring_create()
292 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_64), in psp_v13_0_4_ring_create()
317 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_64), in psp_v13_0_4_ring_create()
324 static int psp_v13_0_4_ring_destroy(struct psp_context *psp, in psp_v13_0_4_ring_destroy() argument
328 struct psp_ring *ring = &psp->km_ring; in psp_v13_0_4_ring_destroy()
329 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_ring_destroy()
331 ret = psp_v13_0_4_ring_stop(psp, ring_type); in psp_v13_0_4_ring_destroy()
342 static uint32_t psp_v13_0_4_ring_get_wptr(struct psp_context *psp) in psp_v13_0_4_ring_get_wptr() argument
345 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_ring_get_wptr()
355 static void psp_v13_0_4_ring_set_wptr(struct psp_context *psp, uint32_t value) in psp_v13_0_4_ring_set_wptr() argument
357 struct amdgpu_device *adev = psp->adev; in psp_v13_0_4_ring_set_wptr()
384 void psp_v13_0_4_set_psp_funcs(struct psp_context *psp) in psp_v13_0_4_set_psp_funcs() argument
386 psp->funcs = &psp_v13_0_4_funcs; in psp_v13_0_4_set_psp_funcs()