All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0
@ 2018-07-23 10:32 ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Add the macro definition for global soc bus configuration
register 0

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete some register unrelated
Changes in v5:
 - no change
Changes in v4:
 - no change
Changes in v3:
 - no change
Changes in v2:
 - split the patch
 - add more macro definition for soc bus configuration register
---
 drivers/usb/dwc3/core.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 285ce0e..213b939 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -163,6 +163,17 @@
 
 /* Bit fields */
 
+/* Global SoC Bus Configuration INCRx Register 0 */
+#define DWC3_GSBUSCFG0_INCR256BRSTENA	(1 << 7) /* INCR256 burst */
+#define DWC3_GSBUSCFG0_INCR128BRSTENA	(1 << 6) /* INCR128 burst */
+#define DWC3_GSBUSCFG0_INCR64BRSTENA	(1 << 5) /* INCR64 burst */
+#define DWC3_GSBUSCFG0_INCR32BRSTENA	(1 << 4) /* INCR32 burst */
+#define DWC3_GSBUSCFG0_INCR16BRSTENA	(1 << 3) /* INCR16 burst */
+#define DWC3_GSBUSCFG0_INCR8BRSTENA	(1 << 2) /* INCR8 burst */
+#define DWC3_GSBUSCFG0_INCR4BRSTENA	(1 << 1) /* INCR4 burst */
+#define DWC3_GSBUSCFG0_INCRBRSTENA	(1 << 0) /* undefined length enable */
+#define DWC3_GSBUSCFG0_INCRBRST_MASK	0xff
+
 /* Global Debug Queue/FIFO Space Available Register */
 #define DWC3_GDBGFIFOSPACE_NUM(n)	((n) & 0x1f)
 #define DWC3_GDBGFIFOSPACE_TYPE(n)	(((n) << 5) & 0x1e0)
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [v6,1/4] usb: dwc3: add global soc bus configuration reg0
@ 2018-07-23 10:32 ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Add the macro definition for global soc bus configuration
register 0

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete some register unrelated
Changes in v5:
 - no change
Changes in v4:
 - no change
Changes in v3:
 - no change
Changes in v2:
 - split the patch
 - add more macro definition for soc bus configuration register
---
 drivers/usb/dwc3/core.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 285ce0e..213b939 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -163,6 +163,17 @@
 
 /* Bit fields */
 
+/* Global SoC Bus Configuration INCRx Register 0 */
+#define DWC3_GSBUSCFG0_INCR256BRSTENA	(1 << 7) /* INCR256 burst */
+#define DWC3_GSBUSCFG0_INCR128BRSTENA	(1 << 6) /* INCR128 burst */
+#define DWC3_GSBUSCFG0_INCR64BRSTENA	(1 << 5) /* INCR64 burst */
+#define DWC3_GSBUSCFG0_INCR32BRSTENA	(1 << 4) /* INCR32 burst */
+#define DWC3_GSBUSCFG0_INCR16BRSTENA	(1 << 3) /* INCR16 burst */
+#define DWC3_GSBUSCFG0_INCR8BRSTENA	(1 << 2) /* INCR8 burst */
+#define DWC3_GSBUSCFG0_INCR4BRSTENA	(1 << 1) /* INCR4 burst */
+#define DWC3_GSBUSCFG0_INCRBRSTENA	(1 << 0) /* undefined length enable */
+#define DWC3_GSBUSCFG0_INCRBRST_MASK	0xff
+
 /* Global Debug Queue/FIFO Space Available Register */
 #define DWC3_GDBGFIFOSPACE_NUM(n)	((n) & 0x1f)
 #define DWC3_GDBGFIFOSPACE_TYPE(n)	(((n) << 5) & 0x1e0)

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0
@ 2018-07-23 10:32 ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: linux-arm-kernel

Add the macro definition for global soc bus configuration
register 0

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete some register unrelated
Changes in v5:
 - no change
Changes in v4:
 - no change
Changes in v3:
 - no change
Changes in v2:
 - split the patch
 - add more macro definition for soc bus configuration register
---
 drivers/usb/dwc3/core.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 285ce0e..213b939 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -163,6 +163,17 @@
 
 /* Bit fields */
 
+/* Global SoC Bus Configuration INCRx Register 0 */
+#define DWC3_GSBUSCFG0_INCR256BRSTENA	(1 << 7) /* INCR256 burst */
+#define DWC3_GSBUSCFG0_INCR128BRSTENA	(1 << 6) /* INCR128 burst */
+#define DWC3_GSBUSCFG0_INCR64BRSTENA	(1 << 5) /* INCR64 burst */
+#define DWC3_GSBUSCFG0_INCR32BRSTENA	(1 << 4) /* INCR32 burst */
+#define DWC3_GSBUSCFG0_INCR16BRSTENA	(1 << 3) /* INCR16 burst */
+#define DWC3_GSBUSCFG0_INCR8BRSTENA	(1 << 2) /* INCR8 burst */
+#define DWC3_GSBUSCFG0_INCR4BRSTENA	(1 << 1) /* INCR4 burst */
+#define DWC3_GSBUSCFG0_INCRBRSTENA	(1 << 0) /* undefined length enable */
+#define DWC3_GSBUSCFG0_INCRBRST_MASK	0xff
+
 /* Global Debug Queue/FIFO Space Available Register */
 #define DWC3_GDBGFIFOSPACE_NUM(n)	((n) & 0x1f)
 #define DWC3_GDBGFIFOSPACE_TYPE(n)	(((n) << 5) & 0x1e0)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 2/4] usb: dwc3: Enable undefined length INCR burst type
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Enable the undefined length INCR burst type and set INCRx.
Different platform may has the different burst size type.
In order to get best performance, we need to tune the burst
size to one special value, instead of the default value.

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - rename 'dwc3_set_soc_bus_cfg' to 'dwc3_set_incr_burst_type'
 - modify the codes according to the definition of GSBUSCFG0
 - change variables from global to local
 - add the judgment of 'ntype <= 0'
Changes in v5:
 - no change
Changes in v4:
 - Modify the codes according to the definition of this property.
Changes in v3:
 - add new property for INCR burst in usb node to reset GSBUSCFG0.
Changes in v2:
 - split patch
 - create one new function to handle soc bus configuration register.
---
 drivers/usb/dwc3/core.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/usb/dwc3/core.h |  3 ++
 2 files changed, 97 insertions(+)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 1038075..21e4931 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -778,6 +778,98 @@ static void dwc3_core_setup_global_control(struct dwc3 *dwc)
 static int dwc3_core_get_phy(struct dwc3 *dwc);
 static int dwc3_core_ulpi_init(struct dwc3 *dwc);
 
+/* set global incr burst type configuration registers */
+static void dwc3_set_incr_burst_type(struct dwc3 *dwc)
+{
+	struct device *dev = dwc->dev;
+	/* incrx_mode : for INCR burst type. */
+	bool incrx_mode;
+	/* incrx_size : for size of INCRX burst. */
+	u32 incrx_size;
+	u32 *vals;
+	u32 cfg;
+	int ntype;
+	int ret;
+	int i;
+
+	cfg = dwc3_readl(dwc->regs, DWC3_GSBUSCFG0);
+
+	/*
+	 * Handle property "snps,incr-burst-type-adjustment".
+	 * Get the number of value from this property:
+	 * result <= 0, means this property is not supported.
+	 * result = 1, means INCRx burst mode supported.
+	 * result > 1, means undefined length burst mode supported.
+	 */
+	ntype = device_property_read_u32_array(dev,
+			"snps,incr-burst-type-adjustment", NULL, 0);
+	if (ntype <= 0)
+		return;
+
+	vals = kcalloc(ntype, sizeof(u32), GFP_KERNEL);
+	if (!vals) {
+		dev_err(dev, "Error to get memory\n");
+		return;
+	}
+
+	/* Get INCR burst type, and parse it */
+	ret = device_property_read_u32_array(dev,
+			"snps,incr-burst-type-adjustment", vals, ntype);
+	if (ret) {
+		dev_err(dev, "Error to get property\n");
+		return;
+	}
+
+	incrx_size = *vals;
+
+	if (ntype > 1) {
+		/* INCRX (undefined length) burst mode */
+		incrx_mode = INCRX_UNDEF_LENGTH_BURST_MODE;
+		for (i = 1; i < ntype; i++) {
+			if (vals[i] > incrx_size)
+				incrx_size = vals[i];
+		}
+	} else {
+		/* INCRX burst mode */
+		incrx_mode = INCRX_BURST_MODE;
+	}
+
+	/* Enable Undefined Length INCR Burst and Enable INCRx Burst */
+	cfg &= ~DWC3_GSBUSCFG0_INCRBRST_MASK;
+	if (incrx_mode)
+		cfg |= DWC3_GSBUSCFG0_INCRBRSTENA;
+	switch (incrx_size) {
+	case 256:
+		cfg |= DWC3_GSBUSCFG0_INCR256BRSTENA;
+		break;
+	case 128:
+		cfg |= DWC3_GSBUSCFG0_INCR128BRSTENA;
+		break;
+	case 64:
+		cfg |= DWC3_GSBUSCFG0_INCR64BRSTENA;
+		break;
+	case 32:
+		cfg |= DWC3_GSBUSCFG0_INCR32BRSTENA;
+		break;
+	case 16:
+		cfg |= DWC3_GSBUSCFG0_INCR16BRSTENA;
+		break;
+	case 8:
+		cfg |= DWC3_GSBUSCFG0_INCR8BRSTENA;
+		break;
+	case 4:
+		cfg |= DWC3_GSBUSCFG0_INCR4BRSTENA;
+		break;
+	case 1:
+		break;
+	default:
+		dev_err(dev, "Invalid property\n");
+		break;
+	}
+
+	dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg);
+}
+
 /**
  * dwc3_core_init - Low-level initialization of DWC3 Core
  * @dwc: Pointer to our controller context structure
@@ -840,6 +932,8 @@ static int dwc3_core_init(struct dwc3 *dwc)
 	/* Adjust Frame Length */
 	dwc3_frame_length_adjustment(dwc);
 
+	dwc3_set_incr_burst_type(dwc);
+
 	usb_phy_set_suspend(dwc->usb2_phy, 0);
 	usb_phy_set_suspend(dwc->usb3_phy, 0);
 	ret = phy_power_on(dwc->usb2_generic_phy);
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 213b939..5f14fb7 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -1168,6 +1168,9 @@ struct dwc3 {
 	u16			imod_interval;
 };
 
+#define INCRX_BURST_MODE 0
+#define INCRX_UNDEF_LENGTH_BURST_MODE 1
+
 #define work_to_dwc(w)		(container_of((w), struct dwc3, drd_work))
 
 /* -------------------------------------------------------------------------- */
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [v6,2/4] usb: dwc3: Enable undefined length INCR burst type
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Enable the undefined length INCR burst type and set INCRx.
Different platform may has the different burst size type.
In order to get best performance, we need to tune the burst
size to one special value, instead of the default value.

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - rename 'dwc3_set_soc_bus_cfg' to 'dwc3_set_incr_burst_type'
 - modify the codes according to the definition of GSBUSCFG0
 - change variables from global to local
 - add the judgment of 'ntype <= 0'
Changes in v5:
 - no change
Changes in v4:
 - Modify the codes according to the definition of this property.
Changes in v3:
 - add new property for INCR burst in usb node to reset GSBUSCFG0.
Changes in v2:
 - split patch
 - create one new function to handle soc bus configuration register.
---
 drivers/usb/dwc3/core.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/usb/dwc3/core.h |  3 ++
 2 files changed, 97 insertions(+)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 1038075..21e4931 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -778,6 +778,98 @@ static void dwc3_core_setup_global_control(struct dwc3 *dwc)
 static int dwc3_core_get_phy(struct dwc3 *dwc);
 static int dwc3_core_ulpi_init(struct dwc3 *dwc);
 
+/* set global incr burst type configuration registers */
+static void dwc3_set_incr_burst_type(struct dwc3 *dwc)
+{
+	struct device *dev = dwc->dev;
+	/* incrx_mode : for INCR burst type. */
+	bool incrx_mode;
+	/* incrx_size : for size of INCRX burst. */
+	u32 incrx_size;
+	u32 *vals;
+	u32 cfg;
+	int ntype;
+	int ret;
+	int i;
+
+	cfg = dwc3_readl(dwc->regs, DWC3_GSBUSCFG0);
+
+	/*
+	 * Handle property "snps,incr-burst-type-adjustment".
+	 * Get the number of value from this property:
+	 * result <= 0, means this property is not supported.
+	 * result = 1, means INCRx burst mode supported.
+	 * result > 1, means undefined length burst mode supported.
+	 */
+	ntype = device_property_read_u32_array(dev,
+			"snps,incr-burst-type-adjustment", NULL, 0);
+	if (ntype <= 0)
+		return;
+
+	vals = kcalloc(ntype, sizeof(u32), GFP_KERNEL);
+	if (!vals) {
+		dev_err(dev, "Error to get memory\n");
+		return;
+	}
+
+	/* Get INCR burst type, and parse it */
+	ret = device_property_read_u32_array(dev,
+			"snps,incr-burst-type-adjustment", vals, ntype);
+	if (ret) {
+		dev_err(dev, "Error to get property\n");
+		return;
+	}
+
+	incrx_size = *vals;
+
+	if (ntype > 1) {
+		/* INCRX (undefined length) burst mode */
+		incrx_mode = INCRX_UNDEF_LENGTH_BURST_MODE;
+		for (i = 1; i < ntype; i++) {
+			if (vals[i] > incrx_size)
+				incrx_size = vals[i];
+		}
+	} else {
+		/* INCRX burst mode */
+		incrx_mode = INCRX_BURST_MODE;
+	}
+
+	/* Enable Undefined Length INCR Burst and Enable INCRx Burst */
+	cfg &= ~DWC3_GSBUSCFG0_INCRBRST_MASK;
+	if (incrx_mode)
+		cfg |= DWC3_GSBUSCFG0_INCRBRSTENA;
+	switch (incrx_size) {
+	case 256:
+		cfg |= DWC3_GSBUSCFG0_INCR256BRSTENA;
+		break;
+	case 128:
+		cfg |= DWC3_GSBUSCFG0_INCR128BRSTENA;
+		break;
+	case 64:
+		cfg |= DWC3_GSBUSCFG0_INCR64BRSTENA;
+		break;
+	case 32:
+		cfg |= DWC3_GSBUSCFG0_INCR32BRSTENA;
+		break;
+	case 16:
+		cfg |= DWC3_GSBUSCFG0_INCR16BRSTENA;
+		break;
+	case 8:
+		cfg |= DWC3_GSBUSCFG0_INCR8BRSTENA;
+		break;
+	case 4:
+		cfg |= DWC3_GSBUSCFG0_INCR4BRSTENA;
+		break;
+	case 1:
+		break;
+	default:
+		dev_err(dev, "Invalid property\n");
+		break;
+	}
+
+	dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg);
+}
+
 /**
  * dwc3_core_init - Low-level initialization of DWC3 Core
  * @dwc: Pointer to our controller context structure
@@ -840,6 +932,8 @@ static int dwc3_core_init(struct dwc3 *dwc)
 	/* Adjust Frame Length */
 	dwc3_frame_length_adjustment(dwc);
 
+	dwc3_set_incr_burst_type(dwc);
+
 	usb_phy_set_suspend(dwc->usb2_phy, 0);
 	usb_phy_set_suspend(dwc->usb3_phy, 0);
 	ret = phy_power_on(dwc->usb2_generic_phy);
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 213b939..5f14fb7 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -1168,6 +1168,9 @@ struct dwc3 {
 	u16			imod_interval;
 };
 
+#define INCRX_BURST_MODE 0
+#define INCRX_UNDEF_LENGTH_BURST_MODE 1
+
 #define work_to_dwc(w)		(container_of((w), struct dwc3, drd_work))
 
 /* -------------------------------------------------------------------------- */

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 2/4] usb: dwc3: Enable undefined length INCR burst type
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: linux-arm-kernel

Enable the undefined length INCR burst type and set INCRx.
Different platform may has the different burst size type.
In order to get best performance, we need to tune the burst
size to one special value, instead of the default value.

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - rename 'dwc3_set_soc_bus_cfg' to 'dwc3_set_incr_burst_type'
 - modify the codes according to the definition of GSBUSCFG0
 - change variables from global to local
 - add the judgment of 'ntype <= 0'
Changes in v5:
 - no change
Changes in v4:
 - Modify the codes according to the definition of this property.
Changes in v3:
 - add new property for INCR burst in usb node to reset GSBUSCFG0.
Changes in v2:
 - split patch
 - create one new function to handle soc bus configuration register.
---
 drivers/usb/dwc3/core.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/usb/dwc3/core.h |  3 ++
 2 files changed, 97 insertions(+)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 1038075..21e4931 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -778,6 +778,98 @@ static void dwc3_core_setup_global_control(struct dwc3 *dwc)
 static int dwc3_core_get_phy(struct dwc3 *dwc);
 static int dwc3_core_ulpi_init(struct dwc3 *dwc);
 
+/* set global incr burst type configuration registers */
+static void dwc3_set_incr_burst_type(struct dwc3 *dwc)
+{
+	struct device *dev = dwc->dev;
+	/* incrx_mode : for INCR burst type. */
+	bool incrx_mode;
+	/* incrx_size : for size of INCRX burst. */
+	u32 incrx_size;
+	u32 *vals;
+	u32 cfg;
+	int ntype;
+	int ret;
+	int i;
+
+	cfg = dwc3_readl(dwc->regs, DWC3_GSBUSCFG0);
+
+	/*
+	 * Handle property "snps,incr-burst-type-adjustment".
+	 * Get the number of value from this property:
+	 * result <= 0, means this property is not supported.
+	 * result = 1, means INCRx burst mode supported.
+	 * result > 1, means undefined length burst mode supported.
+	 */
+	ntype = device_property_read_u32_array(dev,
+			"snps,incr-burst-type-adjustment", NULL, 0);
+	if (ntype <= 0)
+		return;
+
+	vals = kcalloc(ntype, sizeof(u32), GFP_KERNEL);
+	if (!vals) {
+		dev_err(dev, "Error to get memory\n");
+		return;
+	}
+
+	/* Get INCR burst type, and parse it */
+	ret = device_property_read_u32_array(dev,
+			"snps,incr-burst-type-adjustment", vals, ntype);
+	if (ret) {
+		dev_err(dev, "Error to get property\n");
+		return;
+	}
+
+	incrx_size = *vals;
+
+	if (ntype > 1) {
+		/* INCRX (undefined length) burst mode */
+		incrx_mode = INCRX_UNDEF_LENGTH_BURST_MODE;
+		for (i = 1; i < ntype; i++) {
+			if (vals[i] > incrx_size)
+				incrx_size = vals[i];
+		}
+	} else {
+		/* INCRX burst mode */
+		incrx_mode = INCRX_BURST_MODE;
+	}
+
+	/* Enable Undefined Length INCR Burst and Enable INCRx Burst */
+	cfg &= ~DWC3_GSBUSCFG0_INCRBRST_MASK;
+	if (incrx_mode)
+		cfg |= DWC3_GSBUSCFG0_INCRBRSTENA;
+	switch (incrx_size) {
+	case 256:
+		cfg |= DWC3_GSBUSCFG0_INCR256BRSTENA;
+		break;
+	case 128:
+		cfg |= DWC3_GSBUSCFG0_INCR128BRSTENA;
+		break;
+	case 64:
+		cfg |= DWC3_GSBUSCFG0_INCR64BRSTENA;
+		break;
+	case 32:
+		cfg |= DWC3_GSBUSCFG0_INCR32BRSTENA;
+		break;
+	case 16:
+		cfg |= DWC3_GSBUSCFG0_INCR16BRSTENA;
+		break;
+	case 8:
+		cfg |= DWC3_GSBUSCFG0_INCR8BRSTENA;
+		break;
+	case 4:
+		cfg |= DWC3_GSBUSCFG0_INCR4BRSTENA;
+		break;
+	case 1:
+		break;
+	default:
+		dev_err(dev, "Invalid property\n");
+		break;
+	}
+
+	dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg);
+}
+
 /**
  * dwc3_core_init - Low-level initialization of DWC3 Core
  * @dwc: Pointer to our controller context structure
@@ -840,6 +932,8 @@ static int dwc3_core_init(struct dwc3 *dwc)
 	/* Adjust Frame Length */
 	dwc3_frame_length_adjustment(dwc);
 
+	dwc3_set_incr_burst_type(dwc);
+
 	usb_phy_set_suspend(dwc->usb2_phy, 0);
 	usb_phy_set_suspend(dwc->usb3_phy, 0);
 	ret = phy_power_on(dwc->usb2_generic_phy);
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 213b939..5f14fb7 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -1168,6 +1168,9 @@ struct dwc3 {
 	u16			imod_interval;
 };
 
+#define INCRX_BURST_MODE 0
+#define INCRX_UNDEF_LENGTH_BURST_MODE 1
+
 #define work_to_dwc(w)		(container_of((w), struct dwc3, drd_work))
 
 /* -------------------------------------------------------------------------- */
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Add description of 'snps,incr-burst-type-adjustment' to binding
so that configuring devicetree.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
 Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 7f13ebe..3e4c38b 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -96,6 +96,11 @@ Optional properties:
 			enable periodic ESS TX threshold.
 
  - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
+ - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
+			register, undefined length INCR burst type enable and INCRx type.
+			When just one value, which means INCRX burst mode enabled. When
+			more than one value, which means undefined length INCR burst type
+			enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
 
  - in addition all properties from usb-xhci.txt from the current directory are
    supported as well
@@ -108,4 +113,5 @@ dwc3@4a030000 {
 	reg = <0x4a030000 0xcfff>;
 	interrupts = <0 92 4>
 	usb-phy = <&usb2_phy>, <&usb3,phy>;
+	snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 };
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [v6,3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Add description of 'snps,incr-burst-type-adjustment' to binding
so that configuring devicetree.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
 Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 7f13ebe..3e4c38b 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -96,6 +96,11 @@ Optional properties:
 			enable periodic ESS TX threshold.
 
  - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
+ - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
+			register, undefined length INCR burst type enable and INCRx type.
+			When just one value, which means INCRX burst mode enabled. When
+			more than one value, which means undefined length INCR burst type
+			enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
 
  - in addition all properties from usb-xhci.txt from the current directory are
    supported as well
@@ -108,4 +113,5 @@ dwc3@4a030000 {
 	reg = <0x4a030000 0xcfff>;
 	interrupts = <0 92 4>
 	usb-phy = <&usb2_phy>, <&usb3,phy>;
+	snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 };

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: linux-arm-kernel

Add description of 'snps,incr-burst-type-adjustment' to binding
so that configuring devicetree.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
 Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 7f13ebe..3e4c38b 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -96,6 +96,11 @@ Optional properties:
 			enable periodic ESS TX threshold.
 
  - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
+ - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
+			register, undefined length INCR burst type enable and INCRx type.
+			When just one value, which means INCRX burst mode enabled. When
+			more than one value, which means undefined length INCR burst type
+			enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
 
  - in addition all properties from usb-xhci.txt from the current directory are
    supported as well
@@ -108,4 +113,5 @@ dwc3 at 4a030000 {
 	reg = <0x4a030000 0xcfff>;
 	interrupts = <0 92 4>
 	usb-phy = <&usb2_phy>, <&usb3,phy>;
+	snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 };
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
DWC3.When only one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB
controller can use the length less than or equal to the largest
enabled burst length.

While enabling undefined length INCR burst type and INCR16 burst type,
get better write performance on NXP Layerscape platforms: around 3%
improvement (from 364MB/s to 375MB/s).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete snps,incr-burst-type-adjustment = <1>
Changes in v5:
 - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a
 - update ls208xa support according to code base change
Changes in v4:
 - change definition for this property.
Changes in v3:
 - add new property for INCR burst in usb node.
---
 arch/arm/boot/dts/ls1021a.dtsi                 | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479..7c328f3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -706,6 +706,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		pcie@3400000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 205f0f4..8e3d66f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -482,6 +482,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 1109f22..f826d20 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -643,6 +643,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3000000 {
@@ -652,6 +653,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb3@3100000 {
@@ -661,6 +663,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 136ebfa..9226be8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -604,6 +604,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb@3000000 {
@@ -613,6 +614,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb@3100000 {
@@ -622,6 +624,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 1c6556b..34671ee0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -479,6 +479,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -489,6 +490,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 137ef4d..c0762cc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -754,6 +754,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -764,6 +765,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		ccn@4000000 {
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [v6,4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
DWC3.When only one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB
controller can use the length less than or equal to the largest
enabled burst length.

While enabling undefined length INCR burst type and INCR16 burst type,
get better write performance on NXP Layerscape platforms: around 3%
improvement (from 364MB/s to 375MB/s).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete snps,incr-burst-type-adjustment = <1>
Changes in v5:
 - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a
 - update ls208xa support according to code base change
Changes in v4:
 - change definition for this property.
Changes in v3:
 - add new property for INCR burst in usb node.
---
 arch/arm/boot/dts/ls1021a.dtsi                 | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479..7c328f3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -706,6 +706,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		pcie@3400000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 205f0f4..8e3d66f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -482,6 +482,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 1109f22..f826d20 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -643,6 +643,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3000000 {
@@ -652,6 +653,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb3@3100000 {
@@ -661,6 +663,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 136ebfa..9226be8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -604,6 +604,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb@3000000 {
@@ -613,6 +614,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb@3100000 {
@@ -622,6 +624,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 1c6556b..34671ee0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -479,6 +479,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -489,6 +490,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 137ef4d..c0762cc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -754,6 +754,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -764,6 +765,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		ccn@4000000 {

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-23 10:32   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23 10:32 UTC (permalink / raw)
  To: linux-arm-kernel

Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
DWC3.When only one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB
controller can use the length less than or equal to the largest
enabled burst length.

While enabling undefined length INCR burst type and INCR16 burst type,
get better write performance on NXP Layerscape platforms: around 3%
improvement (from 364MB/s to 375MB/s).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete snps,incr-burst-type-adjustment = <1>
Changes in v5:
 - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a
 - update ls208xa support according to code base change
Changes in v4:
 - change definition for this property.
Changes in v3:
 - add new property for INCR burst in usb node.
---
 arch/arm/boot/dts/ls1021a.dtsi                 | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479..7c328f3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -706,6 +706,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		pcie at 3400000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 205f0f4..8e3d66f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -482,6 +482,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 1109f22..f826d20 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -643,6 +643,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3 at 3000000 {
@@ -652,6 +653,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb3 at 3100000 {
@@ -661,6 +663,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 136ebfa..9226be8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -604,6 +604,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb at 3000000 {
@@ -613,6 +614,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb at 3100000 {
@@ -622,6 +624,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 1c6556b..34671ee0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -479,6 +479,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3 at 3110000 {
@@ -489,6 +490,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 137ef4d..c0762cc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -754,6 +754,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3 at 3110000 {
@@ -764,6 +765,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		ccn at 4000000 {
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
  2018-07-23 10:32   ` [v6,3/4] " Pengbo Mu
  (?)
  (?)
@ 2018-07-24 23:20     ` Rob Herring
  -1 siblings, 0 replies; 35+ messages in thread
From: Rob Herring @ 2018-07-24 23:20 UTC (permalink / raw)
  To: Pengbo Mu
  Cc: Felipe Balbi, Mark Rutland, Catalin Marinas, Will Deacon,
	Greg Kroah-Hartman, linux-kernel, linux-usb, devicetree,
	linux-arm-kernel, ran.wang_1

On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> Add description of 'snps,incr-burst-type-adjustment' to binding
> so that configuring devicetree.
> 
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Rob Herring <robh@kernel.org>


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-07-24 23:20     ` Rob Herring
  0 siblings, 0 replies; 35+ messages in thread
From: Rob Herring @ 2018-07-24 23:20 UTC (permalink / raw)
  To: Pengbo Mu
  Cc: Mark Rutland, Felipe Balbi, devicetree, Greg Kroah-Hartman,
	linux-usb, Will Deacon, linux-kernel, Catalin Marinas,
	ran.wang_1, linux-arm-kernel

On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> Add description of 'snps,incr-burst-type-adjustment' to binding
> so that configuring devicetree.
> 
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [v6,3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-07-24 23:20     ` Rob Herring
  0 siblings, 0 replies; 35+ messages in thread
From: Rob Herring @ 2018-07-24 23:20 UTC (permalink / raw)
  To: Pengbo Mu
  Cc: Felipe Balbi, Mark Rutland, Catalin Marinas, Will Deacon,
	Greg Kroah-Hartman, linux-kernel, linux-usb, devicetree,
	linux-arm-kernel, ran.wang_1

On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> Add description of 'snps,incr-burst-type-adjustment' to binding
> so that configuring devicetree.
> 
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Rob Herring <robh@kernel.org>
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-07-24 23:20     ` Rob Herring
  0 siblings, 0 replies; 35+ messages in thread
From: Rob Herring @ 2018-07-24 23:20 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> Add description of 'snps,incr-burst-type-adjustment' to binding
> so that configuring devicetree.
> 
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
  2018-07-23 10:32   ` [v6,4/4] " Pengbo Mu
  (?)
  (?)
@ 2018-07-26 11:10     ` Felipe Balbi
  -1 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-07-26 11:10 UTC (permalink / raw)
  To: Pengbo Mu, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

[-- Attachment #1: Type: text/plain, Size: 709 bytes --]

Pengbo Mu <pengbo.mu@nxp.com> writes:

> Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> DWC3.When only one value means INCRx mode with fix burst type.
> When more than one value, means undefined length burst mode, USB
> controller can use the length less than or equal to the largest
> enabled burst length.
>
> While enabling undefined length INCR burst type and INCR16 burst type,
> get better write performance on NXP Layerscape platforms: around 3%
> improvement (from 364MB/s to 375MB/s).
>
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>

will this go through arm64 tree or do you need me to pick it up?

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-26 11:10     ` Felipe Balbi
  0 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-07-26 11:10 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
	Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

[-- Attachment #1: Type: text/plain, Size: 709 bytes --]

Pengbo Mu <pengbo.mu@nxp.com> writes:

> Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> DWC3.When only one value means INCRx mode with fix burst type.
> When more than one value, means undefined length burst mode, USB
> controller can use the length less than or equal to the largest
> enabled burst length.
>
> While enabling undefined length INCR burst type and INCR16 burst type,
> get better write performance on NXP Layerscape platforms: around 3%
> improvement (from 364MB/s to 375MB/s).
>
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>

will this go through arm64 tree or do you need me to pick it up?

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [v6,4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-26 11:10     ` Felipe Balbi
  0 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-07-26 11:10 UTC (permalink / raw)
  To: Pengbo Mu, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel, ran.wang_1

Pengbo Mu <pengbo.mu@nxp.com> writes:

> Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> DWC3.When only one value means INCRx mode with fix burst type.
> When more than one value, means undefined length burst mode, USB
> controller can use the length less than or equal to the largest
> enabled burst length.
>
> While enabling undefined length INCR burst type and INCR16 burst type,
> get better write performance on NXP Layerscape platforms: around 3%
> improvement (from 364MB/s to 375MB/s).
>
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>

will this go through arm64 tree or do you need me to pick it up?

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-26 11:10     ` Felipe Balbi
  0 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-07-26 11:10 UTC (permalink / raw)
  To: linux-arm-kernel

Pengbo Mu <pengbo.mu@nxp.com> writes:

> Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> DWC3.When only one value means INCRx mode with fix burst type.
> When more than one value, means undefined length burst mode, USB
> controller can use the length less than or equal to the largest
> enabled burst length.
>
> While enabling undefined length INCR burst type and INCR16 burst type,
> get better write performance on NXP Layerscape platforms: around 3%
> improvement (from 364MB/s to 375MB/s).
>
> Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>

will this go through arm64 tree or do you need me to pick it up?

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180726/0c6f0cba/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* RE: [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
  2018-07-26 11:10     ` [PATCH v6 4/4] " Felipe Balbi
  (?)
  (?)
@ 2018-07-31  2:46       ` Pengbo Mu
  -1 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-31  2:46 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel, Ran Wang

Felipe Balbi [mailto:balbi@kernel.org] writes:
> > Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> > DWC3.When only one value means INCRx mode with fix burst type.
> > When more than one value, means undefined length burst mode, USB
> > controller can use the length less than or equal to the largest
> > enabled burst length.
> >
> > While enabling undefined length INCR burst type and INCR16 burst type,
> > get better write performance on NXP Layerscape platforms: around 3%
> > improvement (from 364MB/s to 375MB/s).
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> 
> will this go through arm64 tree or do you need me to pick it up?

Hi ,
I am sorry for I don't understand what you mean .
This patch fixed the dts files of arm32 & arm64 , so I named the title like "arm: arm64: dts ***" .
Is this something wrong ? If yes , pls tell me and I will fix it !

Thanks,
Pengbo 


^ permalink raw reply	[flat|nested] 35+ messages in thread

* RE: [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-31  2:46       ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-31  2:46 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel, Ran Wang

Felipe Balbi [mailto:balbi@kernel.org] writes:
> > Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> > DWC3.When only one value means INCRx mode with fix burst type.
> > When more than one value, means undefined length burst mode, USB
> > controller can use the length less than or equal to the largest
> > enabled burst length.
> >
> > While enabling undefined length INCR burst type and INCR16 burst type,
> > get better write performance on NXP Layerscape platforms: around 3%
> > improvement (from 364MB/s to 375MB/s).
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> 
> will this go through arm64 tree or do you need me to pick it up?

Hi ,
I am sorry for I don't understand what you mean .
This patch fixed the dts files of arm32 & arm64 , so I named the title like "arm: arm64: dts ***" .
Is this something wrong ? If yes , pls tell me and I will fix it !

Thanks,
Pengbo 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [v6,4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-31  2:46       ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-31  2:46 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel, Ran Wang

Felipe Balbi [mailto:balbi@kernel.org] writes:
> > Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> > DWC3.When only one value means INCRx mode with fix burst type.
> > When more than one value, means undefined length burst mode, USB
> > controller can use the length less than or equal to the largest
> > enabled burst length.
> >
> > While enabling undefined length INCR burst type and INCR16 burst type,
> > get better write performance on NXP Layerscape platforms: around 3%
> > improvement (from 364MB/s to 375MB/s).
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> 
> will this go through arm64 tree or do you need me to pick it up?

Hi ,
I am sorry for I don't understand what you mean .
This patch fixed the dts files of arm32 & arm64 , so I named the title like "arm: arm64: dts ***" .
Is this something wrong ? If yes , pls tell me and I will fix it !

Thanks,
Pengbo
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-31  2:46       ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-31  2:46 UTC (permalink / raw)
  To: linux-arm-kernel

Felipe Balbi [mailto:balbi at kernel.org] writes:
> > Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
> > DWC3.When only one value means INCRx mode with fix burst type.
> > When more than one value, means undefined length burst mode, USB
> > controller can use the length less than or equal to the largest
> > enabled burst length.
> >
> > While enabling undefined length INCR burst type and INCR16 burst type,
> > get better write performance on NXP Layerscape platforms: around 3%
> > improvement (from 364MB/s to 375MB/s).
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> 
> will this go through arm64 tree or do you need me to pick it up?

Hi ,
I am sorry for I don't understand what you mean .
This patch fixed the dts files of arm32 & arm64 , so I named the title like "arm: arm64: dts ***" .
Is this something wrong ? If yes , pls tell me and I will fix it !

Thanks,
Pengbo 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
  2018-07-24 23:20     ` [PATCH v6 3/4] " Rob Herring
  (?)
  (?)
@ 2018-09-05 20:52       ` Yang Li
  -1 siblings, 0 replies; 35+ messages in thread
From: Yang Li @ 2018-09-05 20:52 UTC (permalink / raw)
  To: Rob Herring
  Cc: pengbo.mu, Felipe Balbi, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman, lkml, linux-usb,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Ran Wang

On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> > Add description of 'snps,incr-burst-type-adjustment' to binding
> > so that configuring devicetree.
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> > ---
> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
> >  1 file changed, 6 insertions(+)
>
> Reviewed-by: Rob Herring <robh@kernel.org>

Hi Felipe,

What do you think about this patch?  The patch title prefix should be
updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Regards,
Leo

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-09-05 20:52       ` Yang Li
  0 siblings, 0 replies; 35+ messages in thread
From: Yang Li @ 2018-09-05 20:52 UTC (permalink / raw)
  To: Rob Herring
  Cc: pengbo.mu, Felipe Balbi, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman, lkml, linux-usb,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Ran Wang

On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> > Add description of 'snps,incr-burst-type-adjustment' to binding
> > so that configuring devicetree.
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> > ---
> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
> >  1 file changed, 6 insertions(+)
>
> Reviewed-by: Rob Herring <robh@kernel.org>

Hi Felipe,

What do you think about this patch?  The patch title prefix should be
updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Regards,
Leo

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [v6,3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-09-05 20:52       ` Yang Li
  0 siblings, 0 replies; 35+ messages in thread
From: Leo Li @ 2018-09-05 20:52 UTC (permalink / raw)
  To: Rob Herring
  Cc: pengbo.mu, Felipe Balbi, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman, lkml, linux-usb,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Ran Wang

On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> > Add description of 'snps,incr-burst-type-adjustment' to binding
> > so that configuring devicetree.
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> > ---
> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
> >  1 file changed, 6 insertions(+)
>
> Reviewed-by: Rob Herring <robh@kernel.org>

Hi Felipe,

What do you think about this patch?  The patch title prefix should be
updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Regards,
Leo

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-09-05 20:52       ` Yang Li
  0 siblings, 0 replies; 35+ messages in thread
From: Yang Li @ 2018-09-05 20:52 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
> > Add description of 'snps,incr-burst-type-adjustment' to binding
> > so that configuring devicetree.
> >
> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
> > ---
> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
> >  1 file changed, 6 insertions(+)
>
> Reviewed-by: Rob Herring <robh@kernel.org>

Hi Felipe,

What do you think about this patch?  The patch title prefix should be
updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Regards,
Leo

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
  2018-09-05 20:52       ` [PATCH v6 3/4] " Yang Li
  (?)
  (?)
@ 2018-10-02  7:40         ` Felipe Balbi
  -1 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-10-02  7:40 UTC (permalink / raw)
  To: linux-usb-owner, Rob Herring
  Cc: pengbo.mu, Mark Rutland, Catalin Marinas, Will Deacon,
	Greg Kroah-Hartman, lkml, linux-usb,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Ran Wang

[-- Attachment #1: Type: text/plain, Size: 795 bytes --]


Hi,

linux-usb-owner@vger.kernel.org writes:

> On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
>> > Add description of 'snps,incr-burst-type-adjustment' to binding
>> > so that configuring devicetree.
>> >
>> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
>> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
>> > ---
>> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>> >  1 file changed, 6 insertions(+)
>>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>
> Hi Felipe,
>
> What do you think about this patch?  The patch title prefix should be
> updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Can you resend the series so I can apply?

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-10-02  7:40         ` Felipe Balbi
  0 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-10-02  7:40 UTC (permalink / raw)
  To: linux-usb-owner, Rob Herring
  Cc: pengbo.mu, Mark Rutland, Catalin Marinas, Will Deacon,
	Greg Kroah-Hartman, lkml, linux-usb,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Ran Wang

[-- Attachment #1: Type: text/plain, Size: 795 bytes --]


Hi,

linux-usb-owner@vger.kernel.org writes:

> On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
>> > Add description of 'snps,incr-burst-type-adjustment' to binding
>> > so that configuring devicetree.
>> >
>> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
>> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
>> > ---
>> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>> >  1 file changed, 6 insertions(+)
>>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>
> Hi Felipe,
>
> What do you think about this patch?  The patch title prefix should be
> updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Can you resend the series so I can apply?

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [v6,3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-10-02  7:40         ` Felipe Balbi
  0 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-10-02  7:40 UTC (permalink / raw)
  To: linux-usb-owner, Rob Herring
  Cc: pengbo.mu, Mark Rutland, Catalin Marinas, Will Deacon,
	Greg Kroah-Hartman, lkml, linux-usb,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Ran Wang

Hi,

linux-usb-owner@vger.kernel.org writes:

> On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
>> > Add description of 'snps,incr-burst-type-adjustment' to binding
>> > so that configuring devicetree.
>> >
>> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
>> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
>> > ---
>> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>> >  1 file changed, 6 insertions(+)
>>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>
> Hi Felipe,
>
> What do you think about this patch?  The patch title prefix should be
> updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Can you resend the series so I can apply?

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v6 3/4] arm64: dts: dwc3: description of incr burst type
@ 2018-10-02  7:40         ` Felipe Balbi
  0 siblings, 0 replies; 35+ messages in thread
From: Felipe Balbi @ 2018-10-02  7:40 UTC (permalink / raw)
  To: linux-arm-kernel


Hi,

linux-usb-owner at vger.kernel.org writes:

> On Tue, Jul 24, 2018 at 6:23 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Mon, Jul 23, 2018 at 06:32:38PM +0800, Pengbo Mu wrote:
>> > Add description of 'snps,incr-burst-type-adjustment' to binding
>> > so that configuring devicetree.
>> >
>> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
>> > Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
>> > ---
>> >  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>> >  1 file changed, 6 insertions(+)
>>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>
> Hi Felipe,
>
> What do you think about this patch?  The patch title prefix should be
> updated from "arm64: dts: dwc3" to "dt-bindings: usb: dwc3" though.

Can you resend the series so I can apply?

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20181002/9afa255b/attachment.sig>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
  2018-07-23  3:11 [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0 Pengbo Mu
@ 2018-07-23  3:11   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23  3:11 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
DWC3.When only one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB
controller can use the length less than or equal to the largest
enabled burst length.

While enabling undefined length INCR burst type and INCR16 burst type,
get better write performance on NXP Layerscape platforms: around 3%
improvement (from 364MB/s to 375MB/s).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete snps,incr-burst-type-adjustment = <1>
Changes in v5:
 - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a
 - update ls208xa support according to code base change
Changes in v4:
 - change definition for this property.
Changes in v3:
 - add new property for INCR burst in usb node.
---
 arch/arm/boot/dts/ls1021a.dtsi                 | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479..7c328f3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -706,6 +706,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		pcie@3400000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 205f0f4..8e3d66f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -482,6 +482,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 1109f22..f826d20 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -643,6 +643,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3000000 {
@@ -652,6 +653,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb3@3100000 {
@@ -661,6 +663,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 136ebfa..9226be8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -604,6 +604,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb@3000000 {
@@ -613,6 +614,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb@3100000 {
@@ -622,6 +624,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 1c6556b..34671ee0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -479,6 +479,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -489,6 +490,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 137ef4d..c0762cc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -754,6 +754,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -764,6 +765,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		ccn@4000000 {
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
@ 2018-07-23  3:11   ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23  3:11 UTC (permalink / raw)
  To: linux-arm-kernel

Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
DWC3.When only one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB
controller can use the length less than or equal to the largest
enabled burst length.

While enabling undefined length INCR burst type and INCR16 burst type,
get better write performance on NXP Layerscape platforms: around 3%
improvement (from 364MB/s to 375MB/s).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete snps,incr-burst-type-adjustment = <1>
Changes in v5:
 - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a
 - update ls208xa support according to code base change
Changes in v4:
 - change definition for this property.
Changes in v3:
 - add new property for INCR burst in usb node.
---
 arch/arm/boot/dts/ls1021a.dtsi                 | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479..7c328f3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -706,6 +706,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		pcie at 3400000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 205f0f4..8e3d66f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -482,6 +482,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 1109f22..f826d20 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -643,6 +643,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3 at 3000000 {
@@ -652,6 +653,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb3 at 3100000 {
@@ -661,6 +663,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 136ebfa..9226be8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -604,6 +604,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb at 3000000 {
@@ -613,6 +614,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb at 3100000 {
@@ -622,6 +624,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 1c6556b..34671ee0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -479,6 +479,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3 at 3110000 {
@@ -489,6 +490,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata at 3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 137ef4d..c0762cc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -754,6 +754,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3 at 3110000 {
@@ -764,6 +765,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		ccn at 4000000 {
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment
  2018-07-23  3:06 [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0 Pengbo Mu
@ 2018-07-23  3:06 ` Pengbo Mu
  0 siblings, 0 replies; 35+ messages in thread
From: Pengbo Mu @ 2018-07-23  3:06 UTC (permalink / raw)
  To: Felipe Balbi, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon, Greg Kroah-Hartman
  Cc: linux-kernel, linux-usb, devicetree, linux-arm-kernel,
	ran.wang_1, pengbo.mu

Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0
DWC3.When only one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB
controller can use the length less than or equal to the largest
enabled burst length.

While enabling undefined length INCR burst type and INCR16 burst type,
get better write performance on NXP Layerscape platforms: around 3%
improvement (from 364MB/s to 375MB/s).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Pengbo Mu <pengbo.mu@nxp.com>
---
Changes in v6:
 - delete snps,incr-burst-type-adjustment = <1>
Changes in v5:
 - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a
 - update ls208xa support according to code base change
Changes in v4:
 - change definition for this property.
Changes in v3:
 - add new property for INCR burst in usb node.
---
 arch/arm/boot/dts/ls1021a.dtsi                 | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479..7c328f3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -706,6 +706,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		pcie@3400000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 205f0f4..8e3d66f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -482,6 +482,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 1109f22..f826d20 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -643,6 +643,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3000000 {
@@ -652,6 +653,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb3@3100000 {
@@ -661,6 +663,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 136ebfa..9226be8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -604,6 +604,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb@3000000 {
@@ -613,6 +614,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb2: usb@3100000 {
@@ -622,6 +624,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 1c6556b..34671ee0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -479,6 +479,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -489,6 +490,7 @@
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
 			status = "disabled";
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		sata: sata@3200000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 137ef4d..c0762cc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -754,6 +754,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		usb1: usb3@3110000 {
@@ -764,6 +765,7 @@
 			dr_mode = "host";
 			snps,quirk-frame-length-adjustment = <0x20>;
 			snps,dis_rxdet_inp3_quirk;
+			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
 		ccn@4000000 {
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2018-10-02  7:41 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-23 10:32 [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0 Pengbo Mu
2018-07-23 10:32 ` Pengbo Mu
2018-07-23 10:32 ` [v6,1/4] " Pengbo Mu
2018-07-23 10:32 ` [PATCH v6 2/4] usb: dwc3: Enable undefined length INCR burst type Pengbo Mu
2018-07-23 10:32   ` Pengbo Mu
2018-07-23 10:32   ` [v6,2/4] " Pengbo Mu
2018-07-23 10:32 ` [PATCH v6 3/4] arm64: dts: dwc3: description of incr " Pengbo Mu
2018-07-23 10:32   ` Pengbo Mu
2018-07-23 10:32   ` [v6,3/4] " Pengbo Mu
2018-07-24 23:20   ` [PATCH v6 3/4] " Rob Herring
2018-07-24 23:20     ` Rob Herring
2018-07-24 23:20     ` [v6,3/4] " Rob Herring
2018-07-24 23:20     ` [PATCH v6 3/4] " Rob Herring
2018-09-05 20:52     ` Yang Li
2018-09-05 20:52       ` Yang Li
2018-09-05 20:52       ` [v6,3/4] " Leo Li
2018-09-05 20:52       ` [PATCH v6 3/4] " Yang Li
2018-10-02  7:40       ` Felipe Balbi
2018-10-02  7:40         ` Felipe Balbi
2018-10-02  7:40         ` [v6,3/4] " Felipe Balbi
2018-10-02  7:40         ` [PATCH v6 3/4] " Felipe Balbi
2018-07-23 10:32 ` [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment Pengbo Mu
2018-07-23 10:32   ` Pengbo Mu
2018-07-23 10:32   ` [v6,4/4] " Pengbo Mu
2018-07-26 11:10   ` [PATCH v6 4/4] " Felipe Balbi
2018-07-26 11:10     ` Felipe Balbi
2018-07-26 11:10     ` [v6,4/4] " Felipe Balbi
2018-07-26 11:10     ` [PATCH v6 4/4] " Felipe Balbi
2018-07-31  2:46     ` Pengbo Mu
2018-07-31  2:46       ` Pengbo Mu
2018-07-31  2:46       ` [v6,4/4] " Pengbo Mu
2018-07-31  2:46       ` [PATCH v6 4/4] " Pengbo Mu
  -- strict thread matches above, loose matches on Subject: below --
2018-07-23  3:11 [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0 Pengbo Mu
2018-07-23  3:11 ` [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment Pengbo Mu
2018-07-23  3:11   ` Pengbo Mu
2018-07-23  3:06 [PATCH v6 1/4] usb: dwc3: add global soc bus configuration reg0 Pengbo Mu
2018-07-23  3:06 ` [PATCH v6 4/4] arm: arm64: dts: add property snps incr burst type adjustment Pengbo Mu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.