aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/mach-octeon/include/mach/cvmx-pko-internal-ports-range.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/mach-octeon/include/mach/cvmx-pko-internal-ports-range.h')
-rw-r--r--arch/mips/mach-octeon/include/mach/cvmx-pko-internal-ports-range.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/mips/mach-octeon/include/mach/cvmx-pko-internal-ports-range.h b/arch/mips/mach-octeon/include/mach/cvmx-pko-internal-ports-range.h
new file mode 100644
index 0000000..1fb49b3
--- /dev/null
+++ b/arch/mips/mach-octeon/include/mach/cvmx-pko-internal-ports-range.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2020 Marvell International Ltd.
+ */
+
+#ifndef __CVMX_INTERNAL_PORTS_RANGE__
+#define __CVMX_INTERNAL_PORTS_RANGE__
+
+/*
+ * Allocated a block of internal ports for the specified interface/port
+ *
+ * @param interface the interface for which the internal ports are requested
+ * @param port the index of the port within in the interface for which the internal ports
+ * are requested.
+ * @param count the number of internal ports requested
+ *
+ * @return 0 on success
+ * -1 on failure
+ */
+int cvmx_pko_internal_ports_alloc(int interface, int port, u64 count);
+
+/*
+ * Free the internal ports associated with the specified interface/port
+ *
+ * @param interface the interface for which the internal ports are requested
+ * @param port the index of the port within in the interface for which the internal ports
+ * are requested.
+ *
+ * @return 0 on success
+ * -1 on failure
+ */
+int cvmx_pko_internal_ports_free(int interface, int port);
+
+/*
+ * Frees up all the allocated internal ports.
+ */
+void cvmx_pko_internal_ports_range_free_all(void);
+
+void cvmx_pko_internal_ports_range_show(void);
+
+int __cvmx_pko_internal_ports_range_init(void);
+
+#endif