1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2021 Intel Corporation 3 */ 4 5 #ifndef _QAT_DEV_GENS_H_ 6 #define _QAT_DEV_GENS_H_ 7 8 #include "qat_device.h" 9 #include "qat_qp.h" 10 11 #include <stdint.h> 12 13 extern const struct qat_qp_hw_data qat_gen1_qps[QAT_MAX_SERVICES] 14 [ADF_MAX_QPS_ON_ANY_SERVICE]; 15 16 int 17 qat_dev_get_extra_size_gen1(void); 18 19 const struct qat_qp_hw_data * 20 qat_qp_get_hw_data_gen1(struct qat_pci_device *dev, 21 enum qat_service_type service_type, uint16_t qp_id); 22 23 int 24 qat_qp_rings_per_service_gen1(struct qat_pci_device *qat_dev, 25 enum qat_service_type service); 26 27 void 28 qat_qp_csr_build_ring_base_gen1(void *io_addr, 29 struct qat_queue *queue); 30 31 void 32 qat_qp_adf_arb_enable_gen1(const struct qat_queue *txq, 33 void *base_addr, rte_spinlock_t *lock); 34 35 void 36 qat_qp_adf_arb_disable_gen1(const struct qat_queue *txq, 37 void *base_addr, rte_spinlock_t *lock); 38 39 void 40 qat_qp_adf_configure_queues_gen1(struct qat_qp *qp); 41 42 void 43 qat_qp_csr_write_tail_gen1(struct qat_qp *qp, struct qat_queue *q); 44 45 void 46 qat_qp_csr_write_head_gen1(struct qat_qp *qp, struct qat_queue *q, 47 uint32_t new_head); 48 49 void 50 qat_qp_csr_setup_gen1(struct qat_pci_device *qat_dev, 51 void *io_addr, struct qat_qp *qp); 52 53 int 54 qat_reset_ring_pairs_gen1( 55 struct qat_pci_device *qat_pci_dev); 56 const struct 57 rte_mem_resource *qat_dev_get_transport_bar_gen1( 58 struct rte_pci_device *pci_dev); 59 int 60 qat_dev_get_misc_bar_gen1(struct rte_mem_resource **mem_resource, 61 struct rte_pci_device *pci_dev); 62 int 63 qat_dev_read_config_gen1(struct qat_pci_device *qat_dev); 64 65 int 66 qat_reset_ring_pairs_gen4(struct qat_pci_device *qat_pci_dev); 67 68 const struct rte_mem_resource * 69 qat_dev_get_transport_bar_gen4(struct rte_pci_device *pci_dev); 70 71 int 72 qat_dev_get_misc_bar_gen4(struct rte_mem_resource **mem_resource, 73 struct rte_pci_device *pci_dev); 74 75 int 76 qat_dev_read_config_gen4(struct qat_pci_device *qat_dev); 77 78 int 79 qat_dev_get_extra_size_gen4(void); 80 81 int 82 qat_dev_get_slice_map_gen4(uint32_t *map __rte_unused, 83 const struct rte_pci_device *pci_dev __rte_unused); 84 85 int 86 qat_qp_rings_per_service_gen4(struct qat_pci_device *qat_dev, 87 enum qat_service_type service); 88 89 void 90 qat_qp_build_ring_base_gen4(void *io_addr, 91 struct qat_queue *queue); 92 93 void 94 qat_qp_adf_arb_enable_gen4(const struct qat_queue *txq, 95 void *base_addr, rte_spinlock_t *lock); 96 97 void 98 qat_qp_adf_arb_disable_gen4(const struct qat_queue *txq, 99 void *base_addr, rte_spinlock_t *lock); 100 101 void 102 qat_qp_adf_configure_queues_gen4(struct qat_qp *qp); 103 104 void 105 qat_qp_csr_write_tail_gen4(struct qat_qp *qp, struct qat_queue *q); 106 107 void 108 qat_qp_csr_write_head_gen4(struct qat_qp *qp, struct qat_queue *q, 109 uint32_t new_head); 110 111 void 112 qat_qp_csr_setup_gen4(struct qat_pci_device *qat_dev, 113 void *io_addr, struct qat_qp *qp); 114 115 const struct qat_qp_hw_data * 116 qat_qp_get_hw_data_gen4(struct qat_pci_device *qat_dev, 117 enum qat_service_type service_type, uint16_t qp_id); 118 119 #endif 120