summaryrefslogtreecommitdiff
path: root/drivers/bus/fsl-mc/fsl-mc-private.h
diff options
context:
space:
mode:
authorBogdan Purcareata <bogdan.purcareata@nxp.com>2018-03-02 13:23:58 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-03-14 15:18:42 +0300
commit9c692d5ae7ea84d221d7504b7ebef07ea8f3ff27 (patch)
tree51d01a15aa7329326071caffa2f2b43e8d385563 /drivers/bus/fsl-mc/fsl-mc-private.h
parentd64c2a76123f0300b08d0557ad56e9d599872a36 (diff)
downloadlinux-9c692d5ae7ea84d221d7504b7ebef07ea8f3ff27.tar.xz
staging: fsl-mc: Move DPBP out of staging
Move the source files out of staging into their final locations: - dpbp.c goes to drivers/bus/fsl-mc/, next to the core infrastructure - dpbp-cmd.h gets merged into drivers/bus/fsl-mc/fsl-mc-private.h, next to the other internally used APIs - dpbp.h gets merged into include/linux/fsl/mc.h, exposing the public API Update references in the dpaa2-eth staging driver. DPBP stands for Data Path Buffer Pool - you can read more about the object in Documentation/networking/dpaa2/overview.rst Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/bus/fsl-mc/fsl-mc-private.h')
-rw-r--r--drivers/bus/fsl-mc/fsl-mc-private.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/bus/fsl-mc/fsl-mc-private.h b/drivers/bus/fsl-mc/fsl-mc-private.h
index bed990c517f3..4ef8d7e078fb 100644
--- a/drivers/bus/fsl-mc/fsl-mc-private.h
+++ b/drivers/bus/fsl-mc/fsl-mc-private.h
@@ -379,6 +379,45 @@ int dprc_get_container_id(struct fsl_mc_io *mc_io,
u32 cmd_flags,
int *container_id);
+/*
+ * Data Path Buffer Pool (DPBP) API
+ */
+
+/* DPBP Version */
+#define DPBP_VER_MAJOR 3
+#define DPBP_VER_MINOR 2
+
+/* Command versioning */
+#define DPBP_CMD_BASE_VERSION 1
+#define DPBP_CMD_ID_OFFSET 4
+
+#define DPBP_CMD(id) (((id) << DPBP_CMD_ID_OFFSET) | DPBP_CMD_BASE_VERSION)
+
+/* Command IDs */
+#define DPBP_CMDID_CLOSE DPBP_CMD(0x800)
+#define DPBP_CMDID_OPEN DPBP_CMD(0x804)
+
+#define DPBP_CMDID_ENABLE DPBP_CMD(0x002)
+#define DPBP_CMDID_DISABLE DPBP_CMD(0x003)
+#define DPBP_CMDID_GET_ATTR DPBP_CMD(0x004)
+#define DPBP_CMDID_RESET DPBP_CMD(0x005)
+
+struct dpbp_cmd_open {
+ __le32 dpbp_id;
+};
+
+#define DPBP_ENABLE 0x1
+
+struct dpbp_rsp_get_attributes {
+ /* response word 0 */
+ __le16 pad;
+ __le16 bpid;
+ __le32 id;
+ /* response word 1 */
+ __le16 version_major;
+ __le16 version_minor;
+};
+
/**
* Maximum number of total IRQs that can be pre-allocated for an MC bus'
* IRQ pool