otx_cptpf.h 999 B

12345678910111213141516171819202122232425262728293031323334
  1. /* SPDX-License-Identifier: GPL-2.0
  2. * Marvell OcteonTX CPT driver
  3. *
  4. * Copyright (C) 2019 Marvell International Ltd.
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef __OTX_CPTPF_H
  11. #define __OTX_CPTPF_H
  12. #include <linux/types.h>
  13. #include <linux/device.h>
  14. #include "otx_cptpf_ucode.h"
  15. /*
  16. * OcteonTX CPT device structure
  17. */
  18. struct otx_cpt_device {
  19. void __iomem *reg_base; /* Register start address */
  20. struct pci_dev *pdev; /* Pci device handle */
  21. struct otx_cpt_eng_grps eng_grps;/* Engine groups information */
  22. struct list_head list;
  23. u8 pf_type; /* PF type SE or AE */
  24. u8 max_vfs; /* Maximum number of VFs supported by the CPT */
  25. u8 vfs_enabled; /* Number of enabled VFs */
  26. };
  27. void otx_cpt_mbox_intr_handler(struct otx_cpt_device *cpt, int mbx);
  28. void otx_cpt_disable_all_cores(struct otx_cpt_device *cpt);
  29. #endif /* __OTX_CPTPF_H */