diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.9/704-fsl-mc-layerscape-support.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.9/704-fsl-mc-layerscape-support.patch | 561 |
1 files changed, 238 insertions, 323 deletions
diff --git a/target/linux/layerscape/patches-4.9/704-fsl-mc-layerscape-support.patch b/target/linux/layerscape/patches-4.9/704-fsl-mc-layerscape-support.patch index ab0afad4f3..a35e593105 100644 --- a/target/linux/layerscape/patches-4.9/704-fsl-mc-layerscape-support.patch +++ b/target/linux/layerscape/patches-4.9/704-fsl-mc-layerscape-support.patch @@ -94,8 +94,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> create mode 100644 drivers/staging/fsl-mc/include/dpcon.h create mode 100644 drivers/staging/fsl-mc/include/dpopr.h -diff --git a/drivers/staging/fsl-mc/bus/Kconfig b/drivers/staging/fsl-mc/bus/Kconfig -index 1f959339..67847c0e 100644 --- a/drivers/staging/fsl-mc/bus/Kconfig +++ b/drivers/staging/fsl-mc/bus/Kconfig @@ -1,25 +1,40 @@ @@ -152,8 +150,6 @@ index 1f959339..67847c0e 100644 + help + Driver that provides kernel support for the Freescale Management + Complex resource manager user-space tool. -diff --git a/drivers/staging/fsl-mc/bus/Makefile b/drivers/staging/fsl-mc/bus/Makefile -index 38716fd5..e7e2239c 100644 --- a/drivers/staging/fsl-mc/bus/Makefile +++ b/drivers/staging/fsl-mc/bus/Makefile @@ -17,4 +17,12 @@ mc-bus-driver-objs := fsl-mc-bus.o \ @@ -170,9 +166,6 @@ index 38716fd5..e7e2239c 100644 + +# MC restool kernel support +obj-$(CONFIG_FSL_MC_RESTOOL) += mc-restool.o -diff --git a/drivers/staging/fsl-mc/bus/dpbp-cmd.h b/drivers/staging/fsl-mc/bus/dpbp-cmd.h -new file mode 100644 -index 00000000..8aa65452 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpbp-cmd.h @@ -0,0 +1,80 @@ @@ -256,8 +249,6 @@ index 00000000..8aa65452 +}; + +#endif /* _FSL_DPBP_CMD_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpbp.c b/drivers/staging/fsl-mc/bus/dpbp.c -index 5d4cd812..d9e450a6 100644 --- a/drivers/staging/fsl-mc/bus/dpbp.c +++ b/drivers/staging/fsl-mc/bus/dpbp.c @@ -1,4 +1,5 @@ @@ -285,11 +276,10 @@ index 5d4cd812..d9e450a6 100644 /** * dpbp_open() - Open a control session for the specified object. -@@ -104,74 +105,6 @@ int dpbp_close(struct fsl_mc_io *mc_io, - } +@@ -105,74 +106,6 @@ int dpbp_close(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dpbp_close); --/** + /** - * dpbp_create() - Create the DPBP object. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -357,10 +347,11 @@ index 5d4cd812..d9e450a6 100644 - return mc_send_command(mc_io, &cmd); -} - - /** +-/** * dpbp_enable() - Enable the DPBP. * @mc_io: Pointer to MC portal's I/O object -@@ -250,6 +183,7 @@ int dpbp_is_enabled(struct fsl_mc_io *mc_io, + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' +@@ -250,6 +183,7 @@ int dpbp_is_enabled(struct fsl_mc_io *mc return 0; } @@ -680,7 +671,7 @@ index 5d4cd812..d9e450a6 100644 /** * dpbp_get_attributes - Retrieve DPBP attributes. -@@ -609,83 +240,40 @@ int dpbp_get_attributes(struct fsl_mc_io *mc_io, +@@ -609,83 +240,40 @@ int dpbp_get_attributes(struct fsl_mc_io rsp_params = (struct dpbp_rsp_get_attributes *)cmd.params; attr->bpid = le16_to_cpu(rsp_params->bpid); attr->id = le32_to_cpu(rsp_params->id); @@ -777,9 +768,6 @@ index 5d4cd812..d9e450a6 100644 return 0; } +EXPORT_SYMBOL(dpbp_get_api_version); -diff --git a/drivers/staging/fsl-mc/bus/dpcon-cmd.h b/drivers/staging/fsl-mc/bus/dpcon-cmd.h -new file mode 100644 -index 00000000..2bb66988 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpcon-cmd.h @@ -0,0 +1,85 @@ @@ -868,9 +856,6 @@ index 00000000..2bb66988 +}; + +#endif /* _FSL_DPCON_CMD_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpcon.c b/drivers/staging/fsl-mc/bus/dpcon.c -new file mode 100644 -index 00000000..eb713578 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpcon.c @@ -0,0 +1,317 @@ @@ -1191,9 +1176,6 @@ index 00000000..eb713578 + return 0; +} +EXPORT_SYMBOL(dpcon_get_api_version); -diff --git a/drivers/staging/fsl-mc/bus/dpio/Makefile b/drivers/staging/fsl-mc/bus/dpio/Makefile -new file mode 100644 -index 00000000..1c28794e --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/Makefile @@ -0,0 +1,11 @@ @@ -1208,53 +1190,48 @@ index 00000000..1c28794e +fsl-mc-dpio-objs := dpio.o qbman-portal.o dpio-service.o dpio-driver.o + +obj-$(CONFIG_FSL_QBMAN_DEBUG) += qbman_debug.o -diff --git a/drivers/staging/fsl-mc/include/dpcon-cmd.h b/drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h -similarity index 64% -rename from drivers/staging/fsl-mc/include/dpcon-cmd.h -rename to drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h -index 536b2ef1..b2dc6e76 100644 --- a/drivers/staging/fsl-mc/include/dpcon-cmd.h -+++ b/drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h -@@ -1,4 +1,6 @@ ++++ /dev/null +@@ -1,62 +0,0 @@ -/* Copyright 2013-2015 Freescale Semiconductor Inc. -+/* -+ * Copyright 2013-2016 Freescale Semiconductor Inc. -+ * Copyright 2016 NXP - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: -@@ -11,7 +13,6 @@ - * names of any contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * - * ALTERNATIVELY, this software may be distributed under the terms of the - * GNU General Public License ("GPL") as published by the Free Software - * Foundation, either version 2 of that License or (at your option) any -@@ -29,34 +30,46 @@ - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions are met: +- * * Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * * Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * * Neither the name of the above-listed copyright holders nor the +- * names of any contributors may be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * +- * ALTERNATIVELY, this software may be distributed under the terms of the +- * GNU General Public License ("GPL") as published by the Free Software +- * Foundation, either version 2 of that License or (at your option) any +- * later version. +- * +- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +- * POSSIBILITY OF SUCH DAMAGE. +- */ -#ifndef _FSL_DPCON_CMD_H -#define _FSL_DPCON_CMD_H -+#ifndef _FSL_DPIO_CMD_H -+#define _FSL_DPIO_CMD_H -+ -+/* DPIO Version */ -+#define DPIO_VER_MAJOR 4 -+#define DPIO_VER_MINOR 2 -+ -+/* Command Versioning */ -+ -+#define DPIO_CMD_ID_OFFSET 4 -+#define DPIO_CMD_BASE_VERSION 1 - +- -/* DPCON Version */ -#define DPCON_VER_MAJOR 2 -#define DPCON_VER_MINOR 1 -+#define DPIO_CMD(id) (((id) << DPIO_CMD_ID_OFFSET) | DPIO_CMD_BASE_VERSION) - - /* Command IDs */ +- +-/* Command IDs */ -#define DPCON_CMDID_CLOSE 0x800 -#define DPCON_CMDID_OPEN 0x808 -#define DPCON_CMDID_CREATE 0x908 @@ -1278,6 +1255,56 @@ index 536b2ef1..b2dc6e76 100644 -#define DPCON_CMDID_SET_NOTIFICATION 0x100 - -#endif /* _FSL_DPCON_CMD_H */ +--- /dev/null ++++ b/drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h +@@ -0,0 +1,75 @@ ++/* ++ * Copyright 2013-2016 Freescale Semiconductor Inc. ++ * Copyright 2016 NXP ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions are met: ++ * * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * * Neither the name of the above-listed copyright holders nor the ++ * names of any contributors may be used to endorse or promote products ++ * derived from this software without specific prior written permission. ++ * ++ * ALTERNATIVELY, this software may be distributed under the terms of the ++ * GNU General Public License ("GPL") as published by the Free Software ++ * Foundation, either version 2 of that License or (at your option) any ++ * later version. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ++ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE ++ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ++ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ++ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ++ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ * POSSIBILITY OF SUCH DAMAGE. ++ */ ++#ifndef _FSL_DPIO_CMD_H ++#define _FSL_DPIO_CMD_H ++ ++/* DPIO Version */ ++#define DPIO_VER_MAJOR 4 ++#define DPIO_VER_MINOR 2 ++ ++/* Command Versioning */ ++ ++#define DPIO_CMD_ID_OFFSET 4 ++#define DPIO_CMD_BASE_VERSION 1 ++ ++#define DPIO_CMD(id) (((id) << DPIO_CMD_ID_OFFSET) | DPIO_CMD_BASE_VERSION) ++ ++/* Command IDs */ +#define DPIO_CMDID_CLOSE DPIO_CMD(0x800) +#define DPIO_CMDID_OPEN DPIO_CMD(0x803) +#define DPIO_CMDID_GET_API_VERSION DPIO_CMD(0xa03) @@ -1306,9 +1333,6 @@ index 536b2ef1..b2dc6e76 100644 +}; + +#endif /* _FSL_DPIO_CMD_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c -new file mode 100644 -index 00000000..8c8244a1 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c @@ -0,0 +1,296 @@ @@ -1608,9 +1632,6 @@ index 00000000..8c8244a1 +} +module_init(dpio_driver_init); +module_exit(dpio_driver_exit); -diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt -new file mode 100644 -index 00000000..0ba67716 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt @@ -0,0 +1,135 @@ @@ -1749,9 +1770,6 @@ index 00000000..0ba67716 + manipulate them are defined in dpaa2-fd.h. + + Dequeue result struct and parsing APIs are defined in dpaa2-global.h. -diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c b/drivers/staging/fsl-mc/bus/dpio/dpio-service.c -new file mode 100644 -index 00000000..8449d988 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-service.c @@ -0,0 +1,693 @@ @@ -2448,9 +2466,6 @@ index 00000000..8449d988 +} +EXPORT_SYMBOL(dpaa2_io_query_bp_count); +#endif -diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio.c b/drivers/staging/fsl-mc/bus/dpio/dpio.c -new file mode 100644 -index 00000000..d81e0232 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio.c @@ -0,0 +1,224 @@ @@ -2678,9 +2693,6 @@ index 00000000..d81e0232 + + return 0; +} -diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio.h b/drivers/staging/fsl-mc/bus/dpio/dpio.h -new file mode 100644 -index 00000000..ced1103d --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio.h @@ -0,0 +1,109 @@ @@ -2793,9 +2805,6 @@ index 00000000..ced1103d + u16 *minor_ver); + +#endif /* __FSL_DPIO_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c -new file mode 100644 -index 00000000..e14fb65b --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c @@ -0,0 +1,1049 @@ @@ -3848,9 +3857,6 @@ index 00000000..e14fb65b + + return 0; +} -diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.h b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.h -new file mode 100644 -index 00000000..4254034c --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.h @@ -0,0 +1,662 @@ @@ -4516,9 +4522,6 @@ index 00000000..4254034c +#define qb_cl(d) (&(d)->dont_manipulate_directly[0]) + +#endif /* __FSL_QBMAN_PORTAL_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman_debug.c b/drivers/staging/fsl-mc/bus/dpio/qbman_debug.c -new file mode 100644 -index 00000000..1c77fa6a --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/qbman_debug.c @@ -0,0 +1,853 @@ @@ -5375,9 +5378,6 @@ index 00000000..1c77fa6a + return qbman_cgr_statistics_query(s, cgid, clear, 0, + frame_cnt, byte_cnt); +} -diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman_debug.h b/drivers/staging/fsl-mc/bus/dpio/qbman_debug.h -new file mode 100644 -index 00000000..0a247a49 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/qbman_debug.h @@ -0,0 +1,136 @@ @@ -5517,9 +5517,6 @@ index 00000000..0a247a49 + u64 *frame_cnt, u64 *byte_cnt); +int qbman_cq_dequeue_statistics(struct qbman_swp *s, u32 cgid, int clear, + u64 *frame_cnt, u64 *byte_cnt); -diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman_private.h b/drivers/staging/fsl-mc/bus/dpio/qbman_private.h -new file mode 100644 -index 00000000..98a64be2 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/qbman_private.h @@ -0,0 +1,171 @@ @@ -5694,8 +5691,6 @@ index 00000000..98a64be2 + + __hexdump(start, end, p, sz, c); +} -diff --git a/drivers/staging/fsl-mc/bus/dpmcp-cmd.h b/drivers/staging/fsl-mc/bus/dpmcp-cmd.h -index d098a6d8..384a13d0 100644 --- a/drivers/staging/fsl-mc/bus/dpmcp-cmd.h +++ b/drivers/staging/fsl-mc/bus/dpmcp-cmd.h @@ -1,4 +1,5 @@ @@ -5719,27 +5714,16 @@ index d098a6d8..384a13d0 100644 /* Minimal supported DPMCP Version */ -#define DPMCP_MIN_VER_MAJOR 3 -#define DPMCP_MIN_VER_MINOR 0 -+#define DPMCP_MIN_VER_MAJOR 3 -+#define DPMCP_MIN_VER_MINOR 0 - +- -/* Command IDs */ -#define DPMCP_CMDID_CLOSE 0x800 -#define DPMCP_CMDID_OPEN 0x80b -#define DPMCP_CMDID_CREATE 0x90b -#define DPMCP_CMDID_DESTROY 0x900 -+/* Command versioning */ -+#define DPMCP_CMD_BASE_VERSION 1 -+#define DPMCP_CMD_ID_OFFSET 4 - +- -#define DPMCP_CMDID_GET_ATTR 0x004 -#define DPMCP_CMDID_RESET 0x005 -+#define DPMCP_CMD(id) ((id << DPMCP_CMD_ID_OFFSET) | DPMCP_CMD_BASE_VERSION) -+ -+/* Command IDs */ -+#define DPMCP_CMDID_CLOSE DPMCP_CMD(0x800) -+#define DPMCP_CMDID_OPEN DPMCP_CMD(0x80b) -+#define DPMCP_CMDID_GET_API_VERSION DPMCP_CMD(0xa0b) - +- -#define DPMCP_CMDID_SET_IRQ 0x010 -#define DPMCP_CMDID_GET_IRQ 0x011 -#define DPMCP_CMDID_SET_IRQ_ENABLE 0x012 @@ -5747,12 +5731,11 @@ index d098a6d8..384a13d0 100644 -#define DPMCP_CMDID_SET_IRQ_MASK 0x014 -#define DPMCP_CMDID_GET_IRQ_MASK 0x015 -#define DPMCP_CMDID_GET_IRQ_STATUS 0x016 -+#define DPMCP_CMDID_RESET DPMCP_CMD(0x005) - - struct dpmcp_cmd_open { - __le32 dpmcp_id; - }; - +- +-struct dpmcp_cmd_open { +- __le32 dpmcp_id; +-}; +- -struct dpmcp_cmd_create { - __le32 portal_id; -}; @@ -5783,15 +5766,21 @@ index d098a6d8..384a13d0 100644 - __le32 irq_num; - __le32 type; -}; -- ++#define DPMCP_MIN_VER_MAJOR 3 ++#define DPMCP_MIN_VER_MINOR 0 + -#define DPMCP_ENABLE 0x1 -- ++/* Command versioning */ ++#define DPMCP_CMD_BASE_VERSION 1 ++#define DPMCP_CMD_ID_OFFSET 4 + -struct dpmcp_cmd_set_irq_enable { - u8 enable; - u8 pad[3]; - u8 irq_index; -}; -- ++#define DPMCP_CMD(id) ((id << DPMCP_CMD_ID_OFFSET) | DPMCP_CMD_BASE_VERSION) + -struct dpmcp_cmd_get_irq_enable { - __le32 pad; - u8 irq_index; @@ -5814,12 +5803,17 @@ index d098a6d8..384a13d0 100644 -struct dpmcp_rsp_get_irq_mask { - __le32 mask; -}; -- ++/* Command IDs */ ++#define DPMCP_CMDID_CLOSE DPMCP_CMD(0x800) ++#define DPMCP_CMDID_OPEN DPMCP_CMD(0x80b) ++#define DPMCP_CMDID_GET_API_VERSION DPMCP_CMD(0xa0b) + -struct dpmcp_cmd_get_irq_status { - __le32 status; - u8 irq_index; -}; -- ++#define DPMCP_CMDID_RESET DPMCP_CMD(0x005) + -struct dpmcp_rsp_get_irq_status { - __le32 status; -}; @@ -5831,11 +5825,11 @@ index d098a6d8..384a13d0 100644 - /* response word 1 */ - __le16 version_major; - __le16 version_minor; --}; -- ++struct dpmcp_cmd_open { ++ __le32 dpmcp_id; + }; + #endif /* _FSL_DPMCP_CMD_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpmcp.c b/drivers/staging/fsl-mc/bus/dpmcp.c -index 55766f78..ad4c8b43 100644 --- a/drivers/staging/fsl-mc/bus/dpmcp.c +++ b/drivers/staging/fsl-mc/bus/dpmcp.c @@ -1,4 +1,5 @@ @@ -5853,11 +5847,10 @@ index 55766f78..ad4c8b43 100644 * ALTERNATIVELY, this software may be distributed under the terms of the * GNU General Public License ("GPL") as published by the Free Software * Foundation, either version 2 of that License or (at your option) any -@@ -103,76 +103,6 @@ int dpmcp_close(struct fsl_mc_io *mc_io, - return mc_send_command(mc_io, &cmd); +@@ -104,76 +104,6 @@ int dpmcp_close(struct fsl_mc_io *mc_io, } --/** + /** - * dpmcp_create() - Create the DPMCP object. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -5927,9 +5920,10 @@ index 55766f78..ad4c8b43 100644 - return mc_send_command(mc_io, &cmd); -} - - /** +-/** * dpmcp_reset() - Reset the DPMCP, returns the object to initial state. * @mc_io: Pointer to MC portal's I/O object + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -196,309 +126,33 @@ int dpmcp_reset(struct fsl_mc_io *mc_io, } @@ -6252,8 +6246,6 @@ index 55766f78..ad4c8b43 100644 return 0; } -diff --git a/drivers/staging/fsl-mc/bus/dpmcp.h b/drivers/staging/fsl-mc/bus/dpmcp.h -index fe79d4d9..f616031e 100644 --- a/drivers/staging/fsl-mc/bus/dpmcp.h +++ b/drivers/staging/fsl-mc/bus/dpmcp.h @@ -1,4 +1,5 @@ @@ -6296,7 +6288,9 @@ index fe79d4d9..f616031e 100644 int dpmcp_close(struct fsl_mc_io *mc_io, - uint32_t cmd_flags, - uint16_t token); -- ++ u32 cmd_flags, ++ u16 token); + -/** - * struct dpmcp_cfg - Structure representing DPMCP configuration - * @portal_id: Portal ID; 'DPMCP_GET_PORTAL_ID_FROM_POOL' to get the portal ID @@ -6310,9 +6304,7 @@ index fe79d4d9..f616031e 100644 - uint32_t cmd_flags, - const struct dpmcp_cfg *cfg, - uint16_t *token); -+ u32 cmd_flags, -+ u16 token); - +- -int dpmcp_destroy(struct fsl_mc_io *mc_io, - uint32_t cmd_flags, - uint16_t token); @@ -6412,8 +6404,6 @@ index fe79d4d9..f616031e 100644 + u16 token); #endif /* __FSL_DPMCP_H */ -diff --git a/drivers/staging/fsl-mc/bus/dpmng-cmd.h b/drivers/staging/fsl-mc/bus/dpmng-cmd.h -index a7b77d58..cdddfb80 100644 --- a/drivers/staging/fsl-mc/bus/dpmng-cmd.h +++ b/drivers/staging/fsl-mc/bus/dpmng-cmd.h @@ -12,7 +12,6 @@ @@ -6445,8 +6435,6 @@ index a7b77d58..cdddfb80 100644 struct dpmng_rsp_get_version { __le32 revision; -diff --git a/drivers/staging/fsl-mc/bus/dpmng.c b/drivers/staging/fsl-mc/bus/dpmng.c -index 96b1d677..ad5d5bbe 100644 --- a/drivers/staging/fsl-mc/bus/dpmng.c +++ b/drivers/staging/fsl-mc/bus/dpmng.c @@ -1,4 +1,5 @@ @@ -6464,7 +6452,7 @@ index 96b1d677..ad5d5bbe 100644 * ALTERNATIVELY, this software may be distributed under the terms of the * GNU General Public License ("GPL") as published by the Free Software * Foundation, either version 2 of that License or (at your option) any -@@ -72,36 +72,3 @@ int mc_get_version(struct fsl_mc_io *mc_io, +@@ -72,36 +72,3 @@ int mc_get_version(struct fsl_mc_io *mc_ } EXPORT_SYMBOL(mc_get_version); @@ -6501,8 +6489,6 @@ index 96b1d677..ad5d5bbe 100644 - return 0; -} - -diff --git a/drivers/staging/fsl-mc/bus/dprc-cmd.h b/drivers/staging/fsl-mc/bus/dprc-cmd.h -index 009d6567..b7d8c345 100644 --- a/drivers/staging/fsl-mc/bus/dprc-cmd.h +++ b/drivers/staging/fsl-mc/bus/dprc-cmd.h @@ -12,7 +12,6 @@ @@ -6521,13 +6507,7 @@ index 009d6567..b7d8c345 100644 +#define DPRC_MIN_VER_MAJOR 6 #define DPRC_MIN_VER_MINOR 0 -+/* Command versioning */ -+#define DPRC_CMD_BASE_VERSION 1 -+#define DPRC_CMD_ID_OFFSET 4 -+ -+#define DPRC_CMD(id) ((id << DPRC_CMD_ID_OFFSET) | DPRC_CMD_BASE_VERSION) -+ - /* Command IDs */ +-/* Command IDs */ -#define DPRC_CMDID_CLOSE 0x800 -#define DPRC_CMDID_OPEN 0x805 -#define DPRC_CMDID_CREATE 0x905 @@ -6564,8 +6544,14 @@ index 009d6567..b7d8c345 100644 -#define DPRC_CMDID_DISCONNECT 0x168 -#define DPRC_CMDID_GET_POOL 0x169 -#define DPRC_CMDID_GET_POOL_COUNT 0x16A -- ++/* Command versioning */ ++#define DPRC_CMD_BASE_VERSION 1 ++#define DPRC_CMD_ID_OFFSET 4 + -#define DPRC_CMDID_GET_CONNECTION 0x16C ++#define DPRC_CMD(id) ((id << DPRC_CMD_ID_OFFSET) | DPRC_CMD_BASE_VERSION) ++ ++/* Command IDs */ +#define DPRC_CMDID_CLOSE DPRC_CMD(0x800) +#define DPRC_CMDID_OPEN DPRC_CMD(0x805) +#define DPRC_CMDID_GET_API_VERSION DPRC_CMD(0xa05) @@ -6621,8 +6607,6 @@ index 009d6567..b7d8c345 100644 }; struct dprc_cmd_set_obj_label { -diff --git a/drivers/staging/fsl-mc/bus/dprc-driver.c b/drivers/staging/fsl-mc/bus/dprc-driver.c -index c5ee4639..f6e6211b 100644 --- a/drivers/staging/fsl-mc/bus/dprc-driver.c +++ b/drivers/staging/fsl-mc/bus/dprc-driver.c @@ -1,7 +1,7 @@ @@ -6634,7 +6618,7 @@ index c5ee4639..f6e6211b 100644 * Author: German Rivera <German.Rivera@freescale.com> * * This file is licensed under the terms of the GNU General Public -@@ -160,6 +160,8 @@ static void check_plugged_state_change(struct fsl_mc_device *mc_dev, +@@ -160,6 +160,8 @@ static void check_plugged_state_change(s * dprc_add_new_devices - Adds devices to the logical bus for a DPRC * * @mc_bus_dev: pointer to the fsl-mc device that represents a DPRC object @@ -6643,7 +6627,7 @@ index c5ee4639..f6e6211b 100644 * @obj_desc_array: array of device descriptors for child devices currently * present in the physical DPRC. * @num_child_objects_in_mc: number of entries in obj_desc_array -@@ -169,6 +171,7 @@ static void check_plugged_state_change(struct fsl_mc_device *mc_dev, +@@ -169,6 +171,7 @@ static void check_plugged_state_change(s * in the physical DPRC. */ static void dprc_add_new_devices(struct fsl_mc_device *mc_bus_dev, @@ -6651,7 +6635,7 @@ index c5ee4639..f6e6211b 100644 struct dprc_obj_desc *obj_desc_array, int num_child_objects_in_mc) { -@@ -188,11 +191,12 @@ static void dprc_add_new_devices(struct fsl_mc_device *mc_bus_dev, +@@ -188,11 +191,12 @@ static void dprc_add_new_devices(struct child_dev = fsl_mc_device_lookup(obj_desc, mc_bus_dev); if (child_dev) { check_plugged_state_change(child_dev, obj_desc); @@ -6665,7 +6649,7 @@ index c5ee4639..f6e6211b 100644 if (error < 0) continue; } -@@ -202,6 +206,8 @@ static void dprc_add_new_devices(struct fsl_mc_device *mc_bus_dev, +@@ -202,6 +206,8 @@ static void dprc_add_new_devices(struct * dprc_scan_objects - Discover objects in a DPRC * * @mc_bus_dev: pointer to the fsl-mc device that represents a DPRC object @@ -6674,7 +6658,7 @@ index c5ee4639..f6e6211b 100644 * @total_irq_count: total number of IRQs needed by objects in the DPRC. * * Detects objects added and removed from a DPRC and synchronizes the -@@ -217,6 +223,7 @@ static void dprc_add_new_devices(struct fsl_mc_device *mc_bus_dev, +@@ -217,6 +223,7 @@ static void dprc_add_new_devices(struct * of the device drivers for the non-allocatable devices. */ int dprc_scan_objects(struct fsl_mc_device *mc_bus_dev, @@ -6682,7 +6666,7 @@ index c5ee4639..f6e6211b 100644 unsigned int *total_irq_count) { int num_child_objects; -@@ -297,7 +304,7 @@ int dprc_scan_objects(struct fsl_mc_device *mc_bus_dev, +@@ -297,7 +304,7 @@ int dprc_scan_objects(struct fsl_mc_devi dprc_remove_devices(mc_bus_dev, child_obj_desc_array, num_child_objects); @@ -6691,7 +6675,7 @@ index c5ee4639..f6e6211b 100644 num_child_objects); if (child_obj_desc_array) -@@ -328,7 +335,7 @@ int dprc_scan_container(struct fsl_mc_device *mc_bus_dev) +@@ -328,7 +335,7 @@ int dprc_scan_container(struct fsl_mc_de * Discover objects in the DPRC: */ mutex_lock(&mc_bus->scan_mutex); @@ -6700,7 +6684,7 @@ index c5ee4639..f6e6211b 100644 mutex_unlock(&mc_bus->scan_mutex); if (error < 0) goto error; -@@ -415,7 +422,7 @@ static irqreturn_t dprc_irq0_handler_thread(int irq_num, void *arg) +@@ -415,7 +422,7 @@ static irqreturn_t dprc_irq0_handler_thr DPRC_IRQ_EVENT_OBJ_CREATED)) { unsigned int irq_count; @@ -6709,7 +6693,7 @@ index c5ee4639..f6e6211b 100644 if (error < 0) { /* * If the error is -ENXIO, we ignore it, as it indicates -@@ -505,7 +512,7 @@ static int register_dprc_irq_handler(struct fsl_mc_device *mc_dev) +@@ -505,7 +512,7 @@ static int register_dprc_irq_handler(str dprc_irq0_handler, dprc_irq0_handler_thread, IRQF_NO_SUSPEND | IRQF_ONESHOT, @@ -6718,7 +6702,7 @@ index c5ee4639..f6e6211b 100644 &mc_dev->dev); if (error < 0) { dev_err(&mc_dev->dev, -@@ -597,6 +604,7 @@ static int dprc_probe(struct fsl_mc_device *mc_dev) +@@ -597,6 +604,7 @@ static int dprc_probe(struct fsl_mc_devi struct fsl_mc_bus *mc_bus = to_fsl_mc_bus(mc_dev); bool mc_io_created = false; bool msi_domain_set = false; @@ -6726,7 +6710,7 @@ index c5ee4639..f6e6211b 100644 if (WARN_ON(strcmp(mc_dev->obj_desc.type, "dprc") != 0)) return -EINVAL; -@@ -669,13 +677,21 @@ static int dprc_probe(struct fsl_mc_device *mc_dev) +@@ -669,13 +677,21 @@ static int dprc_probe(struct fsl_mc_devi goto error_cleanup_open; } @@ -6753,8 +6737,6 @@ index c5ee4639..f6e6211b 100644 error = -ENOTSUPP; goto error_cleanup_open; } -diff --git a/drivers/staging/fsl-mc/bus/dprc.c b/drivers/staging/fsl-mc/bus/dprc.c -index 9fea3def..764cd3fb 100644 --- a/drivers/staging/fsl-mc/bus/dprc.c +++ b/drivers/staging/fsl-mc/bus/dprc.c @@ -1,4 +1,5 @@ @@ -6772,11 +6754,10 @@ index 9fea3def..764cd3fb 100644 * ALTERNATIVELY, this software may be distributed under the terms of the * GNU General Public License ("GPL") as published by the Free Software * Foundation, either version 2 of that License or (at your option) any -@@ -99,93 +99,6 @@ int dprc_close(struct fsl_mc_io *mc_io, - } +@@ -100,93 +100,6 @@ int dprc_close(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dprc_close); --/** + /** - * dprc_create_container() - Create child container - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -6863,10 +6844,11 @@ index 9fea3def..764cd3fb 100644 - return mc_send_command(mc_io, &cmd); -} - - /** +-/** * dprc_reset_container - Reset child container. * @mc_io: Pointer to MC portal's I/O object -@@ -565,279 +478,6 @@ int dprc_get_attributes(struct fsl_mc_io *mc_io, + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' +@@ -565,279 +478,6 @@ int dprc_get_attributes(struct fsl_mc_io attr->icid = le16_to_cpu(rsp_params->icid); attr->options = le32_to_cpu(rsp_params->options); attr->portal_id = le32_to_cpu(rsp_params->portal_id); @@ -7146,11 +7128,10 @@ index 9fea3def..764cd3fb 100644 return 0; } -@@ -933,64 +573,6 @@ int dprc_get_obj(struct fsl_mc_io *mc_io, - } +@@ -934,64 +574,6 @@ int dprc_get_obj(struct fsl_mc_io *mc_io EXPORT_SYMBOL(dprc_get_obj); --/** + /** - * dprc_get_obj_desc() - Get object descriptor. - * - * @mc_io: Pointer to MC portal's I/O object @@ -7208,14 +7189,14 @@ index 9fea3def..764cd3fb 100644 -} -EXPORT_SYMBOL(dprc_get_obj_desc); - - /** +-/** * dprc_set_obj_irq() - Set IRQ information for object to trigger an interrupt. * @mc_io: Pointer to MC portal's I/O object -@@ -1129,52 +711,6 @@ int dprc_get_res_count(struct fsl_mc_io *mc_io, - } + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' +@@ -1130,52 +712,6 @@ int dprc_get_res_count(struct fsl_mc_io EXPORT_SYMBOL(dprc_get_res_count); --/** + /** - * dprc_get_res_ids() - Obtains IDs of free resources in the container - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -7261,10 +7242,11 @@ index 9fea3def..764cd3fb 100644 -} -EXPORT_SYMBOL(dprc_get_res_ids); - - /** +-/** * dprc_get_obj_region() - Get region information for a specified object. * @mc_io: Pointer to MC portal's I/O object -@@ -1216,160 +752,66 @@ int dprc_get_obj_region(struct fsl_mc_io *mc_io, + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' +@@ -1216,160 +752,66 @@ int dprc_get_obj_region(struct fsl_mc_io /* retrieve response parameters */ rsp_params = (struct dprc_rsp_get_obj_region *)cmd.params; @@ -7455,7 +7437,7 @@ index 9fea3def..764cd3fb 100644 /* send command to mc*/ err = mc_send_command(mc_io, &cmd); -@@ -1377,12 +819,7 @@ int dprc_get_connection(struct fsl_mc_io *mc_io, +@@ -1377,12 +819,7 @@ int dprc_get_connection(struct fsl_mc_io return err; /* retrieve response parameters */ @@ -7469,8 +7451,6 @@ index 9fea3def..764cd3fb 100644 return 0; } -diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c b/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c -index e93ab53b..ce07096c 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c +++ b/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c @@ -1,7 +1,7 @@ @@ -7516,7 +7496,7 @@ index e93ab53b..ce07096c 100644 */ static int __must_check fsl_mc_resource_pool_add_device(struct fsl_mc_bus *mc_bus, -@@ -95,10 +92,10 @@ static int __must_check fsl_mc_resource_pool_add_device(struct fsl_mc_bus +@@ -95,10 +92,10 @@ out: * fsl_mc_resource_pool_remove_device - remove an allocatable device from a * resource pool * @@ -7530,7 +7510,7 @@ index e93ab53b..ce07096c 100644 */ static int __must_check fsl_mc_resource_pool_remove_device(struct fsl_mc_device *mc_dev) -@@ -255,17 +252,18 @@ void fsl_mc_resource_free(struct fsl_mc_resource *resource) +@@ -255,17 +252,18 @@ out_unlock: EXPORT_SYMBOL_GPL(fsl_mc_resource_free); /** @@ -7558,7 +7538,7 @@ index e93ab53b..ce07096c 100644 * * NOTE: pool_type must be different from FSL_MC_POOL_MCP, since MC * portals are allocated using fsl_mc_portal_allocate(), instead of -@@ -312,10 +310,9 @@ int __must_check fsl_mc_object_allocate(struct fsl_mc_device *mc_dev, +@@ -312,10 +310,9 @@ error: EXPORT_SYMBOL_GPL(fsl_mc_object_allocate); /** @@ -7572,7 +7552,7 @@ index e93ab53b..ce07096c 100644 */ void fsl_mc_object_free(struct fsl_mc_device *mc_adev) { -@@ -332,8 +329,14 @@ void fsl_mc_object_free(struct fsl_mc_device *mc_adev) +@@ -332,8 +329,14 @@ void fsl_mc_object_free(struct fsl_mc_de EXPORT_SYMBOL_GPL(fsl_mc_object_free); /* @@ -7589,7 +7569,7 @@ index e93ab53b..ce07096c 100644 */ int fsl_mc_populate_irq_pool(struct fsl_mc_bus *mc_bus, unsigned int irq_count) -@@ -395,7 +398,7 @@ int fsl_mc_populate_irq_pool(struct fsl_mc_bus *mc_bus, +@@ -395,7 +398,7 @@ cleanup_msi_irqs: EXPORT_SYMBOL_GPL(fsl_mc_populate_irq_pool); /** @@ -7598,7 +7578,7 @@ index e93ab53b..ce07096c 100644 * It frees the IRQs that were allocated to the pool, back to the GIC-ITS. */ void fsl_mc_cleanup_irq_pool(struct fsl_mc_bus *mc_bus) -@@ -422,11 +425,7 @@ void fsl_mc_cleanup_irq_pool(struct fsl_mc_bus *mc_bus) +@@ -422,11 +425,7 @@ void fsl_mc_cleanup_irq_pool(struct fsl_ EXPORT_SYMBOL_GPL(fsl_mc_cleanup_irq_pool); /** @@ -7611,7 +7591,7 @@ index e93ab53b..ce07096c 100644 */ int __must_check fsl_mc_allocate_irqs(struct fsl_mc_device *mc_dev) { -@@ -495,8 +494,7 @@ int __must_check fsl_mc_allocate_irqs(struct fsl_mc_device *mc_dev) +@@ -495,8 +494,7 @@ error_resource_alloc: EXPORT_SYMBOL_GPL(fsl_mc_allocate_irqs); /* @@ -7621,7 +7601,7 @@ index e93ab53b..ce07096c 100644 */ void fsl_mc_free_irqs(struct fsl_mc_device *mc_dev) { -@@ -605,7 +603,7 @@ static int fsl_mc_allocator_probe(struct fsl_mc_device *mc_dev) +@@ -605,7 +603,7 @@ static int fsl_mc_allocator_probe(struct return error; dev_dbg(&mc_dev->dev, @@ -7630,7 +7610,7 @@ index e93ab53b..ce07096c 100644 return 0; } -@@ -627,7 +625,7 @@ static int fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev) +@@ -627,7 +625,7 @@ static int fsl_mc_allocator_remove(struc } dev_dbg(&mc_dev->dev, @@ -7639,8 +7619,6 @@ index e93ab53b..ce07096c 100644 return 0; } -diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c -index 44f64b6f..30a48df3 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c +++ b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c @@ -1,7 +1,7 @@ @@ -7690,7 +7668,7 @@ index 44f64b6f..30a48df3 100644 * structures * * Returns 1 on success, 0 otherwise. -@@ -75,8 +75,11 @@ static int fsl_mc_bus_match(struct device *dev, struct device_driver *drv) +@@ -75,8 +75,11 @@ static int fsl_mc_bus_match(struct devic struct fsl_mc_driver *mc_drv = to_fsl_mc_driver(drv); bool found = false; @@ -7703,7 +7681,7 @@ index 44f64b6f..30a48df3 100644 if (!mc_drv->match_id_table) goto out; -@@ -91,7 +94,7 @@ static int fsl_mc_bus_match(struct device *dev, struct device_driver *drv) +@@ -91,7 +94,7 @@ static int fsl_mc_bus_match(struct devic /* * Traverse the match_id table of the given driver, trying to find @@ -7712,7 +7690,7 @@ index 44f64b6f..30a48df3 100644 */ for (id = mc_drv->match_id_table; id->vendor != 0x0; id++) { if (id->vendor == mc_dev->obj_desc.vendor && -@@ -132,23 +135,141 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, +@@ -132,23 +135,141 @@ static ssize_t modalias_show(struct devi } static DEVICE_ATTR_RO(modalias); @@ -7856,7 +7834,7 @@ index 44f64b6f..30a48df3 100644 static int fsl_mc_driver_probe(struct device *dev) { struct fsl_mc_driver *mc_drv; -@@ -164,8 +285,7 @@ static int fsl_mc_driver_probe(struct device *dev) +@@ -164,8 +285,7 @@ static int fsl_mc_driver_probe(struct de error = mc_drv->probe(mc_dev); if (error < 0) { @@ -7866,7 +7844,7 @@ index 44f64b6f..30a48df3 100644 return error; } -@@ -183,9 +303,7 @@ static int fsl_mc_driver_remove(struct device *dev) +@@ -183,9 +303,7 @@ static int fsl_mc_driver_remove(struct d error = mc_drv->remove(mc_dev); if (error < 0) { @@ -7877,7 +7855,7 @@ index 44f64b6f..30a48df3 100644 return error; } -@@ -232,8 +350,6 @@ int __fsl_mc_driver_register(struct fsl_mc_driver *mc_driver, +@@ -232,8 +350,6 @@ int __fsl_mc_driver_register(struct fsl_ return error; } @@ -7886,11 +7864,10 @@ index 44f64b6f..30a48df3 100644 return 0; } EXPORT_SYMBOL_GPL(__fsl_mc_driver_register); -@@ -248,15 +364,6 @@ void fsl_mc_driver_unregister(struct fsl_mc_driver *mc_driver) - } +@@ -249,15 +365,6 @@ void fsl_mc_driver_unregister(struct fsl EXPORT_SYMBOL_GPL(fsl_mc_driver_unregister); --/** + /** - * fsl_mc_bus_exists - check if a root dprc exists - */ -bool fsl_mc_bus_exists(void) @@ -7899,10 +7876,11 @@ index 44f64b6f..30a48df3 100644 -} -EXPORT_SYMBOL_GPL(fsl_mc_bus_exists); - - /** +-/** * fsl_mc_get_root_dprc - function to traverse to the root dprc */ -@@ -315,21 +422,6 @@ static int get_dprc_icid(struct fsl_mc_io *mc_io, + void fsl_mc_get_root_dprc(struct device *dev, +@@ -315,21 +422,6 @@ static int get_dprc_icid(struct fsl_mc_i return error; } @@ -7924,7 +7902,7 @@ index 44f64b6f..30a48df3 100644 static int translate_mc_addr(struct fsl_mc_device *mc_dev, enum dprc_region_type mc_region_type, u64 mc_offset, phys_addr_t *phys_addr) -@@ -451,18 +543,37 @@ bool fsl_mc_is_root_dprc(struct device *dev) +@@ -451,18 +543,37 @@ bool fsl_mc_is_root_dprc(struct device * return dev == root_dprc_dev; } @@ -7963,7 +7941,7 @@ index 44f64b6f..30a48df3 100644 if (dev_is_fsl_mc(parent_dev)) parent_mc_dev = to_fsl_mc_device(parent_dev); -@@ -473,7 +584,7 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -473,7 +584,7 @@ int fsl_mc_device_add(struct dprc_obj_de /* * Allocate an MC bus device object: */ @@ -7972,7 +7950,7 @@ index 44f64b6f..30a48df3 100644 if (!mc_bus) return -ENOMEM; -@@ -482,16 +593,30 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -482,16 +593,30 @@ int fsl_mc_device_add(struct dprc_obj_de /* * Allocate a regular fsl_mc_device object: */ @@ -8004,7 +7982,7 @@ index 44f64b6f..30a48df3 100644 dev_set_name(&mc_dev->dev, "%s.%d", obj_desc->type, obj_desc->id); if (strcmp(obj_desc->type, "dprc") == 0) { -@@ -524,8 +649,6 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -524,8 +649,6 @@ int fsl_mc_device_add(struct dprc_obj_de } mc_io2 = mc_io; @@ -8013,7 +7991,7 @@ index 44f64b6f..30a48df3 100644 } error = get_dprc_icid(mc_io2, obj_desc->id, &mc_dev->icid); -@@ -533,8 +656,8 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -533,8 +656,8 @@ int fsl_mc_device_add(struct dprc_obj_de goto error_cleanup_dev; } else { /* @@ -8024,7 +8002,7 @@ index 44f64b6f..30a48df3 100644 */ mc_dev->icid = parent_mc_dev->icid; mc_dev->dma_mask = FSL_MC_DEFAULT_DMA_MASK; -@@ -556,9 +679,14 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -556,9 +679,14 @@ int fsl_mc_device_add(struct dprc_obj_de goto error_cleanup_dev; } @@ -8042,7 +8020,7 @@ index 44f64b6f..30a48df3 100644 /* * The device-specific probe callback will get invoked by device_add() -@@ -571,9 +699,7 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -571,9 +699,7 @@ int fsl_mc_device_add(struct dprc_obj_de goto error_cleanup_dev; } @@ -8053,7 +8031,7 @@ index 44f64b6f..30a48df3 100644 *new_mc_dev = mc_dev; return 0; -@@ -581,47 +707,34 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc, +@@ -581,47 +707,34 @@ int fsl_mc_device_add(struct dprc_obj_de error_cleanup_dev: kfree(mc_dev->regions); if (mc_bus) @@ -8091,9 +8069,7 @@ index 44f64b6f..30a48df3 100644 - if (strcmp(mc_dev->obj_desc.type, "dprc") == 0) { - mc_bus = to_fsl_mc_bus(mc_dev); -+ if (strcmp(mc_dev->obj_desc.type, "dprc") != 0) -+ mc_dev->dev.iommu_fwspec = NULL; - +- - if (fsl_mc_is_root_dprc(&mc_dev->dev)) { - if (atomic_read(&root_dprc_count) > 0) - atomic_dec(&root_dprc_count); @@ -8101,7 +8077,9 @@ index 44f64b6f..30a48df3 100644 - WARN_ON(1); - } - } -- ++ if (strcmp(mc_dev->obj_desc.type, "dprc") != 0) ++ mc_dev->dev.iommu_fwspec = NULL; + - if (mc_bus) - devm_kfree(mc_dev->dev.parent, mc_bus); - else @@ -8110,7 +8088,7 @@ index 44f64b6f..30a48df3 100644 } EXPORT_SYMBOL_GPL(fsl_mc_device_remove); -@@ -629,8 +742,7 @@ static int parse_mc_ranges(struct device *dev, +@@ -629,8 +742,7 @@ static int parse_mc_ranges(struct device int *paddr_cells, int *mc_addr_cells, int *mc_size_cells, @@ -8120,7 +8098,7 @@ index 44f64b6f..30a48df3 100644 { const __be32 *prop; int range_tuple_cell_count; -@@ -643,8 +755,6 @@ static int parse_mc_ranges(struct device *dev, +@@ -643,8 +755,6 @@ static int parse_mc_ranges(struct device dev_warn(dev, "missing or empty ranges property for device tree node '%s'\n", mc_node->name); @@ -8129,7 +8107,7 @@ index 44f64b6f..30a48df3 100644 return 0; } -@@ -671,8 +781,7 @@ static int parse_mc_ranges(struct device *dev, +@@ -671,8 +781,7 @@ static int parse_mc_ranges(struct device return -EINVAL; } @@ -8139,7 +8117,7 @@ index 44f64b6f..30a48df3 100644 } static int get_mc_addr_translation_ranges(struct device *dev, -@@ -680,7 +789,7 @@ static int get_mc_addr_translation_ranges(struct device *dev, +@@ -680,7 +789,7 @@ static int get_mc_addr_translation_range **ranges, u8 *num_ranges) { @@ -8148,7 +8126,7 @@ index 44f64b6f..30a48df3 100644 int paddr_cells; int mc_addr_cells; int mc_size_cells; -@@ -688,16 +797,16 @@ static int get_mc_addr_translation_ranges(struct device *dev, +@@ -688,16 +797,16 @@ static int get_mc_addr_translation_range const __be32 *ranges_start; const __be32 *cell; @@ -8171,7 +8149,7 @@ index 44f64b6f..30a48df3 100644 /* * Missing or empty ranges property ("ranges;") for the * 'fsl,qoriq-mc' node. In this case, identity mapping -@@ -749,8 +858,6 @@ static int fsl_mc_bus_probe(struct platform_device *pdev) +@@ -749,8 +858,6 @@ static int fsl_mc_bus_probe(struct platf struct mc_version mc_version; struct resource res; @@ -8180,7 +8158,7 @@ index 44f64b6f..30a48df3 100644 mc = devm_kzalloc(&pdev->dev, sizeof(*mc), GFP_KERNEL); if (!mc) return -ENOMEM; -@@ -783,8 +890,7 @@ static int fsl_mc_bus_probe(struct platform_device *pdev) +@@ -783,8 +890,7 @@ static int fsl_mc_bus_probe(struct platf goto error_cleanup_mc_io; } @@ -8190,7 +8168,7 @@ index 44f64b6f..30a48df3 100644 mc_version.major, mc_version.minor, mc_version.revision); error = get_mc_addr_translation_ranges(&pdev->dev, -@@ -793,16 +899,17 @@ static int fsl_mc_bus_probe(struct platform_device *pdev) +@@ -793,16 +899,17 @@ static int fsl_mc_bus_probe(struct platf if (error < 0) goto error_cleanup_mc_io; @@ -8212,7 +8190,7 @@ index 44f64b6f..30a48df3 100644 if (error < 0) goto error_cleanup_mc_io; -@@ -812,7 +919,8 @@ static int fsl_mc_bus_probe(struct platform_device *pdev) +@@ -812,7 +919,8 @@ static int fsl_mc_bus_probe(struct platf obj_desc.irq_count = 1; obj_desc.region_count = 0; @@ -8222,7 +8200,7 @@ index 44f64b6f..30a48df3 100644 if (error < 0) goto error_cleanup_mc_io; -@@ -840,7 +948,6 @@ static int fsl_mc_bus_remove(struct platform_device *pdev) +@@ -840,7 +948,6 @@ static int fsl_mc_bus_remove(struct plat fsl_destroy_mc_io(mc->root_mc_bus_dev->mc_io); mc->root_mc_bus_dev->mc_io = NULL; @@ -8230,7 +8208,7 @@ index 44f64b6f..30a48df3 100644 return 0; } -@@ -865,22 +972,12 @@ static int __init fsl_mc_bus_driver_init(void) +@@ -865,22 +972,12 @@ static int __init fsl_mc_bus_driver_init { int error; @@ -8254,7 +8232,7 @@ index 44f64b6f..30a48df3 100644 error = platform_driver_register(&fsl_mc_bus_driver); if (error < 0) { pr_err("platform_driver_register() failed: %d\n", error); -@@ -914,7 +1011,6 @@ static int __init fsl_mc_bus_driver_init(void) +@@ -914,7 +1011,6 @@ error_cleanup_bus: bus_unregister(&fsl_mc_bus_type); error_cleanup_cache: @@ -8262,9 +8240,6 @@ index 44f64b6f..30a48df3 100644 return error; } postcore_initcall(fsl_mc_bus_driver_init); -diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-iommu.c b/drivers/staging/fsl-mc/bus/fsl-mc-iommu.c -new file mode 100644 -index 00000000..86b2cd84 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/fsl-mc-iommu.c @@ -0,0 +1,104 @@ @@ -8372,8 +8347,6 @@ index 00000000..86b2cd84 + + return group; +} -diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-msi.c b/drivers/staging/fsl-mc/bus/fsl-mc-msi.c -index 3d46b1b1..b8b2c86e 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-msi.c +++ b/drivers/staging/fsl-mc/bus/fsl-mc-msi.c @@ -1,7 +1,7 @@ @@ -8385,16 +8358,6 @@ index 3d46b1b1..b8b2c86e 100644 * Author: German Rivera <German.Rivera@freescale.com> * * This file is licensed under the terms of the GNU General Public -@@ -17,6 +17,7 @@ - #include <linux/irqdomain.h> - #include <linux/msi.h> - #include "../include/mc-bus.h" -+#include "fsl-mc-private.h" - - /* - * Generate a unique ID identifying the interrupt (only used within the MSI -diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-private.h b/drivers/staging/fsl-mc/bus/fsl-mc-private.h -index d459c267..e08b8843 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-private.h +++ b/drivers/staging/fsl-mc/bus/fsl-mc-private.h @@ -10,13 +10,15 @@ @@ -8415,8 +8378,6 @@ index d459c267..e08b8843 100644 int __init dprc_driver_init(void); void dprc_driver_exit(void); -diff --git a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c -index 7a6ac640..49127acb 100644 --- a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c +++ b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c @@ -1,7 +1,7 @@ @@ -8428,11 +8389,8 @@ index 7a6ac640..49127acb 100644 * Author: German Rivera <German.Rivera@freescale.com> * * This file is licensed under the terms of the GNU General Public -@@ -17,9 +17,10 @@ - #include <linux/of.h> - #include <linux/of_irq.h> - #include "../include/mc-bus.h" -+#include "fsl-mc-private.h" +@@ -20,7 +20,7 @@ + #include "fsl-mc-private.h" static struct irq_chip its_msi_irq_chip = { - .name = "fsl-mc-bus-msi", @@ -8440,7 +8398,7 @@ index 7a6ac640..49127acb 100644 .irq_mask = irq_chip_mask_parent, .irq_unmask = irq_chip_unmask_parent, .irq_eoi = irq_chip_eoi_parent, -@@ -51,7 +52,7 @@ static int its_fsl_mc_msi_prepare(struct irq_domain *msi_domain, +@@ -52,7 +52,7 @@ static int its_fsl_mc_msi_prepare(struct return msi_info->ops->msi_prepare(msi_domain->parent, dev, nvec, info); } @@ -8449,7 +8407,7 @@ index 7a6ac640..49127acb 100644 .msi_prepare = its_fsl_mc_msi_prepare, }; -@@ -94,8 +95,8 @@ int __init its_fsl_mc_msi_init(void) +@@ -95,8 +95,8 @@ int __init its_fsl_mc_msi_init(void) continue; } @@ -8460,8 +8418,6 @@ index 7a6ac640..49127acb 100644 pr_info("fsl-mc MSI: %s domain created\n", np->full_name); } -diff --git a/drivers/staging/fsl-mc/bus/mc-io.c b/drivers/staging/fsl-mc/bus/mc-io.c -index 798c965f..d66b87f0 100644 --- a/drivers/staging/fsl-mc/bus/mc-io.c +++ b/drivers/staging/fsl-mc/bus/mc-io.c @@ -1,4 +1,5 @@ @@ -8479,9 +8435,6 @@ index 798c965f..d66b87f0 100644 * ALTERNATIVELY, this software may be distributed under the terms of the * GNU General Public License ("GPL") as published by the Free Software * Foundation, either version 2 of that License or (at your option) any -diff --git a/drivers/staging/fsl-mc/bus/mc-ioctl.h b/drivers/staging/fsl-mc/bus/mc-ioctl.h -new file mode 100644 -index 00000000..8ac502a1 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/mc-ioctl.h @@ -0,0 +1,22 @@ @@ -8507,9 +8460,6 @@ index 00000000..8ac502a1 + _IOWR(RESTOOL_IOCTL_TYPE, 0xE0, struct mc_command) + +#endif /* _FSL_MC_IOCTL_H_ */ -diff --git a/drivers/staging/fsl-mc/bus/mc-restool.c b/drivers/staging/fsl-mc/bus/mc-restool.c -new file mode 100644 -index 00000000..d5330b68 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/mc-restool.c @@ -0,0 +1,405 @@ @@ -8918,8 +8868,6 @@ index 00000000..d5330b68 +MODULE_AUTHOR("Freescale Semiconductor Inc."); +MODULE_DESCRIPTION("Freescale's MC restool driver"); +MODULE_LICENSE("GPL"); -diff --git a/drivers/staging/fsl-mc/bus/mc-sys.c b/drivers/staging/fsl-mc/bus/mc-sys.c -index 285917c7..cf63c7b6 100644 --- a/drivers/staging/fsl-mc/bus/mc-sys.c +++ b/drivers/staging/fsl-mc/bus/mc-sys.c @@ -1,4 +1,5 @@ @@ -8946,7 +8894,7 @@ index 285917c7..cf63c7b6 100644 /* * usleep_range() min and max values used to throttle down polling -@@ -67,7 +67,7 @@ static u16 mc_cmd_hdr_read_cmdid(struct mc_command *cmd) +@@ -67,7 +67,7 @@ static u16 mc_cmd_hdr_read_cmdid(struct struct mc_cmd_header *hdr = (struct mc_cmd_header *)&cmd->header; u16 cmd_id = le16_to_cpu(hdr->cmd_id); @@ -8955,7 +8903,7 @@ index 285917c7..cf63c7b6 100644 } static int mc_status_to_error(enum mc_cmd_status status) -@@ -200,7 +200,7 @@ static int mc_polling_wait_preemptible(struct fsl_mc_io *mc_io, +@@ -200,7 +200,7 @@ static int mc_polling_wait_preemptible(s if (time_after_eq(jiffies, jiffies_until_timeout)) { dev_dbg(mc_io->dev, @@ -8964,7 +8912,7 @@ index 285917c7..cf63c7b6 100644 mc_io->portal_phys_addr, (unsigned int)mc_cmd_hdr_read_token(cmd), (unsigned int)mc_cmd_hdr_read_cmdid(cmd)); -@@ -240,7 +240,7 @@ static int mc_polling_wait_atomic(struct fsl_mc_io *mc_io, +@@ -240,7 +240,7 @@ static int mc_polling_wait_atomic(struct timeout_usecs -= MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS; if (timeout_usecs == 0) { dev_dbg(mc_io->dev, @@ -8973,7 +8921,7 @@ index 285917c7..cf63c7b6 100644 mc_io->portal_phys_addr, (unsigned int)mc_cmd_hdr_read_token(cmd), (unsigned int)mc_cmd_hdr_read_cmdid(cmd)); -@@ -294,7 +294,7 @@ int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd) +@@ -294,7 +294,7 @@ int mc_send_command(struct fsl_mc_io *mc if (status != MC_CMD_STATUS_OK) { dev_dbg(mc_io->dev, @@ -8982,9 +8930,6 @@ index 285917c7..cf63c7b6 100644 mc_io->portal_phys_addr, (unsigned int)mc_cmd_hdr_read_token(cmd), (unsigned int)mc_cmd_hdr_read_cmdid(cmd), -diff --git a/drivers/staging/fsl-mc/include/dpaa2-fd.h b/drivers/staging/fsl-mc/include/dpaa2-fd.h -new file mode 100644 -index 00000000..72328415 --- /dev/null +++ b/drivers/staging/fsl-mc/include/dpaa2-fd.h @@ -0,0 +1,706 @@ @@ -9694,9 +9639,6 @@ index 00000000..72328415 +} + +#endif /* __FSL_DPAA2_FD_H */ -diff --git a/drivers/staging/fsl-mc/include/dpaa2-global.h b/drivers/staging/fsl-mc/include/dpaa2-global.h -new file mode 100644 -index 00000000..0326447f --- /dev/null +++ b/drivers/staging/fsl-mc/include/dpaa2-global.h @@ -0,0 +1,202 @@ @@ -9902,9 +9844,6 @@ index 00000000..0326447f +} + +#endif /* __FSL_DPAA2_GLOBAL_H */ -diff --git a/drivers/staging/fsl-mc/include/dpaa2-io.h b/drivers/staging/fsl-mc/include/dpaa2-io.h -new file mode 100644 -index 00000000..c7d1d997 --- /dev/null +++ b/drivers/staging/fsl-mc/include/dpaa2-io.h @@ -0,0 +1,190 @@ @@ -10098,9 +10037,6 @@ index 00000000..c7d1d997 +} + +#endif /* __FSL_DPAA2_IO_H */ -diff --git a/drivers/staging/fsl-mc/include/dpbp-cmd.h b/drivers/staging/fsl-mc/include/dpbp-cmd.h -deleted file mode 100644 -index 2860411d..00000000 --- a/drivers/staging/fsl-mc/include/dpbp-cmd.h +++ /dev/null @@ -1,185 +0,0 @@ @@ -10289,8 +10225,6 @@ index 2860411d..00000000 -}; - -#endif /* _FSL_DPBP_CMD_H */ -diff --git a/drivers/staging/fsl-mc/include/dpbp.h b/drivers/staging/fsl-mc/include/dpbp.h -index e14e85a5..e9e04cce 100644 --- a/drivers/staging/fsl-mc/include/dpbp.h +++ b/drivers/staging/fsl-mc/include/dpbp.h @@ -1,4 +1,5 @@ @@ -10338,11 +10272,10 @@ index e14e85a5..e9e04cce 100644 int dpbp_enable(struct fsl_mc_io *mc_io, u32 cmd_flags, -@@ -81,140 +66,25 @@ int dpbp_reset(struct fsl_mc_io *mc_io, - u32 cmd_flags, +@@ -82,139 +67,24 @@ int dpbp_reset(struct fsl_mc_io *mc_io, u16 token); --/** + /** - * struct dpbp_irq_cfg - IRQ configuration - * @addr: Address that must be written to signal a message-based interrupt - * @val: Value to write into irq_addr address @@ -10403,7 +10336,7 @@ index e14e85a5..e9e04cce 100644 - u8 irq_index, - u32 status); - - /** +-/** * struct dpbp_attr - Structure representing DPBP attributes * @id: DPBP object ID - * @version: DPBP version @@ -10475,21 +10408,19 @@ index e14e85a5..e9e04cce 100644 - u32 cmd_flags, - u16 token, - struct dpbp_notification_cfg *cfg); +- +-/** @} */ +int dpbp_get_attributes(struct fsl_mc_io *mc_io, + u32 cmd_flags, + u16 token, + struct dpbp_attr *attr); - --/** @} */ ++ +int dpbp_get_api_version(struct fsl_mc_io *mc_io, + u32 cmd_flags, + u16 *major_ver, + u16 *minor_ver); #endif /* __FSL_DPBP_H */ -diff --git a/drivers/staging/fsl-mc/include/dpcon.h b/drivers/staging/fsl-mc/include/dpcon.h -new file mode 100644 -index 00000000..efa23906 --- /dev/null +++ b/drivers/staging/fsl-mc/include/dpcon.h @@ -0,0 +1,115 @@ @@ -10608,8 +10539,6 @@ index 00000000..efa23906 + u16 *minor_ver); + +#endif /* __FSL_DPCON_H */ -diff --git a/drivers/staging/fsl-mc/include/dpmng.h b/drivers/staging/fsl-mc/include/dpmng.h -index e5cfd017..170c07dd 100644 --- a/drivers/staging/fsl-mc/include/dpmng.h +++ b/drivers/staging/fsl-mc/include/dpmng.h @@ -1,4 +1,5 @@ @@ -10645,9 +10574,6 @@ index e5cfd017..170c07dd 100644 + struct mc_version *mc_ver_info); #endif /* __FSL_DPMNG_H */ -diff --git a/drivers/staging/fsl-mc/include/dpopr.h b/drivers/staging/fsl-mc/include/dpopr.h -new file mode 100644 -index 00000000..e1110af2 --- /dev/null +++ b/drivers/staging/fsl-mc/include/dpopr.h @@ -0,0 +1,110 @@ @@ -10761,8 +10687,6 @@ index 00000000..e1110af2 +}; + +#endif /* __FSL_DPOPR_H_ */ -diff --git a/drivers/staging/fsl-mc/include/dprc.h b/drivers/staging/fsl-mc/include/dprc.h -index 593b2bbe..8dc411ec 100644 --- a/drivers/staging/fsl-mc/include/dprc.h +++ b/drivers/staging/fsl-mc/include/dprc.h @@ -1,4 +1,5 @@ @@ -10877,7 +10801,7 @@ index 593b2bbe..8dc411ec 100644 /* IRQ */ -@@ -139,7 +58,7 @@ int dprc_reset_container(struct fsl_mc_io *mc_io, +@@ -139,7 +58,7 @@ int dprc_reset_container(struct fsl_mc_i #define DPRC_IRQ_INDEX 0 /* Number of dprc's IRQs */ @@ -10886,7 +10810,7 @@ index 593b2bbe..8dc411ec 100644 /* DPRC IRQ events */ -@@ -151,12 +70,14 @@ int dprc_reset_container(struct fsl_mc_io *mc_io, +@@ -151,12 +70,14 @@ int dprc_reset_container(struct fsl_mc_i #define DPRC_IRQ_EVENT_RES_ADDED 0x00000004 /* IRQ event - Indicates that resources removed from the container */ #define DPRC_IRQ_EVENT_RES_REMOVED 0x00000008 @@ -10903,18 +10827,15 @@ index 593b2bbe..8dc411ec 100644 * destroyed */ #define DPRC_IRQ_EVENT_OBJ_DESTROYED 0x00000020 -@@ -171,59 +92,59 @@ int dprc_reset_container(struct fsl_mc_io *mc_io, +@@ -171,59 +92,59 @@ int dprc_reset_container(struct fsl_mc_i * @irq_num: A user defined number associated with this IRQ */ struct dprc_irq_cfg { - phys_addr_t paddr; - u32 val; - int irq_num; -+ phys_addr_t paddr; -+ u32 val; -+ int irq_num; - }; - +-}; +- -int dprc_set_irq(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, @@ -10963,6 +10884,11 @@ index 593b2bbe..8dc411ec 100644 - u16 token, - u8 irq_index, - u32 status); ++ phys_addr_t paddr; ++ u32 val; ++ int irq_num; ++}; ++ +int dprc_set_irq(struct fsl_mc_io *mc_io, + u32 cmd_flags, + u16 token, @@ -11014,7 +10940,7 @@ index 593b2bbe..8dc411ec 100644 /** * struct dprc_attributes - Container attributes -@@ -231,114 +152,23 @@ int dprc_clear_irq_status(struct fsl_mc_io *mc_io, +@@ -231,114 +152,23 @@ int dprc_clear_irq_status(struct fsl_mc_ * @icid: Container's ICID * @portal_id: Container's portal ID * @options: Container's options as set at container's creation @@ -11034,8 +10960,8 @@ index 593b2bbe..8dc411ec 100644 - u16 major; - u16 minor; - } version; --}; -- + }; + -int dprc_get_attributes(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, @@ -11097,8 +11023,8 @@ index 593b2bbe..8dc411ec 100644 - u32 num; - u32 options; - int id_base_align; - }; - +-}; +- -int dprc_assign(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, @@ -11136,7 +11062,7 @@ index 593b2bbe..8dc411ec 100644 /* Objects Attributes Flags */ -@@ -353,7 +183,7 @@ int dprc_get_obj_count(struct fsl_mc_io *mc_io, +@@ -353,7 +183,7 @@ int dprc_get_obj_count(struct fsl_mc_io * masters; * user is responsible for proper memory handling through IOMMU configuration. */ @@ -11333,8 +11259,6 @@ index 593b2bbe..8dc411ec 100644 #endif /* _FSL_DPRC_H */ -diff --git a/drivers/staging/fsl-mc/include/mc-bus.h b/drivers/staging/fsl-mc/include/mc-bus.h -index 170684a5..4d1f2d3e 100644 --- a/drivers/staging/fsl-mc/include/mc-bus.h +++ b/drivers/staging/fsl-mc/include/mc-bus.h @@ -1,7 +1,7 @@ @@ -11365,8 +11289,6 @@ index 170684a5..4d1f2d3e 100644 unsigned int *total_irq_count); int __init dprc_driver_init(void); -diff --git a/drivers/staging/fsl-mc/include/mc-cmd.h b/drivers/staging/fsl-mc/include/mc-cmd.h -index 5decb989..2e08aa31 100644 --- a/drivers/staging/fsl-mc/include/mc-cmd.h +++ b/drivers/staging/fsl-mc/include/mc-cmd.h @@ -1,4 +1,5 @@ @@ -11404,7 +11326,7 @@ index 5decb989..2e08aa31 100644 static inline u64 mc_encode_cmd_header(u16 cmd_id, u32 cmd_flags, u16 token) -@@ -84,10 +89,8 @@ static inline u64 mc_encode_cmd_header(u16 cmd_id, +@@ -84,10 +89,8 @@ static inline u64 mc_encode_cmd_header(u u64 header = 0; struct mc_cmd_header *hdr = (struct mc_cmd_header *)&header; @@ -11417,7 +11339,7 @@ index 5decb989..2e08aa31 100644 hdr->status = MC_CMD_STATUS_READY; if (cmd_flags & MC_CMD_FLAG_PRI) hdr->flags_hw = MC_CMD_FLAG_PRI; -@@ -102,7 +105,26 @@ static inline u16 mc_cmd_hdr_read_token(struct mc_command *cmd) +@@ -102,7 +105,26 @@ static inline u16 mc_cmd_hdr_read_token( struct mc_cmd_header *hdr = (struct mc_cmd_header *)&cmd->header; u16 token = le16_to_cpu(hdr->token); @@ -11445,8 +11367,6 @@ index 5decb989..2e08aa31 100644 } #endif /* __FSL_MC_CMD_H */ -diff --git a/drivers/staging/fsl-mc/include/mc-sys.h b/drivers/staging/fsl-mc/include/mc-sys.h -index 89ad0cf5..dca7f908 100644 --- a/drivers/staging/fsl-mc/include/mc-sys.h +++ b/drivers/staging/fsl-mc/include/mc-sys.h @@ -1,4 +1,5 @@ @@ -11456,8 +11376,6 @@ index 89ad0cf5..dca7f908 100644 * * Interface of the I/O services to send MC commands to the MC hardware * -diff --git a/drivers/staging/fsl-mc/include/mc.h b/drivers/staging/fsl-mc/include/mc.h -index f6e720e8..c23b78a4 100644 --- a/drivers/staging/fsl-mc/include/mc.h +++ b/drivers/staging/fsl-mc/include/mc.h @@ -1,7 +1,7 @@ @@ -11503,7 +11421,7 @@ index f6e720e8..c23b78a4 100644 int __must_check __fsl_mc_driver_register(struct fsl_mc_driver *fsl_mc_driver, struct module *owner); -@@ -198,4 +202,13 @@ int __must_check fsl_mc_allocate_irqs(struct fsl_mc_device *mc_dev); +@@ -198,4 +202,13 @@ int __must_check fsl_mc_allocate_irqs(st void fsl_mc_free_irqs(struct fsl_mc_device *mc_dev); @@ -11517,6 +11435,3 @@ index f6e720e8..c23b78a4 100644 +#endif + #endif /* _FSL_MC_H_ */ --- -2.14.1 - |