Skip to contentSkip to conversation

usb: dwc3: drop FIFO resizing logic

PATCH In review Felipe Balbi 3 participants 12 messages Feb 4, 2016 – Feb 22, 2016 9 messages not in the archive

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 usb: dwc3: drop FIFO resizing logic

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

---
 Documentation/devicetree/bindings/usb/dwc3.txt     |  4 +-
 .../devicetree/bindings/usb/qcom,dwc3.txt          |  1 -
 drivers/usb/dwc3/core.c                            |  4 -
 drivers/usb/dwc3/core.h                            |  5 --
 drivers/usb/dwc3/ep0.c                             |  9 ---
 drivers/usb/dwc3/gadget.c                          | 86 ----------------------
 drivers/usb/dwc3/platform_data.h                   |  1 -
 7 files changed, 2 insertions(+), 108 deletions(-)
Documentation/devicetree/bindings/usb/dwc3.txt +2 -2
index fb2ad0acedbd..15695682a480 100644
@@ -14,7 +14,6 @@ Optional properties:
    the second element is expected to be a handle to the USB3/SS PHY
  - phys: from the *Generic PHY* bindings
  - phy-names: from the *Generic PHY* bindings
- - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
  - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
  - snps,disable_scramble_quirk: true when SW should disable data scrambling.
 	Only really useful for FPGA builds.
@@ -47,6 +46,8 @@ Optional properties:
 	register for post-silicon frame length adjustment when the
 	fladj_30mhz_sdbnd signal is invalid or incorrect.
 
+ - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
+
 This is usually a subnode to DWC3 glue to which it is connected.
 
 dwc3@4a030000 {
@@ -54,5 +55,4 @@ dwc3@4a030000 {
 	reg = <0x4a030000 0xcfff>;
 	interrupts = <0 92 4>
 	usb-phy = <&usb2_phy>, <&usb3,phy>;
-	tx-fifo-resize;
 };
Documentation/devicetree/bindings/usb/qcom,dwc3.txt +0 -1
index ca164e71dd50..39acb084bce9 100644
@@ -59,7 +59,6 @@ Example device nodes:
 				interrupts = <0 205 0x4>;
 				phys = <&hs_phy>, <&ss_phy>;
 				phy-names = "usb2-phy", "usb3-phy";
-				tx-fifo-resize;
 				dr_mode = "host";
 			};
 		};
drivers/usb/dwc3/core.c +0 -4
index de5e01f41bc2..ed03820ebedd 100644
@@ -894,9 +894,6 @@ static int dwc3_probe(struct platform_device *pdev)
 	dwc->usb3_lpm_capable = device_property_read_bool(dev,
 				"snps,usb3_lpm_capable");
 
-	dwc->needs_fifo_resize = device_property_read_bool(dev,
-				"tx-fifo-resize");
-
 	dwc->disable_scramble_quirk = device_property_read_bool(dev,
 				"snps,disable_scramble_quirk");
 	dwc->u2exit_lfps_quirk = device_property_read_bool(dev,
@@ -938,7 +935,6 @@ static int dwc3_probe(struct platform_device *pdev)
 		if (pdata->hird_threshold)
 			hird_threshold = pdata->hird_threshold;
 
-		dwc->needs_fifo_resize = pdata->tx_fifo_resize;
 		dwc->usb3_lpm_capable = pdata->usb3_lpm_capable;
 		dwc->dr_mode = pdata->dr_mode;
 
drivers/usb/dwc3/core.h +0 -5
index 29130682e547..c6960541c38c 100644
@@ -706,9 +706,7 @@ struct dwc3_scratchpad_array {
  * 	0	- utmi_sleep_n
  * 	1	- utmi_l1_suspend_n
  * @is_fpga: true when we are using the FPGA board
- * @needs_fifo_resize: not all users might want fifo resizing, flag it
  * @pullups_connected: true when Run/Stop bit is set
- * @resize_fifos: tells us it's ok to reconfigure our TxFIFO sizes.
  * @setup_packet_pending: true when there's a Setup Packet in FIFO. Workaround
  * @start_config_issued: true when StartConfig command has been issued
  * @three_stage_setup: set if we perform a three phase setup
@@ -852,9 +850,7 @@ struct dwc3 {
 	unsigned		has_lpm_erratum:1;
 	unsigned		is_utmi_l1_suspend:1;
 	unsigned		is_fpga:1;
-	unsigned		needs_fifo_resize:1;
 	unsigned		pullups_connected:1;
-	unsigned		resize_fifos:1;
 	unsigned		setup_packet_pending:1;
 	unsigned		start_config_issued:1;
 	unsigned		three_stage_setup:1;
@@ -1023,7 +1019,6 @@ struct dwc3_gadget_ep_cmd_params {
 
 /* prototypes */
 void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
-int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc);
 
 #if IS_ENABLED(CONFIG_USB_DWC3_HOST) || IS_ENABLED(CONFIG_USB_DWC3_DUAL_ROLE)
 int dwc3_host_init(struct dwc3 *dwc);
drivers/usb/dwc3/ep0.c +0 -9
index 3a9354abcb68..2916a7f8f285 100644
@@ -584,9 +584,6 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
 			reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 			reg |= (DWC3_DCTL_ACCEPTU1ENA | DWC3_DCTL_ACCEPTU2ENA);
 			dwc3_writel(dwc->regs, DWC3_DCTL, reg);
-
-			dwc->resize_fifos = true;
-			dwc3_trace(trace_dwc3_ep0, "resize FIFOs flag SET");
 		}
 		break;
 
@@ -1029,12 +1026,6 @@ static int dwc3_ep0_start_control_status(struct dwc3_ep *dep)
 
 static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep)
 {
-	if (dwc->resize_fifos) {
-		dwc3_trace(trace_dwc3_ep0, "Resizing FIFOs");
-		dwc3_gadget_resize_tx_fifos(dwc);
-		dwc->resize_fifos = 0;
-	}
-
 	WARN_ON(dwc3_ep0_start_control_status(dep));
 }
 
drivers/usb/dwc3/gadget.c +0 -85

88 lines not on this page · raw message

A message that is not in the archive (sent off-list or not yet received): 1454588282-14383-1-git-send-email-balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#2 lore raw

PATCH 2/2 arm: omap: remove deprecated property

DWC3's tx-fifo-resize property has been deprecated because of it being unnecessary to any HW other than OMAP5 ES1.0.

---
 arch/arm/boot/dts/dra7.dtsi   | 3 ---
 arch/arm/boot/dts/dra74x.dtsi | 1 -
 arch/arm/boot/dts/omap5.dtsi  | 1 -
 3 files changed, 5 deletions(-)
arch/arm/boot/dts/dra7.dtsi +0 -3
index c4d9175b90dc..d4e5312b032e 100644
@@ -1357,7 +1357,6 @@
 						  "otg";
 				phys = <&usb2_phy1>, <&usb3_phy1>;
 				phy-names = "usb2-phy", "usb3-phy";
-				tx-fifo-resize;
 				maximum-speed = "super-speed";
 				dr_mode = "otg";
 				snps,dis_u3_susphy_quirk;
@@ -1385,7 +1384,6 @@
 						  "otg";
 				phys = <&usb2_phy2>;
 				phy-names = "usb2-phy";
-				tx-fifo-resize;
 				maximum-speed = "high-speed";
 				dr_mode = "otg";
 				snps,dis_u3_susphy_quirk;
@@ -1413,7 +1411,6 @@
 				interrupt-names = "peripheral",
 						  "host",
 						  "otg";
-				tx-fifo-resize;
 				maximum-speed = "high-speed";
 				dr_mode = "otg";
 				snps,dis_u3_susphy_quirk;
arch/arm/boot/dts/dra74x.dtsi +0 -1
index 8bcc47db1cd1..4220eeffc65a 100644
@@ -76,7 +76,6 @@
 				interrupt-names = "peripheral",
 						  "host",
 						  "otg";
-				tx-fifo-resize;
 				maximum-speed = "high-speed";
 				dr_mode = "otg";
 			};
arch/arm/boot/dts/omap5.dtsi +0 -1
index ca3c17fde5a0..614a437abd1b 100644
@@ -885,7 +885,6 @@
 				phys = <&usb2_phy>, <&usb3_phy>;
 				phy-names = "usb2-phy", "usb3-phy";
 				dr_mode = "peripheral";
-				tx-fifo-resize;
 			};
 		};
 
Signature · 6 lines
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 1454588282-14383-2-git-send-email-balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#4 lore raw

Re: [PATCH 2/2] arm: omap: remove deprecated property

Quoted 3 lines · Felipe Balbi

DWC3's tx-fifo-resize property has been deprecated because of it being unnecessary to any HW other than OMAP5 ES1.0.

OK, picking up this patch into omap-for-v4.6/dt thanks.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
In reply to a message not in the archive

Hi Felipe,

Quoted 11 lines · Felipe Balbi

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Let me know if you want me to do any other testing on dra7.

Thanks
Kishon

Quoted 233 lines
---
 Documentation/devicetree/bindings/usb/dwc3.txt     |  4 +-
 .../devicetree/bindings/usb/qcom,dwc3.txt          |  1 -
 drivers/usb/dwc3/core.c                            |  4 -
 drivers/usb/dwc3/core.h                            |  5 --
 drivers/usb/dwc3/ep0.c                             |  9 ---
 drivers/usb/dwc3/gadget.c                          | 86 ----------------------
 drivers/usb/dwc3/platform_data.h                   |  1 -
 7 files changed, 2 insertions(+), 108 deletions(-)
Documentation/devicetree/bindings/usb/dwc3.txt +2 -2
index fb2ad0acedbd..15695682a480 100644
@@ -14,7 +14,6 @@ Optional properties:
    the second element is expected to be a handle to the USB3/SS PHY
  - phys: from the *Generic PHY* bindings
  - phy-names: from the *Generic PHY* bindings
- - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
  - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
  - snps,disable_scramble_quirk: true when SW should disable data scrambling.
 	Only really useful for FPGA builds.
@@ -47,6 +46,8 @@ Optional properties:
 	register for post-silicon frame length adjustment when the
 	fladj_30mhz_sdbnd signal is invalid or incorrect.
 
+ - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
+
 This is usually a subnode to DWC3 glue to which it is connected.
 
 dwc3@4a030000 {
@@ -54,5 +55,4 @@ dwc3@4a030000 {
 	reg = <0x4a030000 0xcfff>;
 	interrupts = <0 92 4>
 	usb-phy = <&usb2_phy>, <&usb3,phy>;
-	tx-fifo-resize;
 };
Documentation/devicetree/bindings/usb/qcom,dwc3.txt +0 -1
index ca164e71dd50..39acb084bce9 100644
@@ -59,7 +59,6 @@ Example device nodes:
 				interrupts = <0 205 0x4>;
 				phys = <&hs_phy>, <&ss_phy>;
 				phy-names = "usb2-phy", "usb3-phy";
-				tx-fifo-resize;
 				dr_mode = "host";
 			};
 		};
drivers/usb/dwc3/core.c +0 -4
index de5e01f41bc2..ed03820ebedd 100644
@@ -894,9 +894,6 @@ static int dwc3_probe(struct platform_device *pdev)
 	dwc->usb3_lpm_capable = device_property_read_bool(dev,
 				"snps,usb3_lpm_capable");
 
-	dwc->needs_fifo_resize = device_property_read_bool(dev,
-				"tx-fifo-resize");
-
 	dwc->disable_scramble_quirk = device_property_read_bool(dev,
 				"snps,disable_scramble_quirk");
 	dwc->u2exit_lfps_quirk = device_property_read_bool(dev,
@@ -938,7 +935,6 @@ static int dwc3_probe(struct platform_device *pdev)
 		if (pdata->hird_threshold)
 			hird_threshold = pdata->hird_threshold;
 
-		dwc->needs_fifo_resize = pdata->tx_fifo_resize;
 		dwc->usb3_lpm_capable = pdata->usb3_lpm_capable;
 		dwc->dr_mode = pdata->dr_mode;
 
drivers/usb/dwc3/core.h +0 -5
index 29130682e547..c6960541c38c 100644
@@ -706,9 +706,7 @@ struct dwc3_scratchpad_array {
  * 	0	- utmi_sleep_n
  * 	1	- utmi_l1_suspend_n
  * @is_fpga: true when we are using the FPGA board
- * @needs_fifo_resize: not all users might want fifo resizing, flag it
  * @pullups_connected: true when Run/Stop bit is set
- * @resize_fifos: tells us it's ok to reconfigure our TxFIFO sizes.
  * @setup_packet_pending: true when there's a Setup Packet in FIFO. Workaround
  * @start_config_issued: true when StartConfig command has been issued
  * @three_stage_setup: set if we perform a three phase setup
@@ -852,9 +850,7 @@ struct dwc3 {
 	unsigned		has_lpm_erratum:1;
 	unsigned		is_utmi_l1_suspend:1;
 	unsigned		is_fpga:1;
-	unsigned		needs_fifo_resize:1;
 	unsigned		pullups_connected:1;
-	unsigned		resize_fifos:1;
 	unsigned		setup_packet_pending:1;
 	unsigned		start_config_issued:1;
 	unsigned		three_stage_setup:1;
@@ -1023,7 +1019,6 @@ struct dwc3_gadget_ep_cmd_params {
 
 /* prototypes */
 void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
-int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc);
 
 #if IS_ENABLED(CONFIG_USB_DWC3_HOST) || IS_ENABLED(CONFIG_USB_DWC3_DUAL_ROLE)
 int dwc3_host_init(struct dwc3 *dwc);
drivers/usb/dwc3/ep0.c +0 -9
index 3a9354abcb68..2916a7f8f285 100644
@@ -584,9 +584,6 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
 			reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 			reg |= (DWC3_DCTL_ACCEPTU1ENA | DWC3_DCTL_ACCEPTU2ENA);
 			dwc3_writel(dwc->regs, DWC3_DCTL, reg);
-
-			dwc->resize_fifos = true;
-			dwc3_trace(trace_dwc3_ep0, "resize FIFOs flag SET");
 		}
 		break;
 
@@ -1029,12 +1026,6 @@ static int dwc3_ep0_start_control_status(struct dwc3_ep *dep)
 
 static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep)
 {
-	if (dwc->resize_fifos) {
-		dwc3_trace(trace_dwc3_ep0, "Resizing FIFOs");
-		dwc3_gadget_resize_tx_fifos(dwc);
-		dwc->resize_fifos = 0;
-	}
-
 	WARN_ON(dwc3_ep0_start_control_status(dep));
 }
 
drivers/usb/dwc3/gadget.c +0 -86
index 7d1dd82a95ac..a5c783dfbbd6 100644
@@ -145,92 +145,6 @@ int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state)
 	return -ETIMEDOUT;
 }
 
-/**
- * dwc3_gadget_resize_tx_fifos - reallocate fifo spaces for current use-case
- * @dwc: pointer to our context structure
- *
- * This function will a best effort FIFO allocation in order
- * to improve FIFO usage and throughput, while still allowing
- * us to enable as many endpoints as possible.
- *
- * Keep in mind that this operation will be highly dependent
- * on the configured size for RAM1 - which contains TxFifo -,
- * the amount of endpoints enabled on coreConsultant tool, and
- * the width of the Master Bus.
- *
- * In the ideal world, we would always be able to satisfy the
- * following equation:
- *
- * ((512 + 2 * MDWIDTH-Bytes) + (Number of IN Endpoints - 1) * \
- * (3 * (1024 + MDWIDTH-Bytes) + MDWIDTH-Bytes)) / MDWIDTH-Bytes
- *
- * Unfortunately, due to many variables that's not always the case.
- */
-int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc)
-{
-	int		last_fifo_depth = 0;
-	int		ram1_depth;
-	int		fifo_size;
-	int		mdwidth;
-	int		num;
-
-	if (!dwc->needs_fifo_resize)
-		return 0;
-
-	ram1_depth = DWC3_RAM1_DEPTH(dwc->hwparams.hwparams7);
-	mdwidth = DWC3_MDWIDTH(dwc->hwparams.hwparams0);
-
-	/* MDWIDTH is represented in bits, we need it in bytes */
-	mdwidth >>= 3;
-
-	/*
-	 * FIXME For now we will only allocate 1 wMaxPacketSize space
-	 * for each enabled endpoint, later patches will come to
-	 * improve this algorithm so that we better use the internal
-	 * FIFO space
-	 */
-	for (num = 0; num < dwc->num_in_eps; num++) {
-		/* bit0 indicates direction; 1 means IN ep */
-		struct dwc3_ep	*dep = dwc->eps[(num << 1) | 1];
-		int		mult = 1;
-		int		tmp;
-
-		if (!(dep->flags & DWC3_EP_ENABLED))
-			continue;
-
-		if (usb_endpoint_xfer_bulk(dep->endpoint.desc)
-				|| usb_endpoint_xfer_isoc(dep->endpoint.desc))
-			mult = 3;
-
-		/*
-		 * REVISIT: the following assumes we will always have enough
-		 * space available on the FIFO RAM for all possible use cases.
-		 * Make sure that's true somehow and change FIFO allocation
-		 * accordingly.
-		 *
-		 * If we have Bulk or Isochronous endpoints, we want
-		 * them to be able to be very, very fast. So we're giving
-		 * those endpoints a fifo_size which is enough for 3 full
-		 * packets
-		 */
-		tmp = mult * (dep->endpoint.maxpacket + mdwidth);
-		tmp += mdwidth;
-
-		fifo_size = DIV_ROUND_UP(tmp, mdwidth);
-
-		fifo_size |= (last_fifo_depth << 16);
-
-		dwc3_trace(trace_dwc3_gadget, "%s: Fifo Addr %04x Size %d",
-				dep->name, last_fifo_depth, fifo_size & 0xffff);
-
-		dwc3_writel(dwc->regs, DWC3_GTXFIFOSIZ(num), fifo_size);
-
-		last_fifo_depth += (fifo_size & 0xffff);
-	}
-
-	return 0;
-}
-
 void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
 		int status)
 {
drivers/usb/dwc3/platform_data.h +0 -0
index 2bb4d3ad0e6b..aaa6f00df755 100644

drivers/usb/dwc3/platform_data.h line 28

Quoted 7 lines
drivers/usb/dwc3/platform_data.h +0 -1
@@ -23,7 +23,6 @@
 struct dwc3_platform_data {
 	enum usb_device_speed maximum_speed;
 	enum usb_dr_mode dr_mode;
-	bool tx_fifo_resize;
 	bool usb3_lpm_capable;
 
 	unsigned is_utmi_l1_suspend:1;

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

#7 lore raw

Hi,

Quoted 9 lines · Kishon Vijay Abraham I

Hi Felipe,

Quoted 6 lines · Felipe Balbi

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

Quoted 8 lines
Quoted 5 lines

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

Quoted 6 lines

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Signature · 1 line
balbi

A message that is not in the archive (sent off-list or not yet received): [email protected]

#9 lore raw

Hi,

Quoted 17 lines · Felipe Balbi

Hi,

Quoted 13 lines · Kishon Vijay Abraham I

Hi Felipe,

Quoted 10 lines · Felipe Balbi

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

Quoted 9 lines
Quoted 7 lines

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Okay. I'll start the test before I go for vacation next week.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

#11 lore raw

Hi,

Quoted 14 lines · Kishon Vijay Abraham I
Quoted 14 lines
Quoted 13 lines · Kishon Vijay Abraham I

Hi Felipe,

Quoted 10 lines · Felipe Balbi

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

cool thanks. Did you notice any speed regression or is it all the same ?

Quoted 5 lines
Quoted 3 lines
Quoted 1 line

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Okay. I'll start the test before I go for vacation next week.

great

Signature · 1 line
balbi

A message that is not in the archive (sent off-list or not yet received): [email protected]

#13 lore raw

Hi,

Quoted 20 lines · Felipe Balbi

Hi,

Quoted 16 lines · Kishon Vijay Abraham I
Quoted 16 lines
Quoted 15 lines · Kishon Vijay Abraham I

Hi Felipe,

Quoted 11 lines · Felipe Balbi

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

cool thanks. Did you notice any speed regression or is it all the same ?

the throughput was similar with or without this series. I'll run multiple times and check that again once I come back from my vacation.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#14 lore raw
In reply to a message not in the archive

Hi Felipe,

Quoted 32 lines · Kishon Vijay Abraham I

Hi,

Quoted 17 lines · Felipe Balbi

Hi,

Quoted 13 lines · Kishon Vijay Abraham I

Hi Felipe,

Quoted 10 lines · Felipe Balbi

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

Quoted 4 lines
Quoted 4 lines

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Okay. I'll start the test before I go for vacation next week.

Looks like the test couldn't complete and I see dumps [1] in my host PC. Here's the output of testusb [2].

[1] -> http://pastebin.ubuntu.com/15169114/
[2] -> http://pastebin.ubuntu.com/15169116/

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

#16 lore raw

Hi,

Quoted 29 lines · Kishon Vijay Abraham I
Quoted 29 lines
Quoted 11 lines
Quoted 11 lines · Felipe Balbi
Quoted 10 lines

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

Quoted 9 lines
Quoted 7 lines

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Quoted 7 lines
Quoted 1 line

Okay. I'll start the test before I go for vacation next week.

Looks like the test couldn't complete and I see dumps [1] in my host PC. Here's the output of testusb [2].

[1] -> http://pastebin.ubuntu.com/15169114/
[2] -> http://pastebin.ubuntu.com/15169116/

Does this also happen without this patch applied ?

Signature · 1 line
balbi

A message that is not in the archive (sent off-list or not yet received): [email protected]

#18 lore raw

Hi,

Quoted 35 lines · Felipe Balbi

Hi,

Quoted 31 lines · Kishon Vijay Abraham I
Quoted 30 lines
Quoted 11 lines
Quoted 11 lines · Felipe Balbi
Quoted 10 lines

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

Quoted 9 lines
Quoted 7 lines

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Okay. I'll start the test before I go for vacation next week.

Quoted 7 lines
Quoted 5 lines

Looks like the test couldn't complete and I see dumps [1] in my host PC. Here's the output of testusb [2].

[1] -> http://pastebin.ubuntu.com/15169114/
[2] -> http://pastebin.ubuntu.com/15169116/

Does this also happen without this patch applied ?

yeah. I could see that even without the patch.

I think I should update my host PC kernel and check (maybe it got fixed with the latest xhci driver).

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

#20 lore raw

Hi,

Quoted 38 lines · Kishon Vijay Abraham I
Quoted 38 lines
Quoted 36 lines · Kishon Vijay Abraham I
Quoted 23 lines
Quoted 11 lines
Quoted 11 lines · Felipe Balbi
Quoted 10 lines

That FIFO resizing logic was added to support OMAP5 ES1.0 which had a bogus default FIFO size. I can't remember the exact size of default FIFO, but it was less than one bulk superspeed packet (<1024) which would prevent USB3 from ever working on OMAP5 ES1.0.

However, OMAP5 ES1.0 support has been dropped by commit aa2f4b16f830 ("ARM: OMAP5: id: Remove ES1.0 support") which renders FIFO resizing unnecessary.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

tested this series on both dra7-evm and dra72-evm using mass storage gadget and msc.sh

both HS and SS ?

yes.. but the logs here were for only SS.

Quoted 4 lines
Quoted 4 lines

dra72-evm: http://pastebin.ubuntu.com/14887997/
dra7-evm: http://pastebin.ubuntu.com/14887975/

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

Let me know if you want me to do any other testing on dra7.

yeah, run testusb for a week or so, that usually catches odd bugs.

Okay. I'll start the test before I go for vacation next week.

Looks like the test couldn't complete and I see dumps [1] in my host PC. Here's the output of testusb [2].

[1] -> http://pastebin.ubuntu.com/15169114/
[2] -> http://pastebin.ubuntu.com/15169116/

Quoted 6 lines
Quoted 1 line

Does this also happen without this patch applied ?

yeah. I could see that even without the patch.

I think I should update my host PC kernel and check (maybe it got fixed with the latest xhci driver).

yeah, please do that and let me know ;-)

Signature · 1 line
balbi