1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2020 Broadcom 3 * All rights reserved. 4 */ 5 6 #ifndef _BCMFS_SYM_PMD_H_ 7 #define _BCMFS_SYM_PMD_H_ 8 9 #include <rte_cryptodev.h> 10 11 #include "bcmfs_device.h" 12 13 #define CRYPTODEV_NAME_BCMFS_SYM_PMD crypto_bcmfs 14 15 #define BCMFS_CRYPTO_MAX_HW_DESCS_PER_REQ 16 16 17 extern uint8_t cryptodev_bcmfs_driver_id; 18 19 /** private data structure for a BCMFS device. 20 * This BCMFS device is a device offering only symmetric crypto service, 21 * there can be one of these on each bcmfs_pci_device (VF). 22 */ 23 struct bcmfs_sym_dev_private { 24 /* The bcmfs device hosting the service */ 25 struct bcmfs_device *fsdev; 26 /* Device instance for this rte_cryptodev */ 27 uint8_t sym_dev_id; 28 /* BCMFS device symmetric crypto capabilities */ 29 const struct rte_cryptodev_capabilities *fsdev_capabilities; 30 }; 31 32 int 33 bcmfs_sym_dev_create(struct bcmfs_device *fdev); 34 35 int 36 bcmfs_sym_dev_destroy(struct bcmfs_device *fdev); 37 38 #endif /* _BCMFS_SYM_PMD_H_ */ 39