Lines Matching refs:psp
141 int (*init_microcode)(struct psp_context *psp);
142 int (*wait_for_bootloader)(struct psp_context *psp);
143 int (*bootloader_load_kdb)(struct psp_context *psp);
144 int (*bootloader_load_spl)(struct psp_context *psp);
145 int (*bootloader_load_sysdrv)(struct psp_context *psp);
146 int (*bootloader_load_soc_drv)(struct psp_context *psp);
147 int (*bootloader_load_intf_drv)(struct psp_context *psp);
148 int (*bootloader_load_dbg_drv)(struct psp_context *psp);
149 int (*bootloader_load_ras_drv)(struct psp_context *psp);
150 int (*bootloader_load_ipkeymgr_drv)(struct psp_context *psp);
151 int (*bootloader_load_spdm_drv)(struct psp_context *psp);
152 int (*bootloader_load_sos)(struct psp_context *psp);
153 int (*ring_create)(struct psp_context *psp,
155 int (*ring_stop)(struct psp_context *psp,
157 int (*ring_destroy)(struct psp_context *psp,
159 bool (*smu_reload_quirk)(struct psp_context *psp);
160 int (*mode1_reset)(struct psp_context *psp);
161 int (*mem_training)(struct psp_context *psp, uint32_t ops);
162 uint32_t (*ring_get_wptr)(struct psp_context *psp);
163 void (*ring_set_wptr)(struct psp_context *psp, uint32_t value);
164 int (*load_usbc_pd_fw)(struct psp_context *psp, uint64_t fw_pri_mc_addr);
165 int (*read_usbc_pd_fw)(struct psp_context *psp, uint32_t *fw_ver);
166 int (*update_spirom)(struct psp_context *psp, uint64_t fw_pri_mc_addr);
167 int (*dump_spirom)(struct psp_context *psp, uint64_t fw_pri_mc_addr);
168 int (*vbflash_stat)(struct psp_context *psp);
169 int (*fatal_error_recovery_quirk)(struct psp_context *psp);
170 bool (*get_ras_capability)(struct psp_context *psp);
171 bool (*is_aux_sos_load_required)(struct psp_context *psp);
172 bool (*is_reload_needed)(struct psp_context *psp);
173 int (*reg_program_no_ring)(struct psp_context *psp, uint32_t val,
178 int (*fn_ta_initialize)(struct psp_context *psp);
179 int (*fn_ta_invoke)(struct psp_context *psp, uint32_t ta_cmd_id);
180 int (*fn_ta_terminate)(struct psp_context *psp);
458 #define psp_ring_create(psp, type) (psp)->funcs->ring_create((psp), (type)) argument
459 #define psp_ring_stop(psp, type) (psp)->funcs->ring_stop((psp), (type)) argument
460 #define psp_ring_destroy(psp, type) ((psp)->funcs->ring_destroy((psp), (type))) argument
461 #define psp_init_microcode(psp) \ argument
462 ((psp)->funcs->init_microcode ? (psp)->funcs->init_microcode((psp)) : 0)
463 #define psp_bootloader_load_kdb(psp) \ argument
464 ((psp)->funcs->bootloader_load_kdb ? (psp)->funcs->bootloader_load_kdb((psp)) : 0)
465 #define psp_bootloader_load_spl(psp) \ argument
466 ((psp)->funcs->bootloader_load_spl ? (psp)->funcs->bootloader_load_spl((psp)) : 0)
467 #define psp_bootloader_load_sysdrv(psp) \ argument
468 ((psp)->funcs->bootloader_load_sysdrv ? (psp)->funcs->bootloader_load_sysdrv((psp)) : 0)
469 #define psp_bootloader_load_soc_drv(psp) \ argument
470 ((psp)->funcs->bootloader_load_soc_drv ? (psp)->funcs->bootloader_load_soc_drv((psp)) : 0)
471 #define psp_bootloader_load_intf_drv(psp) \ argument
472 ((psp)->funcs->bootloader_load_intf_drv ? (psp)->funcs->bootloader_load_intf_drv((psp)) : 0)
473 #define psp_bootloader_load_dbg_drv(psp) \ argument
474 ((psp)->funcs->bootloader_load_dbg_drv ? (psp)->funcs->bootloader_load_dbg_drv((psp)) : 0)
475 #define psp_bootloader_load_ras_drv(psp) \ argument
476 ((psp)->funcs->bootloader_load_ras_drv ? \
477 (psp)->funcs->bootloader_load_ras_drv((psp)) : 0)
478 #define psp_bootloader_load_ipkeymgr_drv(psp) \ argument
479 ((psp)->funcs->bootloader_load_ipkeymgr_drv ? \
480 (psp)->funcs->bootloader_load_ipkeymgr_drv((psp)) : 0)
481 #define psp_bootloader_load_spdm_drv(psp) \ argument
482 ((psp)->funcs->bootloader_load_spdm_drv ? \
483 (psp)->funcs->bootloader_load_spdm_drv((psp)) : 0)
484 #define psp_bootloader_load_sos(psp) \ argument
485 ((psp)->funcs->bootloader_load_sos ? (psp)->funcs->bootloader_load_sos((psp)) : 0)
486 #define psp_smu_reload_quirk(psp) \ argument
487 ((psp)->funcs->smu_reload_quirk ? (psp)->funcs->smu_reload_quirk((psp)) : false)
488 #define psp_mode1_reset(psp) \ argument
489 ((psp)->funcs->mode1_reset ? (psp)->funcs->mode1_reset((psp)) : false)
490 #define psp_mem_training(psp, ops) \ argument
491 ((psp)->funcs->mem_training ? (psp)->funcs->mem_training((psp), (ops)) : 0)
493 #define psp_ring_get_wptr(psp) (psp)->funcs->ring_get_wptr((psp)) argument
494 #define psp_ring_set_wptr(psp, value) (psp)->funcs->ring_set_wptr((psp), (value)) argument
496 #define psp_load_usbc_pd_fw(psp, fw_pri_mc_addr) \ argument
497 ((psp)->funcs->load_usbc_pd_fw ? \
498 (psp)->funcs->load_usbc_pd_fw((psp), (fw_pri_mc_addr)) : -EINVAL)
500 #define psp_read_usbc_pd_fw(psp, fw_ver) \ argument
501 ((psp)->funcs->read_usbc_pd_fw ? \
502 (psp)->funcs->read_usbc_pd_fw((psp), fw_ver) : -EINVAL)
504 #define psp_update_spirom(psp, fw_pri_mc_addr) \ argument
505 ((psp)->funcs->update_spirom ? \
506 (psp)->funcs->update_spirom((psp), fw_pri_mc_addr) : -EINVAL)
508 #define psp_dump_spirom(psp, fw_pri_mc_addr) \ argument
509 ((psp)->funcs->dump_spirom ? \
510 (psp)->funcs->dump_spirom((psp), fw_pri_mc_addr) : -EINVAL)
512 #define psp_vbflash_status(psp) \ argument
513 ((psp)->funcs->vbflash_stat ? \
514 (psp)->funcs->vbflash_stat((psp)) : -EINVAL)
516 #define psp_fatal_error_recovery_quirk(psp) \ argument
517 ((psp)->funcs->fatal_error_recovery_quirk ? \
518 (psp)->funcs->fatal_error_recovery_quirk((psp)) : 0)
520 #define psp_is_aux_sos_load_required(psp) \ argument
521 ((psp)->funcs->is_aux_sos_load_required ? (psp)->funcs->is_aux_sos_load_required((psp)) : 0)
523 #define psp_reg_program_no_ring(psp, val, id) \ argument
524 ((psp)->funcs->reg_program_no_ring ? \
525 (psp)->funcs->reg_program_no_ring((psp), val, id) : -EINVAL)
538 int psp_wait_for(struct psp_context *psp, uint32_t reg_index,
540 extern int psp_wait_for_spirom_update(struct psp_context *psp, uint32_t reg_index,
543 int psp_execute_ip_fw_load(struct psp_context *psp,
548 int psp_ta_init_shared_buf(struct psp_context *psp,
551 int psp_ta_unload(struct psp_context *psp, struct ta_context *context);
552 int psp_ta_load(struct psp_context *psp, struct ta_context *context);
553 int psp_ta_invoke(struct psp_context *psp,
557 int psp_xgmi_initialize(struct psp_context *psp, bool set_extended_data, bool load_ta);
558 int psp_xgmi_terminate(struct psp_context *psp);
559 int psp_xgmi_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
560 int psp_xgmi_get_hive_id(struct psp_context *psp, uint64_t *hive_id);
561 int psp_xgmi_get_node_id(struct psp_context *psp, uint64_t *node_id);
562 int psp_xgmi_get_topology_info(struct psp_context *psp,
566 int psp_xgmi_set_topology_info(struct psp_context *psp,
569 int psp_ras_initialize(struct psp_context *psp);
570 int psp_ras_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
571 int psp_ras_enable_features(struct psp_context *psp,
573 int psp_ras_trigger_error(struct psp_context *psp,
575 int psp_ras_terminate(struct psp_context *psp);
576 int psp_ras_query_address(struct psp_context *psp,
580 int psp_hdcp_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
581 int psp_dtm_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
582 int psp_rap_invoke(struct psp_context *psp, uint32_t ta_cmd_id, enum ta_rap_status *status);
583 int psp_securedisplay_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
585 int psp_rlc_autoload_start(struct psp_context *psp);
587 int psp_reg_program(struct psp_context *psp, enum psp_reg_prog_id reg,
589 int psp_ring_cmd_submit(struct psp_context *psp,
593 int psp_init_asd_microcode(struct psp_context *psp,
595 int psp_init_toc_microcode(struct psp_context *psp,
597 int psp_init_sos_microcode(struct psp_context *psp,
599 int psp_init_ta_microcode(struct psp_context *psp,
601 int psp_init_cap_microcode(struct psp_context *psp,
603 int psp_get_fw_attestation_records_addr(struct psp_context *psp,
605 int psp_update_fw_reservation(struct psp_context *psp);
606 int psp_load_fw_list(struct psp_context *psp,
608 void psp_copy_fw(struct psp_context *psp, uint8_t *start_addr, uint32_t bin_size);
610 int psp_spatial_partition(struct psp_context *psp, int mode);
611 int psp_memory_partition(struct psp_context *psp, int mode);
616 bool amdgpu_psp_get_ras_capability(struct psp_context *psp);
618 int psp_config_sq_perfmon(struct psp_context *psp, uint32_t xcp_id,
621 int amdgpu_psp_reg_program_no_ring(struct psp_context *psp, uint32_t val,