1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __NITROX_COMMON_H 3 #define __NITROX_COMMON_H 4 5 #include "nitrox_dev.h" 6 #include "nitrox_req.h" 7 8 int nitrox_crypto_register(void); 9 void nitrox_crypto_unregister(void); 10 void *crypto_alloc_context(struct nitrox_device *ndev); 11 void crypto_free_context(void *ctx); 12 struct nitrox_device *nitrox_get_first_device(void); 13 void nitrox_put_device(struct nitrox_device *ndev); 14 15 void nitrox_pf_cleanup_isr(struct nitrox_device *ndev); 16 int nitrox_pf_init_isr(struct nitrox_device *ndev); 17 18 int nitrox_common_sw_init(struct nitrox_device *ndev); 19 void nitrox_common_sw_cleanup(struct nitrox_device *ndev); 20 21 void pkt_slc_resp_handler(unsigned long data); 22 int nitrox_process_se_request(struct nitrox_device *ndev, 23 struct se_crypto_request *req, 24 completion_t cb, 25 struct skcipher_request *skreq); 26 void backlog_qflush_work(struct work_struct *work); 27 28 void nitrox_config_emu_unit(struct nitrox_device *ndev); 29 void nitrox_config_pkt_input_rings(struct nitrox_device *ndev); 30 void nitrox_config_pkt_solicit_ports(struct nitrox_device *ndev); 31 void nitrox_config_vfmode(struct nitrox_device *ndev, int mode); 32 void nitrox_config_nps_unit(struct nitrox_device *ndev); 33 void nitrox_config_pom_unit(struct nitrox_device *ndev); 34 void nitrox_config_rand_unit(struct nitrox_device *ndev); 35 void nitrox_config_efl_unit(struct nitrox_device *ndev); 36 void nitrox_config_bmi_unit(struct nitrox_device *ndev); 37 void nitrox_config_bmo_unit(struct nitrox_device *ndev); 38 void nitrox_config_lbc_unit(struct nitrox_device *ndev); 39 void invalidate_lbc(struct nitrox_device *ndev); 40 void enable_pkt_input_ring(struct nitrox_device *ndev, int ring); 41 void enable_pkt_solicit_port(struct nitrox_device *ndev, int port); 42 43 #endif /* __NITROX_COMMON_H */ 44