Lines Matching refs:psp
47 static int psp_v10_0_init_microcode(struct psp_context *psp) in psp_v10_0_init_microcode() argument
49 struct amdgpu_device *adev = psp->adev; in psp_v10_0_init_microcode()
68 err = psp_init_asd_microcode(psp, chip_name); in psp_v10_0_init_microcode()
73 err = request_firmware(&adev->psp.ta_fw, fw_name, adev->dev); in psp_v10_0_init_microcode()
75 release_firmware(adev->psp.ta_fw); in psp_v10_0_init_microcode()
76 adev->psp.ta_fw = NULL; in psp_v10_0_init_microcode()
81 err = amdgpu_ucode_validate(adev->psp.ta_fw); in psp_v10_0_init_microcode()
86 adev->psp.ta_fw->data; in psp_v10_0_init_microcode()
87 adev->psp.hdcp_context.context.bin_desc.fw_version = in psp_v10_0_init_microcode()
89 adev->psp.hdcp_context.context.bin_desc.size_bytes = in psp_v10_0_init_microcode()
91 adev->psp.hdcp_context.context.bin_desc.start_addr = in psp_v10_0_init_microcode()
95 adev->psp.dtm_context.context.bin_desc.fw_version = in psp_v10_0_init_microcode()
97 adev->psp.dtm_context.context.bin_desc.size_bytes = in psp_v10_0_init_microcode()
99 adev->psp.dtm_context.context.bin_desc.start_addr = in psp_v10_0_init_microcode()
100 (uint8_t *)adev->psp.hdcp_context.context.bin_desc.start_addr + in psp_v10_0_init_microcode()
103 adev->psp.securedisplay_context.context.bin_desc.fw_version = in psp_v10_0_init_microcode()
105 adev->psp.securedisplay_context.context.bin_desc.size_bytes = in psp_v10_0_init_microcode()
107 adev->psp.securedisplay_context.context.bin_desc.start_addr = in psp_v10_0_init_microcode()
108 (uint8_t *)adev->psp.hdcp_context.context.bin_desc.start_addr + in psp_v10_0_init_microcode()
111 adev->psp.ta_fw_version = le32_to_cpu(ta_hdr->header.ucode_version); in psp_v10_0_init_microcode()
117 release_firmware(adev->psp.ta_fw); in psp_v10_0_init_microcode()
118 adev->psp.ta_fw = NULL; in psp_v10_0_init_microcode()
129 static int psp_v10_0_ring_init(struct psp_context *psp, in psp_v10_0_ring_init() argument
134 struct amdgpu_device *adev = psp->adev; in psp_v10_0_ring_init()
136 ring = &psp->km_ring; in psp_v10_0_ring_init()
155 static int psp_v10_0_ring_create(struct psp_context *psp, in psp_v10_0_ring_create() argument
160 struct psp_ring *ring = &psp->km_ring; in psp_v10_0_ring_create()
161 struct amdgpu_device *adev = psp->adev; in psp_v10_0_ring_create()
181 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64), in psp_v10_0_ring_create()
187 static int psp_v10_0_ring_stop(struct psp_context *psp, in psp_v10_0_ring_stop() argument
192 struct amdgpu_device *adev = psp->adev; in psp_v10_0_ring_stop()
202 ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64), in psp_v10_0_ring_stop()
208 static int psp_v10_0_ring_destroy(struct psp_context *psp, in psp_v10_0_ring_destroy() argument
212 struct psp_ring *ring = &psp->km_ring; in psp_v10_0_ring_destroy()
213 struct amdgpu_device *adev = psp->adev; in psp_v10_0_ring_destroy()
215 ret = psp_v10_0_ring_stop(psp, ring_type); in psp_v10_0_ring_destroy()
226 static int psp_v10_0_mode1_reset(struct psp_context *psp) in psp_v10_0_mode1_reset() argument
232 static uint32_t psp_v10_0_ring_get_wptr(struct psp_context *psp) in psp_v10_0_ring_get_wptr() argument
234 struct amdgpu_device *adev = psp->adev; in psp_v10_0_ring_get_wptr()
239 static void psp_v10_0_ring_set_wptr(struct psp_context *psp, uint32_t value) in psp_v10_0_ring_set_wptr() argument
241 struct amdgpu_device *adev = psp->adev; in psp_v10_0_ring_set_wptr()
257 void psp_v10_0_set_psp_funcs(struct psp_context *psp) in psp_v10_0_set_psp_funcs() argument
259 psp->funcs = &psp_v10_0_funcs; in psp_v10_0_set_psp_funcs()