Lines Matching refs:psp

114 	int (*init_microcode)(struct psp_context *psp);
115 int (*wait_for_bootloader)(struct psp_context *psp);
116 int (*bootloader_load_kdb)(struct psp_context *psp);
117 int (*bootloader_load_spl)(struct psp_context *psp);
118 int (*bootloader_load_sysdrv)(struct psp_context *psp);
119 int (*bootloader_load_soc_drv)(struct psp_context *psp);
120 int (*bootloader_load_intf_drv)(struct psp_context *psp);
121 int (*bootloader_load_dbg_drv)(struct psp_context *psp);
122 int (*bootloader_load_ras_drv)(struct psp_context *psp);
123 int (*bootloader_load_ipkeymgr_drv)(struct psp_context *psp);
124 int (*bootloader_load_spdm_drv)(struct psp_context *psp);
125 int (*bootloader_load_sos)(struct psp_context *psp);
126 int (*ring_create)(struct psp_context *psp,
128 int (*ring_stop)(struct psp_context *psp,
130 int (*ring_destroy)(struct psp_context *psp,
132 bool (*smu_reload_quirk)(struct psp_context *psp);
133 int (*mode1_reset)(struct psp_context *psp);
134 int (*mem_training)(struct psp_context *psp, uint32_t ops);
135 uint32_t (*ring_get_wptr)(struct psp_context *psp);
136 void (*ring_set_wptr)(struct psp_context *psp, uint32_t value);
137 int (*load_usbc_pd_fw)(struct psp_context *psp, uint64_t fw_pri_mc_addr);
138 int (*read_usbc_pd_fw)(struct psp_context *psp, uint32_t *fw_ver);
139 int (*update_spirom)(struct psp_context *psp, uint64_t fw_pri_mc_addr);
140 int (*vbflash_stat)(struct psp_context *psp);
141 int (*fatal_error_recovery_quirk)(struct psp_context *psp);
142 bool (*get_ras_capability)(struct psp_context *psp);
143 bool (*is_aux_sos_load_required)(struct psp_context *psp);
144 bool (*is_reload_needed)(struct psp_context *psp);
148 int (*fn_ta_initialize)(struct psp_context *psp);
149 int (*fn_ta_invoke)(struct psp_context *psp, uint32_t ta_cmd_id);
150 int (*fn_ta_terminate)(struct psp_context *psp);
417 #define psp_ring_create(psp, type) (psp)->funcs->ring_create((psp), (type)) argument
418 #define psp_ring_stop(psp, type) (psp)->funcs->ring_stop((psp), (type)) argument
419 #define psp_ring_destroy(psp, type) ((psp)->funcs->ring_destroy((psp), (type))) argument
420 #define psp_init_microcode(psp) \ argument
421 ((psp)->funcs->init_microcode ? (psp)->funcs->init_microcode((psp)) : 0)
422 #define psp_bootloader_load_kdb(psp) \ argument
423 ((psp)->funcs->bootloader_load_kdb ? (psp)->funcs->bootloader_load_kdb((psp)) : 0)
424 #define psp_bootloader_load_spl(psp) \ argument
425 ((psp)->funcs->bootloader_load_spl ? (psp)->funcs->bootloader_load_spl((psp)) : 0)
426 #define psp_bootloader_load_sysdrv(psp) \ argument
427 ((psp)->funcs->bootloader_load_sysdrv ? (psp)->funcs->bootloader_load_sysdrv((psp)) : 0)
428 #define psp_bootloader_load_soc_drv(psp) \ argument
429 ((psp)->funcs->bootloader_load_soc_drv ? (psp)->funcs->bootloader_load_soc_drv((psp)) : 0)
430 #define psp_bootloader_load_intf_drv(psp) \ argument
431 ((psp)->funcs->bootloader_load_intf_drv ? (psp)->funcs->bootloader_load_intf_drv((psp)) : 0)
432 #define psp_bootloader_load_dbg_drv(psp) \ argument
433 ((psp)->funcs->bootloader_load_dbg_drv ? (psp)->funcs->bootloader_load_dbg_drv((psp)) : 0)
434 #define psp_bootloader_load_ras_drv(psp) \ argument
435 ((psp)->funcs->bootloader_load_ras_drv ? \
436 (psp)->funcs->bootloader_load_ras_drv((psp)) : 0)
437 #define psp_bootloader_load_ipkeymgr_drv(psp) \ argument
438 ((psp)->funcs->bootloader_load_ipkeymgr_drv ? \
439 (psp)->funcs->bootloader_load_ipkeymgr_drv((psp)) : 0)
440 #define psp_bootloader_load_spdm_drv(psp) \ argument
441 ((psp)->funcs->bootloader_load_spdm_drv ? \
442 (psp)->funcs->bootloader_load_spdm_drv((psp)) : 0)
443 #define psp_bootloader_load_sos(psp) \ argument
444 ((psp)->funcs->bootloader_load_sos ? (psp)->funcs->bootloader_load_sos((psp)) : 0)
445 #define psp_smu_reload_quirk(psp) \ argument
446 ((psp)->funcs->smu_reload_quirk ? (psp)->funcs->smu_reload_quirk((psp)) : false)
447 #define psp_mode1_reset(psp) \ argument
448 ((psp)->funcs->mode1_reset ? (psp)->funcs->mode1_reset((psp)) : false)
449 #define psp_mem_training(psp, ops) \ argument
450 ((psp)->funcs->mem_training ? (psp)->funcs->mem_training((psp), (ops)) : 0)
452 #define psp_ring_get_wptr(psp) (psp)->funcs->ring_get_wptr((psp)) argument
453 #define psp_ring_set_wptr(psp, value) (psp)->funcs->ring_set_wptr((psp), (value)) argument
455 #define psp_load_usbc_pd_fw(psp, fw_pri_mc_addr) \ argument
456 ((psp)->funcs->load_usbc_pd_fw ? \
457 (psp)->funcs->load_usbc_pd_fw((psp), (fw_pri_mc_addr)) : -EINVAL)
459 #define psp_read_usbc_pd_fw(psp, fw_ver) \ argument
460 ((psp)->funcs->read_usbc_pd_fw ? \
461 (psp)->funcs->read_usbc_pd_fw((psp), fw_ver) : -EINVAL)
463 #define psp_update_spirom(psp, fw_pri_mc_addr) \ argument
464 ((psp)->funcs->update_spirom ? \
465 (psp)->funcs->update_spirom((psp), fw_pri_mc_addr) : -EINVAL)
467 #define psp_vbflash_status(psp) \ argument
468 ((psp)->funcs->vbflash_stat ? \
469 (psp)->funcs->vbflash_stat((psp)) : -EINVAL)
471 #define psp_fatal_error_recovery_quirk(psp) \ argument
472 ((psp)->funcs->fatal_error_recovery_quirk ? \
473 (psp)->funcs->fatal_error_recovery_quirk((psp)) : 0)
475 #define psp_is_aux_sos_load_required(psp) \ argument
476 ((psp)->funcs->is_aux_sos_load_required ? (psp)->funcs->is_aux_sos_load_required((psp)) : 0)
489 extern int psp_wait_for(struct psp_context *psp, uint32_t reg_index,
491 extern int psp_wait_for_spirom_update(struct psp_context *psp, uint32_t reg_index,
494 int psp_execute_ip_fw_load(struct psp_context *psp,
499 int psp_ta_init_shared_buf(struct psp_context *psp,
502 int psp_ta_unload(struct psp_context *psp, struct ta_context *context);
503 int psp_ta_load(struct psp_context *psp, struct ta_context *context);
504 int psp_ta_invoke(struct psp_context *psp,
508 int psp_xgmi_initialize(struct psp_context *psp, bool set_extended_data, bool load_ta);
509 int psp_xgmi_terminate(struct psp_context *psp);
510 int psp_xgmi_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
511 int psp_xgmi_get_hive_id(struct psp_context *psp, uint64_t *hive_id);
512 int psp_xgmi_get_node_id(struct psp_context *psp, uint64_t *node_id);
513 int psp_xgmi_get_topology_info(struct psp_context *psp,
517 int psp_xgmi_set_topology_info(struct psp_context *psp,
520 int psp_ras_initialize(struct psp_context *psp);
521 int psp_ras_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
522 int psp_ras_enable_features(struct psp_context *psp,
524 int psp_ras_trigger_error(struct psp_context *psp,
526 int psp_ras_terminate(struct psp_context *psp);
527 int psp_ras_query_address(struct psp_context *psp,
531 int psp_hdcp_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
532 int psp_dtm_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
533 int psp_rap_invoke(struct psp_context *psp, uint32_t ta_cmd_id, enum ta_rap_status *status);
534 int psp_securedisplay_invoke(struct psp_context *psp, uint32_t ta_cmd_id);
536 int psp_rlc_autoload_start(struct psp_context *psp);
538 int psp_reg_program(struct psp_context *psp, enum psp_reg_prog_id reg,
540 int psp_ring_cmd_submit(struct psp_context *psp,
544 int psp_init_asd_microcode(struct psp_context *psp,
546 int psp_init_toc_microcode(struct psp_context *psp,
548 int psp_init_sos_microcode(struct psp_context *psp,
550 int psp_init_ta_microcode(struct psp_context *psp,
552 int psp_init_cap_microcode(struct psp_context *psp,
554 int psp_get_fw_attestation_records_addr(struct psp_context *psp,
557 int psp_load_fw_list(struct psp_context *psp,
559 void psp_copy_fw(struct psp_context *psp, uint8_t *start_addr, uint32_t bin_size);
561 int psp_spatial_partition(struct psp_context *psp, int mode);
562 int psp_memory_partition(struct psp_context *psp, int mode);
567 bool amdgpu_psp_get_ras_capability(struct psp_context *psp);
569 int psp_config_sq_perfmon(struct psp_context *psp, uint32_t xcp_id,