From 3f833069eba8c37974a42970490c1a35b1511689 Mon Sep 17 00:00:00 2001 From: Rajesh Bhagat Date: Fri, 20 Nov 2015 12:44:41 +0530 Subject: drivers: dwc3: host: Change burst beat and outstanding pipelined transfers requests. This is required for better performance Signed-off-by: Nikhil Badola Signed-off-by: Rajesh Bhagat diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 4787d66..1f81243 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -495,6 +495,11 @@ static int dwc3_probe(struct platform_device *pdev) dwc3_writel(dwc->regs, DWC3_GFLADJ, GFLADJ_30MHZ_REG_SEL | GFLADJ_30MHZ(GFLADJ_30MHZ_DEFAULT)); + dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, + (dwc3_readl(dwc->regs, DWC3_GSBUSCFG0) & ~0xff) | 0xf); + dwc3_writel(dwc->regs, DWC3_GSBUSCFG1, + dwc3_readl(dwc->regs, DWC3_GSBUSCFG1) | 0xf00); + if (IS_ENABLED(CONFIG_USB_DWC3_HOST)) dwc->dr_mode = USB_DR_MODE_HOST; else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET)) -- cgit v0.10.2 From 56afee9a0c0065d0359aa801f5bd33389bfbb2ee Mon Sep 17 00:00:00 2001 From: Rajesh Bhagat Date: Fri, 20 Nov 2015 12:45:31 +0530 Subject: drivers: dwc3 : Add support for USB snooping Add support for USB3 snooping by asserting bits in register DWC3_GSBUSCFG0 for data and descriptor Signed-off-by: Nikhil Badola Signed-off-by: Rajesh Bhagat diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 1f81243..736f79a 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -500,6 +500,10 @@ static int dwc3_probe(struct platform_device *pdev) dwc3_writel(dwc->regs, DWC3_GSBUSCFG1, dwc3_readl(dwc->regs, DWC3_GSBUSCFG1) | 0xf00); + /* Enable Snooping */ + dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, + dwc3_readl(dwc->regs, DWC3_GSBUSCFG0) | 0x22220000); + if (IS_ENABLED(CONFIG_USB_DWC3_HOST)) dwc->dr_mode = USB_DR_MODE_HOST; else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET)) -- cgit v0.10.2 From e8c288e0e5aa820d60c8b9aed143e8adca8c6fca Mon Sep 17 00:00:00 2001 From: Rajesh Bhagat Date: Fri, 20 Nov 2015 12:46:40 +0530 Subject: drivers: dwc3: Set dma ops for xhci dev Set dmap ops for xhci dev same as dwc3 dev Signed-off-by: Nikhil Badola Signed-off-by: Rajesh Bhagat diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index 32db328..98015ce 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -36,6 +36,7 @@ int dwc3_host_init(struct dwc3 *dwc) xhci->dev.parent = dwc->dev; xhci->dev.dma_mask = dwc->dev->dma_mask; xhci->dev.dma_parms = dwc->dev->dma_parms; + set_dma_ops(&xhci->dev, dwc->dev->archdata.dma_ops); dwc->xhci = xhci; -- cgit v0.10.2 From dd05648ba8c2327863dbef3f0136876a7f2ae874 Mon Sep 17 00:00:00 2001 From: Rajesh Bhagat Date: Fri, 20 Nov 2015 12:47:05 +0530 Subject: arm: dts: ls1021a: Add dma-coherent property to usb3 node This sets dma ops as coherent for usb 3.0 platform device Signed-off-by: Nikhil Badola Signed-off-by: Rajesh Bhagat diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi index c44f0de..96a7dd2 100644 --- a/arch/arm/boot/dts/ls1021a.dtsi +++ b/arch/arm/boot/dts/ls1021a.dtsi @@ -801,6 +801,7 @@ interrupts = ; dr_mode = "host"; configure-gfladj; + dma-coherent; }; pcie@3400000 { -- cgit v0.10.2