/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2019-2021. All rights reserved. * Description: tsr2rcipher hal func decl. * Author: Hisilicon * Create: 2019-08-02 */ #ifndef __HAL_TSR2RCIPHER_H__ #define __HAL_TSR2RCIPHER_H__ #include "drv_tsr2rcipher_define.h" #ifdef __cplusplus extern "C" { #endif /* TSR2RCIPHER RX hal level functions. */ td_void tsc_hal_rx_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type); td_void tsc_hal_rx_de_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_rx_set_buf(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 src_buf_addr, td_u32 src_buf_len); td_bool tsc_hal_rx_get_dsp_tor_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_rx_set_buf_addr(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 src_addr); td_void tsc_hal_rx_set_buf_len(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u32 src_len); td_void tsc_hal_rx_add_dsc(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_rx_set_ctrl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type, td_u32 rx_pkg_th); td_void tsc_hal_rx_set_int(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool dsc_rd, td_bool rx_pkt); td_u32 tsc_hal_rx_get_dsc_rd_total_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_rx_get_pkt_cnt_total_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_rx_get_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_rx_cls_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_u32 tsc_hal_rx_get_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_rx_cls_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_rx_get_dsc_rd_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array); td_void tsc_hal_rx_get_pkt_cnt_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array); td_void tsc_hal_set_mode_ctl(const struct tsr2rcipher_mgmt *mgmt, struct tsr2rcipher_r_ch *rch, enum tsc_crypt_type crypt_type); td_void tsc_hal_en_mode_ctl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_dis_mode_ctl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_clr_chan(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_lock_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool is_tee_lock); td_void tsc_hal_lock_deconfig(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); /* TSR2RCIPHER TX hal level functions. */ td_void tsc_hal_tx_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type); td_void tsc_hal_tx_de_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_tx_set_buf(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 dst_buf_addr, td_u32 dst_buf_len); td_bool tsc_hal_tx_get_dsp_tor_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_tx_set_buf_addr(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 dst_addr); td_void tsc_hal_tx_set_buf_len(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u32 dst_len); td_void tsc_hal_tx_add_dsc(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_tx_set_ctrl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type, td_u32 tx_pkg_th); td_void tsc_hal_tx_set_int(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool dsc_rd, td_bool tx_pkt); td_u32 tsc_hal_tx_get_dsc_rd_total_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_tx_get_pkt_cnt_total_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_tx_get_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_tx_cls_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_u32 tsc_hal_tx_get_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_tx_cls_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id); td_void tsc_hal_tx_get_dsc_rd_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array); td_void tsc_hal_tx_get_pkt_cnt_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array); /* TSR2RCIPHER TOP hal level functions. */ td_void tsc_hal_top_set_int(const struct tsr2rcipher_mgmt *mgmt, td_bool rx_int, td_bool tx_int, td_bool cipher_int); td_u32 tsc_hal_top_get_rx_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_top_get_rx_raw_int_status(const struct tsr2rcipher_mgmt *mgmt); td_void tsc_hal_top_cls_rx_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_top_get_tx_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_top_get_tx_raw_int_status(const struct tsr2rcipher_mgmt *mgmt); td_void tsc_hal_top_cls_tx_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_top_get_cipher_int_status(const struct tsr2rcipher_mgmt *mgmt); td_u32 tsc_hal_top_get_cipher_raw_int_status(const struct tsr2rcipher_mgmt *mgmt); td_void tsc_hal_top_cls_cipher_int_status(const struct tsr2rcipher_mgmt *mgmt); /* empty */ td_void tsc_hal_init_hw(const struct tsr2rcipher_mgmt *mgmt); td_void tsc_hal_de_init_hw(const struct tsr2rcipher_mgmt *mgmt); td_void tsc_hal_mdscset_en(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool ca_en, td_bool ca_chan_scr_en); td_void tsc_hal_en_mmu(struct tsr2rcipher_mgmt *mgmt); td_void tsc_hal_dis_mmu(const struct tsr2rcipher_mgmt *mgmt); #ifdef __cplusplus } #endif #endif /* __HAL_TSR2RCIPHER_H__ */