[U-Boot] [Patch V3 1/3] qe: move drivers/qe/qe.h to include/fsl_qe.h

As the QE firmware struct is shared with Fman, move the header file out of drivers/qe/.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- V3: - Move file changes about "qe.h" to this patch. V2: - New Patch.
arch/powerpc/cpu/mpc85xx/cpu_init.c | 2 +- arch/powerpc/cpu/mpc85xx/fdt.c | 2 +- board/freescale/common/arm_sleep.c | 2 +- board/freescale/common/mpc85xx_sleep.c | 2 +- board/freescale/ls1021aqds/ls1021aqds.c | 2 +- board/freescale/ls1021atwr/ls1021atwr.c | 2 +- drivers/net/fm/fm.c | 2 +- drivers/qe/fdt.c | 2 +- drivers/qe/qe.c | 2 +- drivers/qe/uccf.c | 2 +- drivers/qe/uccf.h | 2 +- drivers/qe/uec.c | 2 +- drivers/qe/uec.h | 2 +- drivers/qe/uec_phy.c | 2 +- drivers/qe/qe.h => include/fsl_qe.h | 0 15 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c index bd81a0d..78f1f39 100644 --- a/arch/powerpc/cpu/mpc85xx/cpu_init.c +++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c @@ -45,7 +45,7 @@
#include "../../../../drivers/block/fsl_sata.h" #ifdef CONFIG_U_QE -#include "../../../../drivers/qe/qe.h" +#include <fsl_qe.h> #endif
DECLARE_GLOBAL_DATA_PTR; diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c index 7270be1..50eef05 100644 --- a/arch/powerpc/cpu/mpc85xx/fdt.c +++ b/arch/powerpc/cpu/mpc85xx/fdt.c @@ -19,7 +19,7 @@ #ifdef CONFIG_FSL_ESDHC #include <fsl_esdhc.h> #endif -#include "../../../../drivers/qe/qe.h" /* For struct qe_firmware */ +#include <fsl_qe.h> /* For struct qe_firmware */
DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/common/arm_sleep.c b/board/freescale/common/arm_sleep.c index a498c65..71ed15e 100644 --- a/board/freescale/common/arm_sleep.c +++ b/board/freescale/common/arm_sleep.c @@ -19,7 +19,7 @@
#include "sleep.h" #ifdef CONFIG_U_QE -#include "../../../drivers/qe/qe.h" +#include <fsl_qe.h> #endif
DECLARE_GLOBAL_DATA_PTR; diff --git a/board/freescale/common/mpc85xx_sleep.c b/board/freescale/common/mpc85xx_sleep.c index e9cbd51..498d770 100644 --- a/board/freescale/common/mpc85xx_sleep.c +++ b/board/freescale/common/mpc85xx_sleep.c @@ -8,7 +8,7 @@ #include <asm/immap_85xx.h> #include "sleep.h" #ifdef CONFIG_U_QE -#include "../../../drivers/qe/qe.h" +#include <fsl_qe.h> #endif
DECLARE_GLOBAL_DATA_PTR; diff --git a/board/freescale/ls1021aqds/ls1021aqds.c b/board/freescale/ls1021aqds/ls1021aqds.c index ca1ea61..639d5a7 100644 --- a/board/freescale/ls1021aqds/ls1021aqds.c +++ b/board/freescale/ls1021aqds/ls1021aqds.c @@ -27,7 +27,7 @@ #include "../common/qixis.h" #include "ls1021aqds_qixis.h" #ifdef CONFIG_U_QE -#include "../../../drivers/qe/qe.h" +#include <fsl_qe.h> #endif
#define PIN_MUX_SEL_CAN 0x03 diff --git a/board/freescale/ls1021atwr/ls1021atwr.c b/board/freescale/ls1021atwr/ls1021atwr.c index ae62bca..772da72 100644 --- a/board/freescale/ls1021atwr/ls1021atwr.c +++ b/board/freescale/ls1021atwr/ls1021atwr.c @@ -28,7 +28,7 @@ #include <spl.h> #include "../common/sleep.h" #ifdef CONFIG_U_QE -#include "../../../drivers/qe/qe.h" +#include <fsl_qe.h> #endif
diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index df5db72..16d793e 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -10,7 +10,7 @@ #include <asm/errno.h>
#include "fm.h" -#include "../../qe/qe.h" /* For struct qe_firmware */ +#include <fsl_qe.h> /* For struct qe_firmware */
#ifdef CONFIG_SYS_QE_FMAN_FW_IN_NAND #include <nand.h> diff --git a/drivers/qe/fdt.c b/drivers/qe/fdt.c index dfae4bf..4f48f98 100644 --- a/drivers/qe/fdt.c +++ b/drivers/qe/fdt.c @@ -10,7 +10,7 @@ #include <common.h> #include <libfdt.h> #include <fdt_support.h> -#include "qe.h" +#include <fsl_qe.h>
#ifdef CONFIG_QE DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c index 08620b2..8f00817 100644 --- a/drivers/qe/qe.c +++ b/drivers/qe/qe.c @@ -12,7 +12,7 @@ #include "asm/errno.h" #include "asm/io.h" #include "linux/immap_qe.h" -#include "qe.h" +#include <fsl_qe.h> #ifdef CONFIG_LS102XA #include <asm/arch/immap_ls102xa.h> #endif diff --git a/drivers/qe/uccf.c b/drivers/qe/uccf.c index 85386bf..e011886 100644 --- a/drivers/qe/uccf.c +++ b/drivers/qe/uccf.c @@ -12,8 +12,8 @@ #include "asm/errno.h" #include "asm/io.h" #include "linux/immap_qe.h" -#include "qe.h" #include "uccf.h" +#include <fsl_qe.h>
void ucc_fast_transmit_on_demand(ucc_fast_private_t *uccf) { diff --git a/drivers/qe/uccf.h b/drivers/qe/uccf.h index 55941e4..aa817e7 100644 --- a/drivers/qe/uccf.h +++ b/drivers/qe/uccf.h @@ -11,8 +11,8 @@ #define __UCCF_H__
#include "common.h" -#include "qe.h" #include "linux/immap_qe.h" +#include <fsl_qe.h>
/* Fast or Giga ethernet */ diff --git a/drivers/qe/uec.c b/drivers/qe/uec.c index e0ab04a..40cccc2 100644 --- a/drivers/qe/uec.c +++ b/drivers/qe/uec.c @@ -12,11 +12,11 @@ #include "asm/errno.h" #include "asm/io.h" #include "linux/immap_qe.h" -#include "qe.h" #include "uccf.h" #include "uec.h" #include "uec_phy.h" #include "miiphy.h" +#include <fsl_qe.h> #include <phy.h>
/* Default UTBIPAR SMI address */ diff --git a/drivers/qe/uec.h b/drivers/qe/uec.h index 6b559f7..22e248f 100644 --- a/drivers/qe/uec.h +++ b/drivers/qe/uec.h @@ -10,8 +10,8 @@ #ifndef __UEC_H__ #define __UEC_H__
-#include "qe.h" #include "uccf.h" +#include <fsl_qe.h> #include <phy.h>
#define MAX_TX_THREADS 8 diff --git a/drivers/qe/uec_phy.c b/drivers/qe/uec_phy.c index e701787..272874d 100644 --- a/drivers/qe/uec_phy.c +++ b/drivers/qe/uec_phy.c @@ -16,11 +16,11 @@ #include "asm/errno.h" #include "linux/immap_qe.h" #include "asm/io.h" -#include "qe.h" #include "uccf.h" #include "uec.h" #include "uec_phy.h" #include "miiphy.h" +#include <fsl_qe.h> #include <phy.h>
#define ugphy_printk(format, arg...) \ diff --git a/drivers/qe/qe.h b/include/fsl_qe.h similarity index 100% rename from drivers/qe/qe.h rename to include/fsl_qe.h

Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- V3: - Remove file changes about "qe.h". (Should be put in the first patch of this patchset) V2: - New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------- drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c index 50eef05..ced216c 100644 --- a/arch/powerpc/cpu/mpc85xx/fdt.c +++ b/arch/powerpc/cpu/mpc85xx/fdt.c @@ -19,7 +19,9 @@ #ifdef CONFIG_FSL_ESDHC #include <fsl_esdhc.h> #endif -#include <fsl_qe.h> /* For struct qe_firmware */ +#ifdef CONFIG_SYS_DPAA_FMAN +#include <fsl_fman.h> +#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -488,125 +490,6 @@ static void ft_fixup_qe_snum(void *blob) } #endif
-/** - * fdt_fixup_fman_firmware -- insert the Fman firmware into the device tree - * - * The binding for an Fman firmware node is documented in - * Documentation/powerpc/dts-bindings/fsl/dpaa/fman.txt. This node contains - * the actual Fman firmware binary data. The operating system is expected to - * be able to parse the binary data to determine any attributes it needs. - */ -#ifdef CONFIG_SYS_DPAA_FMAN -void fdt_fixup_fman_firmware(void *blob) -{ - int rc, fmnode, fwnode = -1; - uint32_t phandle; - struct qe_firmware *fmanfw; - const struct qe_header *hdr; - unsigned int length; - uint32_t crc; - const char *p; - - /* The first Fman we find will contain the actual firmware. */ - fmnode = fdt_node_offset_by_compatible(blob, -1, "fsl,fman"); - if (fmnode < 0) - /* Exit silently if there are no Fman devices */ - return; - - /* If we already have a firmware node, then also exit silently. */ - if (fdt_node_offset_by_compatible(blob, -1, "fsl,fman-firmware") > 0) - return; - - /* If the environment variable is not set, then exit silently */ - p = getenv("fman_ucode"); - if (!p) - return; - - fmanfw = (struct qe_firmware *) simple_strtoul(p, NULL, 16); - if (!fmanfw) - return; - - hdr = &fmanfw->header; - length = be32_to_cpu(hdr->length); - - /* Verify the firmware. */ - if ((hdr->magic[0] != 'Q') || (hdr->magic[1] != 'E') || - (hdr->magic[2] != 'F')) { - printf("Data at %p is not an Fman firmware\n", fmanfw); - return; - } - - if (length > CONFIG_SYS_QE_FMAN_FW_LENGTH) { - printf("Fman firmware at %p is too large (size=%u)\n", - fmanfw, length); - return; - } - - length -= sizeof(u32); /* Subtract the size of the CRC */ - crc = be32_to_cpu(*(u32 *)((void *)fmanfw + length)); - if (crc != crc32_no_comp(0, (void *)fmanfw, length)) { - printf("Fman firmware at %p has invalid CRC\n", fmanfw); - return; - } - - /* Increase the size of the fdt to make room for the node. */ - rc = fdt_increase_size(blob, fmanfw->header.length); - if (rc < 0) { - printf("Unable to make room for Fman firmware: %s\n", - fdt_strerror(rc)); - return; - } - - /* Create the firmware node. */ - fwnode = fdt_add_subnode(blob, fmnode, "fman-firmware"); - if (fwnode < 0) { - char s[64]; - fdt_get_path(blob, fmnode, s, sizeof(s)); - printf("Could not add firmware node to %s: %s\n", s, - fdt_strerror(fwnode)); - return; - } - rc = fdt_setprop_string(blob, fwnode, "compatible", "fsl,fman-firmware"); - if (rc < 0) { - char s[64]; - fdt_get_path(blob, fwnode, s, sizeof(s)); - printf("Could not add compatible property to node %s: %s\n", s, - fdt_strerror(rc)); - return; - } - phandle = fdt_create_phandle(blob, fwnode); - if (!phandle) { - char s[64]; - fdt_get_path(blob, fwnode, s, sizeof(s)); - printf("Could not add phandle property to node %s: %s\n", s, - fdt_strerror(rc)); - return; - } - rc = fdt_setprop(blob, fwnode, "fsl,firmware", fmanfw, fmanfw->header.length); - if (rc < 0) { - char s[64]; - fdt_get_path(blob, fwnode, s, sizeof(s)); - printf("Could not add firmware property to node %s: %s\n", s, - fdt_strerror(rc)); - return; - } - - /* Find all other Fman nodes and point them to the firmware node. */ - while ((fmnode = fdt_node_offset_by_compatible(blob, fmnode, "fsl,fman")) > 0) { - rc = fdt_setprop_cell(blob, fmnode, "fsl,firmware-phandle", phandle); - if (rc < 0) { - char s[64]; - fdt_get_path(blob, fmnode, s, sizeof(s)); - printf("Could not add pointer property to node %s: %s\n", - s, fdt_strerror(rc)); - return; - } - } -} -#else -#define fdt_fixup_fman_firmware(x) -#endif - #if defined(CONFIG_PPC_P4080) static void fdt_fixup_usb(void *fdt) { @@ -752,7 +635,9 @@ void ft_cpu_setup(void *blob, bd_t *bd) ft_fixup_qe_snum(blob); #endif
+#ifdef CONFIG_SYS_DPAA_FMAN fdt_fixup_fman_firmware(blob); +#endif
#ifdef CONFIG_SYS_NS16550 do_fixup_by_compat_u32(blob, "ns16550", diff --git a/drivers/net/fm/Makefile b/drivers/net/fm/Makefile index a3c9f99..493cdc6 100644 --- a/drivers/net/fm/Makefile +++ b/drivers/net/fm/Makefile @@ -6,6 +6,7 @@
obj-y += dtsec.o obj-y += eth.o +obj-y += fdt.o obj-y += fm.o obj-y += init.o obj-y += tgec.o diff --git a/drivers/net/fm/fdt.c b/drivers/net/fm/fdt.c new file mode 100644 index 0000000..9918d80 --- /dev/null +++ b/drivers/net/fm/fdt.c @@ -0,0 +1,129 @@ +/* + * Copyright 2016 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#include <asm/io.h> +#include <fsl_qe.h> /* For struct qe_firmware */ + +#ifdef CONFIG_SYS_DPAA_FMAN +/** + * fdt_fixup_fman_firmware -- insert the Fman firmware into the device tree + * + * The binding for an Fman firmware node is documented in + * Documentation/powerpc/dts-bindings/fsl/dpaa/fman.txt. This node contains + * the actual Fman firmware binary data. The operating system is expected to + * be able to parse the binary data to determine any attributes it needs. + */ +void fdt_fixup_fman_firmware(void *blob) +{ + int rc, fmnode, fwnode = -1; + uint32_t phandle; + struct qe_firmware *fmanfw; + const struct qe_header *hdr; + unsigned int length; + uint32_t crc; + const char *p; + + /* The first Fman we find will contain the actual firmware. */ + fmnode = fdt_node_offset_by_compatible(blob, -1, "fsl,fman"); + if (fmnode < 0) + /* Exit silently if there are no Fman devices */ + return; + + /* If we already have a firmware node, then also exit silently. */ + if (fdt_node_offset_by_compatible(blob, -1, "fsl,fman-firmware") > 0) + return; + + /* If the environment variable is not set, then exit silently */ + p = getenv("fman_ucode"); + if (!p) + return; + + fmanfw = (struct qe_firmware *)simple_strtoul(p, NULL, 16); + if (!fmanfw) + return; + + hdr = &fmanfw->header; + length = fdt32_to_cpu(hdr->length); + + /* Verify the firmware. */ + if ((hdr->magic[0] != 'Q') || (hdr->magic[1] != 'E') || + (hdr->magic[2] != 'F')) { + printf("Data at %p is not an Fman firmware\n", fmanfw); + return; + } + + if (length > CONFIG_SYS_QE_FMAN_FW_LENGTH) { + printf("Fman firmware at %p is too large (size=%u)\n", + fmanfw, length); + return; + } + + length -= sizeof(u32); /* Subtract the size of the CRC */ + crc = fdt32_to_cpu(*(u32 *)((void *)fmanfw + length)); + if (crc != crc32_no_comp(0, (void *)fmanfw, length)) { + printf("Fman firmware at %p has invalid CRC\n", fmanfw); + return; + } + + length += sizeof(u32); + + /* Increase the size of the fdt to make room for the node. */ + rc = fdt_increase_size(blob, length); + if (rc < 0) { + printf("Unable to make room for Fman firmware: %s\n", + fdt_strerror(rc)); + return; + } + + /* Create the firmware node. */ + fwnode = fdt_add_subnode(blob, fmnode, "fman-firmware"); + if (fwnode < 0) { + char s[64]; + fdt_get_path(blob, fmnode, s, sizeof(s)); + printf("Could not add firmware node to %s: %s\n", s, + fdt_strerror(fwnode)); + return; + } + rc = fdt_setprop_string(blob, fwnode, "compatible", + "fsl,fman-firmware"); + if (rc < 0) { + char s[64]; + fdt_get_path(blob, fwnode, s, sizeof(s)); + printf("Could not add compatible property to node %s: %s\n", s, + fdt_strerror(rc)); + return; + } + phandle = fdt_create_phandle(blob, fwnode); + if (!phandle) { + char s[64]; + fdt_get_path(blob, fwnode, s, sizeof(s)); + printf("Could not add phandle property to node %s: %s\n", s, + fdt_strerror(rc)); + return; + } + rc = fdt_setprop(blob, fwnode, "fsl,firmware", fmanfw, length); + if (rc < 0) { + char s[64]; + fdt_get_path(blob, fwnode, s, sizeof(s)); + printf("Could not add firmware property to node %s: %s\n", s, + fdt_strerror(rc)); + return; + } + + /* Find all other Fman nodes and point them to the firmware node. */ + while ((fmnode = fdt_node_offset_by_compatible(blob, fmnode, + "fsl,fman")) > 0) { + rc = fdt_setprop_cell(blob, fmnode, "fsl,firmware-phandle", + phandle); + if (rc < 0) { + char s[64]; + fdt_get_path(blob, fmnode, s, sizeof(s)); + printf("Could not add pointer property to node %s: %s\n", + s, fdt_strerror(rc)); + return; + } + } +} +#endif diff --git a/include/fsl_fman.h b/include/fsl_fman.h index e4b78e9..5fb8fc1 100644 --- a/include/fsl_fman.h +++ b/include/fsl_fman.h @@ -462,4 +462,5 @@ typedef struct ccsr_fman { u8 res5[4*1024]; } ccsr_fman_t;
+void fdt_fixup_fman_firmware(void *blob); #endif /*__FSL_FMAN_H__*/

On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote:
Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
V3:
- Remove file changes about "qe.h". (Should be put in the first patch of this patchset)
V2:
- New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------
drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott

-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, January 26, 2016 1:17 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote:
Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
V3:
- Remove file changes about "qe.h". (Should be put in the first patch of this patchset)
V2:
- New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------
drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott
I don't understand but I've already used "git format-patch -M -C --stat ...".
Regards, Qianyu

On 01/25/2016 09:40 PM, Qianyu Gong wrote:
-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, January 26, 2016 1:17 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote:
Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
V3:
- Remove file changes about "qe.h". (Should be put in the first patch of this patchset)
V2:
- New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------
drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott
I don't understand but I've already used "git format-patch -M -C --stat ...".
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
York

On 02/01/2016 09:06 AM, york sun wrote:
On 01/25/2016 09:40 PM, Qianyu Gong wrote:
-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, January 26, 2016 1:17 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote:
Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
V3:
- Remove file changes about "qe.h". (Should be put in the first patch of this patchset)
V2:
- New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------
drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott
I don't understand but I've already used "git format-patch -M -C --stat ...".
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format-patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
York

On Mon, 2016-02-08 at 19:03 +0000, york sun wrote:
On 02/01/2016 09:06 AM, york sun wrote:
On 01/25/2016 09:40 PM, Qianyu Gong wrote:
-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, January 26, 2016 1:17 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote:
Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
V3:
- Remove file changes about "qe.h". (Should be put in the first patch of this patchset)
V2:
- New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------
drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott
I don't understand but I've already used "git format-patch -M -C --stat ...".
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format -patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
-Scott

On 02/08/2016 11:18 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:03 +0000, york sun wrote:
On 02/01/2016 09:06 AM, york sun wrote:
On 01/25/2016 09:40 PM, Qianyu Gong wrote:
-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, January 26, 2016 1:17 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote:
Both Freescale Layerscape and powerpc/mpc85xx platforms are using fdt_fixup_fman_firmware() to insert Fman ucode blob into the device tree. So move the function to driver code.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
V3:
- Remove file changes about "qe.h". (Should be put in the first patch of this patchset)
V2:
- New patch.
arch/powerpc/cpu/mpc85xx/fdt.c | 125 ++------------------------------------
drivers/net/fm/Makefile | 1 + drivers/net/fm/fdt.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/fsl_fman.h | 1 + 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott
I don't understand but I've already used "git format-patch -M -C --stat ...".
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format -patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
I was fooled and tried to adjust -M with numbers. I only noticed when I compared these two files before and after this patch.
Even it is moving a chunk of code from file A to file B, git cannot generate a patch saying so.
York

On Mon, 2016-02-08 at 19:22 +0000, york sun wrote:
On 02/08/2016 11:18 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:03 +0000, york sun wrote:
On 02/01/2016 09:06 AM, york sun wrote:
On 01/25/2016 09:40 PM, Qianyu Gong wrote:
-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, January 26, 2016 1:17 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote: > Both Freescale Layerscape and powerpc/mpc85xx platforms are > using > fdt_fixup_fman_firmware() to insert Fman ucode blob into the > device > tree. So move the function to driver code. > > Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com > --- > V3: > - Remove file changes about "qe.h". > (Should be put in the first patch of this patchset) > V2: > - New patch. > > arch/powerpc/cpu/mpc85xx/fdt.c | 125 > ++------------------------------------ > - > drivers/net/fm/Makefile | 1 + > drivers/net/fm/fdt.c | 129 > +++++++++++++++++++++++++++++++++++++++++ > include/fsl_fman.h | 1 + > 4 files changed, 136 insertions(+), 120 deletions(-)
Again, pass -M -C to git format-patch.
-Scott
I don't understand but I've already used "git format-patch -M -C - -stat ...".
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format -patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
I was fooled and tried to adjust -M with numbers. I only noticed when I compared these two files before and after this patch.
Even it is moving a chunk of code from file A to file B, git cannot generate a patch saying so.
It can show it as a copy with the portions not copied deleted, though maybe not enough was copied in this case.
-Scott

On 02/08/2016 11:25 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:22 +0000, york sun wrote:
On 02/08/2016 11:18 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:03 +0000, york sun wrote:
On 02/01/2016 09:06 AM, york sun wrote:
On 01/25/2016 09:40 PM, Qianyu Gong wrote:
> -----Original Message----- > From: Scott Wood [mailto:oss@buserror.net] > Sent: Tuesday, January 26, 2016 1:17 AM > To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de > Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com > Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode > fixup to > Fman > driver code > > On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote: >> Both Freescale Layerscape and powerpc/mpc85xx platforms are >> using >> fdt_fixup_fman_firmware() to insert Fman ucode blob into the >> device >> tree. So move the function to driver code. >> >> Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com >> --- >> V3: >> - Remove file changes about "qe.h". >> (Should be put in the first patch of this patchset) >> V2: >> - New patch. >> >> arch/powerpc/cpu/mpc85xx/fdt.c | 125 >> ++------------------------------------ >> - >> drivers/net/fm/Makefile | 1 + >> drivers/net/fm/fdt.c | 129 >> +++++++++++++++++++++++++++++++++++++++++ >> include/fsl_fman.h | 1 + >> 4 files changed, 136 insertions(+), 120 deletions(-) > > Again, pass -M -C to git format-patch. > > -Scott
I don't understand but I've already used "git format-patch -M -C - -stat ...".
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format -patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
Actually you were right. This patch creates a new file. There are also other small changes here and there. Maybe that's the reason git doesn't detect the move.
Anyway, let me know if you have further comment. I am testing these patches.
York

-----Original Message----- From: york sun Sent: Friday, February 12, 2016 1:39 AM To: Scott Wood oss@buserror.net; Qianyu Gong qianyu.gong@nxp.com; u- boot@lists.denx.de Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On 02/08/2016 11:25 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:22 +0000, york sun wrote:
On 02/08/2016 11:18 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:03 +0000, york sun wrote:
On 02/01/2016 09:06 AM, york sun wrote:
On 01/25/2016 09:40 PM, Qianyu Gong wrote: > >> -----Original Message----- >> From: Scott Wood [mailto:oss@buserror.net] >> Sent: Tuesday, January 26, 2016 1:17 AM >> To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de >> Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com >> Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode >> fixup to Fman driver code >> >> On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote: >>> Both Freescale Layerscape and powerpc/mpc85xx platforms are >>> using >>> fdt_fixup_fman_firmware() to insert Fman ucode blob into the >>> device tree. So move the function to driver code. >>> >>> Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com >>> --- >>> V3: >>> - Remove file changes about "qe.h". >>> (Should be put in the first patch of this patchset) >>> V2: >>> - New patch. >>> >>> arch/powerpc/cpu/mpc85xx/fdt.c | 125 >>> ++------------------------------------ >>> - >>> drivers/net/fm/Makefile | 1 + >>> drivers/net/fm/fdt.c | 129 >>> +++++++++++++++++++++++++++++++++++++++++ >>> include/fsl_fman.h | 1 + >>> 4 files changed, 136 insertions(+), 120 deletions(-) >> >> Again, pass -M -C to git format-patch. >> >> -Scott > > I don't understand but I've already used "git format-patch -M -C > - -stat ...". >
Scott means using -M and -C, git should detect the moving instead of adding and deleting the same code. Try to add --find-copies-harder to see if it generates a smaller patch.
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format -patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
Actually you were right. This patch creates a new file. There are also other small changes here and there. Maybe that's the reason git doesn't detect the move.
Anyway, let me know if you have further comment. I am testing these patches.
York
Hi York,
Thanks! I did make small changes in the function to make it work for both powerpc and arm platforms.
Regards, Qianyu

On Mon, 2016-02-15 at 05:44 +0000, Qianyu Gong wrote:
-----Original Message----- From: york sun Sent: Friday, February 12, 2016 1:39 AM To: Scott Wood oss@buserror.net; Qianyu Gong qianyu.gong@nxp.com; u- boot@lists.denx.de Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On 02/08/2016 11:25 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:22 +0000, york sun wrote:
On 02/08/2016 11:18 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:03 +0000, york sun wrote:
On 02/01/2016 09:06 AM, york sun wrote: > On 01/25/2016 09:40 PM, Qianyu Gong wrote: > > > > > -----Original Message----- > > > From: Scott Wood [mailto:oss@buserror.net] > > > Sent: Tuesday, January 26, 2016 1:17 AM > > > To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de > > > Cc: B07421@freescale.com; Shaohui Xie shaohui.xie@nxp.com > > > Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman > > > ucode > > > fixup to Fman driver code > > > > > > On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote: > > > > Both Freescale Layerscape and powerpc/mpc85xx platforms > > > > are > > > > using > > > > fdt_fixup_fman_firmware() to insert Fman ucode blob into > > > > the > > > > device tree. So move the function to driver code. > > > > > > > > Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com > > > > --- > > > > V3: > > > > - Remove file changes about "qe.h". > > > > (Should be put in the first patch of this patchset) > > > > V2: > > > > - New patch. > > > > > > > > arch/powerpc/cpu/mpc85xx/fdt.c | 125 > > > > ++------------------------------------ > > > > - > > > > drivers/net/fm/Makefile | 1 + > > > > drivers/net/fm/fdt.c | 129 > > > > +++++++++++++++++++++++++++++++++++++++++ > > > > include/fsl_fman.h | 1 + > > > > 4 files changed, 136 insertions(+), 120 deletions(-) > > > > > > Again, pass -M -C to git format-patch. > > > > > > -Scott > > > > I don't understand but I've already used "git format-patch -M > > -C > > - -stat ...". > > > > Scott means using -M and -C, git should detect the moving > instead of > adding and > deleting the same code. Try to add --find-copies-harder to see > if it > generates a > smaller patch. >
Qianyu,
Since you are on holiday, I tried it for you. Adjusting "-M -C" doesn't work. Even you are moving the function from one file to another, "git format -patch" cannot detect the moving because both files exist before and after this change, and the change set is not significant enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
Actually you were right. This patch creates a new file. There are also other small changes here and there. Maybe that's the reason git doesn't detect the move.
Anyway, let me know if you have further comment. I am testing these patches.
York
Hi York,
Thanks! I did make small changes in the function to make it work for both powerpc and arm platforms.
Those changes should have been a separate patch -- otherwise it's a lot of work to see what those changes are and review them.
-Scott

-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Wednesday, February 17, 2016 5:23 AM To: Qianyu Gong qianyu.gong@nxp.com; york sun york.sun@nxp.com; u- boot@lists.denx.de Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On Mon, 2016-02-15 at 05:44 +0000, Qianyu Gong wrote:
-----Original Message----- From: york sun Sent: Friday, February 12, 2016 1:39 AM To: Scott Wood oss@buserror.net; Qianyu Gong qianyu.gong@nxp.com; u- boot@lists.denx.de Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move fman ucode fixup to Fman driver code
On 02/08/2016 11:25 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:22 +0000, york sun wrote:
On 02/08/2016 11:18 AM, Scott Wood wrote:
On Mon, 2016-02-08 at 19:03 +0000, york sun wrote: > On 02/01/2016 09:06 AM, york sun wrote: > > On 01/25/2016 09:40 PM, Qianyu Gong wrote: > > > > > > > -----Original Message----- > > > > From: Scott Wood [mailto:oss@buserror.net] > > > > Sent: Tuesday, January 26, 2016 1:17 AM > > > > To: Qianyu Gong qianyu.gong@nxp.com; > > > > u-boot@lists.denx.de > > > > Cc: B07421@freescale.com; Shaohui Xie > > > > shaohui.xie@nxp.com > > > > Subject: Re: [U-Boot] [Patch V3 2/3] fm: fdt: Move > > > > fman ucode fixup to Fman driver code > > > > > > > > On Mon, 2016-01-25 at 19:37 +0800, Gong Qianyu wrote: > > > > > Both Freescale Layerscape and powerpc/mpc85xx > > > > > platforms are using > > > > > fdt_fixup_fman_firmware() to insert Fman ucode blob > > > > > into the device tree. So move the function to driver > > > > > code. > > > > > > > > > > Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com > > > > > --- > > > > > V3: > > > > > - Remove file changes about "qe.h". > > > > > (Should be put in the first patch of this > > > > > patchset) > > > > > V2: > > > > > - New patch. > > > > > > > > > > arch/powerpc/cpu/mpc85xx/fdt.c | 125 > > > > > ++------------------------------------ > > > > > - > > > > > drivers/net/fm/Makefile | 1 + > > > > > drivers/net/fm/fdt.c | 129 > > > > > +++++++++++++++++++++++++++++++++++++++++ > > > > > include/fsl_fman.h | 1 + > > > > > 4 files changed, 136 insertions(+), 120 > > > > > deletions(-) > > > > > > > > Again, pass -M -C to git format-patch. > > > > > > > > -Scott > > > > > > I don't understand but I've already used "git > > > format-patch -M -C > > > - -stat ...". > > > > > > > Scott means using -M and -C, git should detect the moving > > instead of adding and deleting the same code. Try to add > > --find-copies-harder to see if it generates a smaller > > patch. > > > > Qianyu, > > Since you are on holiday, I tried it for you. Adjusting "-M -C" > doesn't > work. > Even you are moving the function from one file to another, > "git format -patch" > cannot detect the moving because both files exist before and > after this change, and the change set is not significant > enough to be detected.
It looks like the patch is creating drivers/net/fm/fdt.c...
Actually you were right. This patch creates a new file. There are also other small changes here and there. Maybe that's the reason git doesn't detect the move.
Anyway, let me know if you have further comment. I am testing these patches.
York
Hi York,
Thanks! I did make small changes in the function to make it work for both powerpc and arm platforms.
Those changes should have been a separate patch -- otherwise it's a lot of work to see what those changes are and review them.
-Scott
OK.. Thanks for your reminder.
Regards, Qianyu

Add fdt fixup to insert Fman firmware into the device tree.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- V3: - Remove fman clock fixup. - Revise commit message too. V2: - Removed the duplicated function.
arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index 4e4861d..9c18fd7 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -14,6 +14,9 @@ #ifdef CONFIG_FSL_ESDHC #include <fsl_esdhc.h> #endif +#ifdef CONFIG_SYS_DPAA_FMAN +#include <fsl_fman.h> +#endif #ifdef CONFIG_MP #include <asm/arch/mp.h> #endif @@ -204,4 +207,8 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef CONFIG_FSL_LSCH3 fdt_fixup_smmu(blob); #endif + +#ifdef CONFIG_SYS_DPAA_FMAN + fdt_fixup_fman_firmware(blob); +#endif }
participants (4)
-
Gong Qianyu
-
Qianyu Gong
-
Scott Wood
-
york sun