Re: BUG report: usb: dwc3: Link TRB triggered an intterupt without IOC being setted

2019-10-23 Thread Felipe Balbi
SABLE_PARKMODE_SS to 1 can work around this bug. Is this something that affects some versions but not others? If the case, we should teach the driver to handle this based on a revision check. cheers -- balbi signature.asc Description: PGP signature

Re: [PATCH 2/2] usb: gadget: composite: Support more than 500mA MaxPower

2019-10-23 Thread Felipe Balbi
return DIV_ROUND_UP(min(val, 500U), 2); > else > - return DIV_ROUND_UP(val, 8); > + /* USB 3.x supports 900mA, but that isn't divisible by 8... */ > + return DIV_ROUND_UP(min(val, 896U), 8); DIV_ROUND_UP(896, 8) = 112 DIV_ROUND_UP(900, 8) = 113 Why value do you want here? -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: dwc3: Add shutdown to platform_driver

2019-10-22 Thread Felipe Balbi
Hi, (sorry for the long delay) Vicente Bergas writes: > On Tuesday, August 27, 2019 2:16:20 PM CEST, Vicente Bergas wrote: >> On Tuesday, August 27, 2019 1:53:04 PM CEST, Felipe Balbi wrote: >>> Hi, >>> >>> Vicente Bergas writes: >>>> On Sa

Re: [PATCH 1/4] usb: dwc3: gadget: Don't send unintended link state change

2019-10-22 Thread Felipe Balbi
> + /* Don't send link state change request */ > + reg &= ~DWC3_DCTL_ULSTCHNGREQ_MASK; > dwc3_writel(dwc->regs, DWC3_DCTL, reg); Let's a small macro or a little function to wrap this. Something dwc3_dctl_write_safe() or something long those line. Then that macro/function will make sure to clear those bits. -- balbi signature.asc Description: PGP signature

Re: [PATCH] USB/Gadget: Fix race between gether_disconnect and rx_submit

2019-10-21 Thread Felipe Balbi
ot;terminate on short read" convention; > @@ -215,6 +215,7 @@ static void defer_kevent(struct eth_dev *dev, int flag) > if (dev->port_usb->is_fixed) > size = max_t(size_t, size, dev->port_usb->fixed_out_len); > > + spin_unlock_irqrestore(&dev->lock, flags); > skb = __netdev_alloc_skb(dev->net, size + NET_IP_ALIGN, gfp_flags); > if (skb == NULL) { > DBG(dev, "no rx skb\n"); > -- Doesn't apply. Please rebase and resend. checking file drivers/usb/gadget/function/u_ether.c Hunk #1 FAILED at 186. Hunk #2 succeeded at 217 with fuzz 2 (offset 2 lines). 1 out of 2 hunks FAILED -- balbi

Re: how to test g_webcam

2019-10-14 Thread Felipe Balbi
4 zsI ==> -11 >>> uvc-gadget-275 [001] .n.. 215.960619: dwc3_free_request: ep2in: >>> req d9961026 length 0/1024 zsI ==> -11 >> >> So, first things first: >> >> Let's figure out what those class requests are and why are they *always* >> stalled. UVC class spec should answer that. > > I tried to decipher 2 class specific requests that we get. > >> >> Then we need to find out why it takes 1.5 seconds for uvc-gadget to >> queue more data. >> > > Not sure how to do that. Look at the source for uvc-gadget. If I were to guess, I'd say uvc-gadget prepares frames as a function of the requested bandwidth. It probably goes to sleep periodically until it thinks there's more data to send. Best -- balbi

Re: how to test g_webcam

2019-10-14 Thread Felipe Balbi
Hi, Roger Quadros writes: >>> I'm having a hard time to figure out how to get g_webcam working with >>> the tip of http://git.ideasonboard.org/uvc-gadget.git >>> >>> Platform I'm using is dra7-evm with dwc3 controller. >> >> which arguments are you passing to g_webcam? > > I've tried a couple

Re: how to test g_webcam

2019-10-11 Thread Felipe Balbi
ebcam? > What platform was g_webcam and uvc-gadget last tested with? I think we went through this a while back, but the problem back then was related to bad arguments being passed to g_webcam. You should still be able to find our discussion on linux-usb. -- balbi

Re: [PATCH V2] usb: gadget: composite: Fix possible double free memory bug

2019-09-30 Thread Felipe Balbi
e > free. > > Hence, Fix this issue by setting request and buffer pointer to NULL after > kfree. > > Signed-off-by: Chandana Kishori Chiluveru > > Changes in v2: > - Modified commit text. These two lines... > --- ... should be after this tearline :-) We don't need that in the commit log -- balbi signature.asc Description: PGP signature

RE: BUG report: usb: dwc3: Link TRB triggered an intterupt without IOC being setted

2019-09-25 Thread Felipe Balbi
ncy (or flushing (etc)) issue. XHCI has a HW-configurable maximum number of segments in a ring. AFAICT, xhci driver doesn't take that into consideration today. Perhaps the HW in question doesn't like more than 3 segments. Mathias, what was the register to check this? Do you remember? -- balbi signature.asc Description: PGP signature

Re: BUG report: usb: dwc3: Link TRB triggered an intterupt without IOC being setted

2019-09-23 Thread Felipe Balbi
ses may lead the link TRB trigger a interrupt when > the IOC bit is not setted? No idea, perhaps you should have a deeper look at both Synopsys databook and xHCI specification. In any case, v4.9 is really old. Good luck -- balbi

Re: BUG report: usb: dwc3: Link TRB triggered an intterupt without IOC being setted

2019-09-22 Thread Felipe Balbi
ff0 > occurs a transfer event, but this DMA address is not in the trb ring, > then the driver report an error(and followed a few error logs witch > invalid DMA address). > 2. I dump the data of the address(0x1eb0fff0) and find the IOC bit is > not set, see as below: > # dump_reg.sh 0x1eb0fff0 4 > 0x1eb0fff0:0x1EB1 0x 0x 0x1800 -- balbi

[GIT PULL] USB changes for v5.4 merge window

2019-08-30 Thread Felipe Balbi
^__^ \ (oo)\___ (__)\ )\/\ ||w | || || The following changes since commit e21a712a9685488f5ce80495b37b9fdbe96c230d: Linux 5.3-rc3 (2019-08-04 18:40:12 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/ker

Re: [PATCH] usb: dwc3: gadget: Workaround Mirosoft's BESL check

2019-08-28 Thread Felipe Balbi
t;is_utmi_l1_suspend) > - params->besl_deep = min_t(u8, dwc->hird_threshold, 15); > + params->besl_deep = > + clamp_t(u8, dwc->hird_threshold, 2, 15); > } > > /* U1 Device exit Latency */ > -- > 2.11.0 > -- balbi

Re: [PATCH 1/2] usb: gadget: net2280: Move all "ll" registers in one structure

2019-08-28 Thread Felipe Balbi
Hi, Benjamin Herrenschmidt writes: > On Wed, 2019-08-28 at 13:09 +0300, Felipe Balbi wrote: >> Hi, >> >> Benjamin Herrenschmidt writes: >> >> > The split into multiple structures of the "ll" register bank is >> > impractical. It makes

Re: [PATCH 1/2] usb: gadget: net2280: Move all "ll" registers in one structure

2019-08-28 Thread Felipe Balbi
ted in build break. Can you collect all the dependencies and send a single series? I'm applying on top of my testing/next branch. cheers -- balbi signature.asc Description: PGP signature

RE: [EXT] Re: [PATCH v1] usb: dwc3: remove the call trace of USBx_GFLADJ

2019-08-27 Thread Felipe Balbi
>> >> >> > >> >> >> > reg = dwc3_readl(dwc->regs, DWC3_GFLADJ); >> >> >> > dft = reg & DWC3_GFLADJ_30MHZ_MASK; >> >> >> > - if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj, >> >> >&g

Re: [PATCH] usb: dwc3: Add shutdown to platform_driver

2019-08-27 Thread Felipe Balbi
gt;> { >> struct dwc3_of_simple *simple = dev_get_drvdata(dev); >> @@ -190,6 +195,7 @@ MODULE_DEVICE_TABLE(of, of_dwc3_simple_match); >> static struct platform_driver dwc3_of_simple_driver = { >> .probe = dwc3_of_simple_probe, >> .remove = d

Re: NULL pointer issue due to .pullup timeout at dwc3

2019-08-26 Thread Felipe Balbi
Hi, Peter Chen writes: > Hi Balbi, > > When do configfs function add and remove stress test, I find dwc3 > gadget .pullup will timeout if there is a request on the way. Even I what do you mean by "a request on the way"? > enlarge the delay, there is still timeout fo

Re: [PATCH v2] USB: phy: fsl-usb: convert platform driver to use dev_groups

2019-08-15 Thread Felipe Balbi
Hi, Greg Kroah-Hartman writes: > Platform drivers now have the option to have the platform core create > and remove any needed sysfs attribute files. So take advantage of that > and do not register "by hand" any sysfs files. > > Cc: Felipe Balbi > Signed-off-by: G

Re: [PATCH v10 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-14 Thread Felipe Balbi
vers/usb/cdns3/host.c >> create mode 100644 drivers/usb/cdns3/trace.c >> create mode 100644 drivers/usb/cdns3/trace.h >> > > > > It is getting really hard to review this patch as it is so large. > I would still suggest to split host/gadget/drd if possible. > Felipe, any objections? Maybe you guys can do a few rounds off-list then? -- balbi

Re: kexec on rk3399

2019-08-14 Thread Felipe Balbi
r_resetc_put; @@ -121,9 +129,6 @@ static int dwc3_of_simple_remove(struct platform_device *pdev) clk_bulk_put_all(simple->num_clocks, simple->clks); simple->num_clocks = 0; - if (!simple->pulse_resets) - reset_control_assert(simple->resets); - reset_control_put(simple->resets); pm_runtime_disable(dev); Can you test? -- balbi

Re: kexec on rk3399

2019-08-14 Thread Felipe Balbi
tatic int dwc3_core_init_for_resume(struct dwc3 *dwc) > { > @@ -1866,6 +1873,7 @@ > static struct platform_driver dwc3_driver = { > .probe = dwc3_probe, > .remove = dwc3_remove, > + .shutdown = dwc3_shutdown, > .driver = { > .name = "dwc3", > .of_match_table = of_match_ptr(of_dwc3_match), > > and leaving dwc3-of-simple.c as is, the issue persisted. That's because your reset controller is not passed to dwc3 core, only to your glue layer. -- balbi

RE: [EXT] Re: [PATCH v1] usb: dwc3: remove the call trace of USBx_GFLADJ

2019-08-14 Thread Felipe Balbi
dft = reg & DWC3_GFLADJ_30MHZ_MASK; >> >> > - if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj, >> >> > - "request value same as default, ignoring\n")) { >> >> > + if (dft != dwc->fladj) { >> >> >> >> if the

Re: kexec on rk3399

2019-08-14 Thread Felipe Balbi
.of_match_table = of_dwc3_simple_match, > > If this patch is OK after review i can resubmit it as a pull request. not a pull request, just send a patch using git send-email > Should a similar change be applied to drivers/usb/dwc3/core.c ? Is it necessary? We haven't had any bu

RE: [PATCH] xhci: wait CNR when doing xhci resume

2019-08-13 Thread Felipe Balbi
ROR: "xhci_handshake" [drivers/usb/host/xhci-pci.ko] undefined! > > So I write my own function to check CNR. yeah, move that code to xhci_suspend(). It's valid for any XHCI host. -- balbi

Re: [PATCH v10 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-12 Thread Felipe Balbi
river know to fall back to HW based role >>> switching? >> >> Use a 'disconnect' or 'suspend' event to go reset it? But that should, >> probably, be done at kernel space, no? >> > > Yes that could be one option. > So after a disconnect, sysfs role should reflect actual hardware role. > correct? that would be my expectation -- balbi

Re: [Patch V6 7/8] usb: gadget: Add UDC driver for tegra XUSB device mode controller

2019-08-12 Thread Felipe Balbi
aps? #define DB_STREAMID(x) (((x) << 16) & DB_STREAMID_MASK) Otherwise you end up defining the mask twice. -- balbi signature.asc Description: PGP signature

Re: [PATCH v10 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-12 Thread Felipe Balbi
e role so writes "device" > to > mode switch sysfs. port transitions to "device" role. > > Now, how does controller driver know to fall back to HW based role switching? Use a 'disconnect' or 'suspend' event to go reset it? But that should, probably, be done at kernel space, no? -- balbi signature.asc Description: PGP signature

RE: [PATCH v9 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-12 Thread Felipe Balbi
e coherent API anyway. */ WARN_ON(irqs_disabled()); if (!cpu_addr) return; debug_dma_free_coherent(dev, size, cpu_addr, dma_handle); if (dma_is_direct(ops)) dma_direct_free(dev, size, cpu_addr, dma_handle, attrs); else if (ops->free) ops->free(dev, size, cpu_addr, dma_handle, attrs); } EXPORT_SYMBOL(dma_free_attrs); maybe you're gonna have to fire up a workqueue to free this memory for you :-( Unless someone else has better ideas. Alan, Greg, any ideas? -- balbi signature.asc Description: PGP signature

[GIT PULL] USB fixes for v5.3-rc

2019-08-12 Thread Felipe Balbi
n the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/fixes-for-v5.3-rc4 for you to fetch changes up to 4a56a478a525d6427be90753451c40e1327caa1a: usb: gadget: mass_storage: Fix races between fsg_disable and fsg_set_alt (2019-08-12 08:55:24

RE: [PATCH v9 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-12 Thread Felipe Balbi
In free time. >> >>Yet another thread? Can't you just run this right before giving back the >>USB request? So, don't do it from IRQ handler, but from giveback path? > > Do you mean in: > if (request->complete) { > spin_unlock(&priv_dev->lock); > if (priv_dev->run_garbage_collector) { > > } > usb_gadget_giveback_request(&priv_ep->endpoint, > request); > spin_lock(&priv_dev->lock); > } > ?? right, you can do it right before giving back the request. Or right after. > I ask because this is finally also called from IRQ handler: > > cdns3_device_thread_irq_handler > -> cdns3_check_ep_interrupt_proceed > -> cdns3_transfer_completed > -> cdns3_gadget_giveback > -> usb_gadget_giveback_request Did you notice that it doesn't reenable interrupts, though? -- balbi signature.asc Description: PGP signature

RE: [PATCH v9 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-12 Thread Felipe Balbi
o free the buffer, you end up creating the possibility for a race >>condition. Specially since you don't mask all interrupt events. The >>moment you reenable interrupts, one of your not-unmasked interrupt >>sources could trigger, then top-half gets scheduled which tries to wake >>up the IRQ thread again and things go boom. > > Ok, I think I understand. So I have 3 options: > 1. Mask the USB_IEN and EP_IEN interrupts, but then I can lost some USB_ISTS > events. It's dangerous options. sure sounds dangerous, but also sounds quite "peculiar" :-) > 2. Remove implementation of handling unaligned buffers and assume that > upper layer will worry about this. What with vendor specific drivers that > can be used by companies and not upstreamed ? > It could be good to have such safety mechanism even if it is not > currently used. dunno. It may become dead code that's NEVER used :-) > 3. Delegate this part of code for instance to separate thread that will be > called >In free time. Yet another thread? Can't you just run this right before giving back the USB request? So, don't do it from IRQ handler, but from giveback path? -- balbi signature.asc Description: PGP signature

Re: [PATCH] xhci: wait CNR when doing xhci resume

2019-08-12 Thread Felipe Balbi
dor == PCI_VENDOR_ID_NVIDIA) { > + retval = xhci_poll_cnr(hcd); you could just use xhci_handshake() here, right? -- balbi signature.asc Description: PGP signature

RE: [EXT] Re: [PATCH v1] usb: dwc3: remove the call trace of USBx_GFLADJ

2019-08-11 Thread Felipe Balbi
equest value same as default, ignoring\n")) { >> > + if (dft != dwc->fladj) { >> >> if the value isn't different, why do you want to change it? >> >> -- >> Balbi > Hi Balbi, > > I don't change any value. I was remove that call tr

RE: [PATCH v9 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-11 Thread Felipe Balbi
test. >>> So, driver has been tested for such case. During this test driver during >>> transferring data generate a huge number of LPM interrupts which >>> are usb interrupts. >>> >>> I can't block usb interrupts interrupts because: >>> /* >>> * WORKAROUND: CDNS3 controller has issue with hardware resuming >>> * from L1. To fix it, if any DMA transfer is pending driver >>> * must starts driving resume signal immediately. >>> */ >> >>I can't see why this would prevent you from defering handling to thread >>handler. >> > > I also will try to move it, but this change can has impact on performance. how much is the impact? What's the impact? Why does this impact performance? >>>>> + struct cdns3_aligned_buf *buf, *tmp; >>>>> + >>>>> + list_for_each_entry_safe(buf, tmp, &priv_dev->aligned_buf_list, >>>>> + list) { >>>>> + if (!buf->in_use) { >>>>> + list_del(&buf->list); >>>>> + >>>>> + spin_unlock_irqrestore(&priv_dev->lock, flags); >>>> >>>>creates the possibility of a race condition >>> Why? In this place the buf can't be used. >> >>but you're reenabling interrupts, right? > > Yes, driver frees not used buffers here. > I think that it's the safest place for this purpose. I guess you missed the point a little. Since you reenable interrupts just to free the buffer, you end up creating the possibility for a race condition. Specially since you don't mask all interrupt events. The moment you reenable interrupts, one of your not-unmasked interrupt sources could trigger, then top-half gets scheduled which tries to wake up the IRQ thread again and things go boom. >>>>> + dma_free_coherent(priv_dev->sysdev, buf->size, >>>>> + buf->buf, >>>>> + buf->dma); >>>>> + spin_lock_irqsave(&priv_dev->lock, flags); >>>>> + >>>>> + kfree(buf); >>>> >>>>why do you even need this "garbage collector"? >>> >>> I need to free not used memory. The once allocated buffer will be >>> associated with >>> request, but if request.length will be increased in usb_request then driver >>> will >>> must allocate the bigger buffer. As I remember I couldn't call >>> dma_free_coherent >>> in interrupt context so I had to move it to thread handled. This flag was >>> used to avoid >>> going through whole aligned_buf_list every time. >>> In most cases this part will never called int this place >> >>Did you try, btw, setting the quirk flag which tells gadget drivers to >>always allocate buffers aligned to MaxPacketSize? Wouldn't that be enough? > > If found only quirk_ep_out_aligned_size flag, but it align only buffer size. > > DMA used by this controller must have buffer address aligned to 8. > I think that on most architecture kmalloc should guarantee such aligned. right, it should be aligned on PAGE_SIZE > The problem was detected on NXP testing board. and what was the alignment on that? IIRC, ARM had the same alignment requirements as x86. Where you sing SLUB allocator on that NXP board, perhaps? -- balbi

Re: [PATCH v5 2/6] usb: gadget: u_serial: reimplement console support

2019-08-09 Thread Felipe Balbi
ucceeded at 1363 (offset -2 lines). 1 out of 10 hunks FAILED Could you rebase on my testing/next? -- balbi

Re: [Patch V6 7/8] usb: gadget: Add UDC driver for tegra XUSB device mode controller

2019-08-09 Thread Felipe Balbi
> dynamically linked module called "udc-xilinx" and force all > gadget drivers to also be dynamically linked. > > +config USB_TEGRA_XUDC > + tristate "NVIDIA Tegra Superspeed USB 3.0 Device Controller" > + depends on ARCH_TEGRA I need at least a COMPILE_TEST here. -- balbi

Re: [PATCH v10 0/6] Introduced new Cadence USBSS DRD Driver.

2019-08-09 Thread Felipe Balbi
I agree with Roger. Use role switch framework for production, not debugfs. -- balbi

Re: [PATCH] [RFC] usb: gadget: hid: Add "single_ep" option

2019-08-09 Thread Felipe Balbi
Hi, Benjamin Herrenschmidt writes: > On Fri, 2019-08-09 at 11:08 +0300, Felipe Balbi wrote: >> >> that works too. Another option would to introduce two options, >> has_input_report and has_output_report and have them true by default. >> >> Then user ca

Re: [PATCH] [RFC] usb: gadget: hid: Add "single_ep" option

2019-08-09 Thread Felipe Balbi
Hi, Benjamin Herrenschmidt writes: > On Fri, 2019-08-09 at 08:31 +0300, Felipe Balbi wrote: >> Hi, >> >> Benjamin Herrenschmidt writes: >> >> > Some host drivers really do not like keyboards having an OUT >> > endpoint. >> > >> &

Re: [PATCH 03/22] ARM: omap1: move omap15xx local bus handling to usb.c

2019-08-08 Thread Felipe Balbi
) along with > the computation. > > Similar, a portion of the ohci-omap driver is just there for configuring > the memory translation, this too can get moved into usb.c > > Signed-off-by: Arnd Bergmann For all of these patches related to usb: Acked-by: Felipe Balbi Thanks for cleaning this up, Arnd. -- balbi

Re: [PATCH] [RFC] usb: gadget: hid: Add "single_ep" option

2019-08-08 Thread Felipe Balbi
ds > if they are ever to be used with such systems as host. > > Signed-off-by: Benjamin Herrenschmidt Could you come up with a slightly more descriptive name? single_ep doesn't give me any hint of which endpoint will be left around. Perhaps call it 'disable_output_report'? -- balbi

Re: [balbi-usb:testing/next 2/13] drivers/usb/phy/phy-tahvo.c:434:4: error: 'struct device_driver' has no member named 'dev_groups'; did you mean 'groups'?

2019-08-08 Thread Felipe Balbi
Hi, kbuild test robot writes: > tree: > https://kernel.googlesource.com/pub/scm/linux/kernel/git/balbi/usb.git > testing/next > head: d06a2c3f683a591efce9d02b2b60ef346df5ae02 > commit: 2a714ea6d90d9d1b510ba424652a2e3dfd547267 [2/13] USB: phy: tahvo: > convert plat

Re: [PATCH] usb: dwc3: remove generic PHYs forwarding for XHCI device

2019-08-08 Thread Felipe Balbi
> void dwc3_host_exit(struct dwc3 *dwc) > { > - phy_remove_lookup(dwc->usb2_generic_phy, "usb2-phy", > - dev_name(dwc->dev)); > - phy_remove_lookup(dwc->usb3_generic_phy, "usb3-phy", > - dev_name(dwc->dev)); > platform_device_unregister(dwc->xhci); > } Roger, could you verify that this doesn't regress any of your platforms? Thanks -- balbi signature.asc Description: PGP signature

Re: [PATCH v3] usb: dwc3: gadget: trb_dequeue is not updated properly

2019-08-08 Thread Felipe Balbi
t; > >> > ret = dwc3_gadget_ep_reclaim_completed_trb(dep, req, >> > - trb, event, status, true); >> > + trb, event, status, chain); >> > if (ret) >> > break; >> > } >> >> There was already a fix a long time ago by Anurag. But it never made it >> to the kernel mainline. You can check this out: >> https://patchwork.kernel.org/patch/10640137/ > > So, back from a vacation last week, and just validated that both Fei's > patch and a forward ported version of this patch Thinh pointed out > both seem to resolve the usb stalls I've been seeing sinice 4.20 w/ > dwc3 hardware on both hikey960 and dragonboard 845c. > > Felipe: Does Anurag's patch above make more sense as a proper fix? I think it's enough to check only the TRB. We won't get events for bits we didn't enable on the TRB. The only problem here is when we get IOC event for multiple TRBs where only the last one has IOC. So, instead of checking: if (event->status & IOC && trb->ctrl & IOC) It's probably enough to check: if (tbc->ctrl & IOC) Could you check that? Cheers -- balbi signature.asc Description: PGP signature

Re: [PATCH v6 46/57] usb: Remove dev_err() usage after platform_get_irq()

2019-08-08 Thread Felipe Balbi
sb/gadget/udc/renesas_usb3.c | 4 +--- > drivers/usb/gadget/udc/s3c-hsudc.c| 4 +--- > drivers/usb/gadget/udc/udc-xilinx.c | 4 +--- For dwc2, dwc3, gadget and usb/phy: Acked-by: Felipe Balbi -- balbi signature.asc Description: PGP signature

Re: [PATCH v2 2/2 RESEND] usb: dwc3: remove generic PHY calibrate() calls

2019-08-08 Thread Felipe Balbi
Hi, Marek Szyprowski writes: > On 2019-08-08 11:51, Felipe Balbi wrote: >> Marek Szyprowski writes: >>> Calls to USB2 generic PHY calibrate() method has been moved to HCD core, >>> which now successfully handles generic PHYs and their calibration after >>>

Re: [PATCH v2 2/2 RESEND] usb: dwc3: remove generic PHY calibrate() calls

2019-08-08 Thread Felipe Balbi
wc->usb2_generic_phy); are you sure you're the only one using phy_calibrate()? I don't want any regressions because of this :-p -- balbi signature.asc Description: PGP signature

RE: [PATCH V2] usb: dwc3: gadget: trb_dequeue is not updated properly

2019-08-07 Thread Felipe Balbi
/16384 zsI ==> 0 <...>-3165 [001] d..1 164.191778: dwc3_event: event (4084): ep1out: Transfer In Progress [0] (sIm) <...>-3165 [001] d..1 164.191779: dwc3_complete_trb: ep1out: trb 73eb9c36 buf 77c62000 size 0 ctrl 0818 (hlcS:sC:normal) <...>-3165 [001] d..1 164.191788: dwc3_gadget_giveback: ep1out: req ca060a32 length 16384/16384 zsI ==> 0 kworker/u8:5-1165 [001] 164.191815: dwc3_free_request: ep1out: req ca060a32 length 16384/16384 zsI ==> 0 <...>-3165 [001] d..1 164.192315: dwc3_event: event (4084): ep1out: Transfer In Progress [0] (sIm) <...>-3165 [001] d..1 164.192316: dwc3_complete_trb: ep1out: trb 17050f80 buf 77c63000 size 0 ctrl 001c (hlCS:sc:normal) <...>-3165 [001] d..1 164.192325: dwc3_gadget_giveback: ep1out: req af8aa80e length 16384/16384 zsI ==> 0 kworker/u8:5-1165 [001] 164.192353: dwc3_free_request: ep1out: req af8aa80e length 16384/16384 zsI ==> 0 <...>-3165 [001] d..1 164.192849: dwc3_event: event (4084): ep1out: Transfer In Progress [0] (sIm) <...>-3165 [001] d..1 164.192851: dwc3_complete_trb: ep1out: trb c1f0fd23 buf 77c64000 size 0 ctrl 001c (hlCS:sc:normal) <...>-3165 [001] d..1 164.192860: dwc3_gadget_giveback: ep1out: req 66963d3c length 16384/16384 zsI ==> 0 kworker/u8:5-1165 [002] 164.192981: dwc3_free_request: ep1out: req 66963d3c length 16384/16384 zsI ==> 0 Please give further of how you're reproducing this. Which kernel, which gadget driver, do you have out-of-tree patches? Why do we see these non-sequential TRB addresses. Are you using IOMMU, perhaps? Something made dwc3 super confused, at least judging by the logs. cheers -- balbi

Re: [PATCH v1] usb: dwc3: remove the call trace of USBx_GFLADJ

2019-08-07 Thread Felipe Balbi
t; > reg = dwc3_readl(dwc->regs, DWC3_GFLADJ); > dft = reg & DWC3_GFLADJ_30MHZ_MASK; > - if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj, > - "request value same as default, ignoring\n")) { > + if (dft != dwc->fladj) { if the value isn't different, why do you want to change it? -- balbi

RE: [PATCH v9 5/6] usb:cdns3 Add Cadence USB3 DRD Driver

2019-08-07 Thread Felipe Balbi
e condition > Why? In this place the buf can't be used. but you're reenabling interrupts, right? >>> + dma_free_coherent(priv_dev->sysdev, buf->size, >>> + buf->buf, >>> + buf->dma); >>> + spin_lock_irqsave(&priv_dev->lock, flags); >>> + >>> + kfree(buf); >> >>why do you even need this "garbage collector"? > > I need to free not used memory. The once allocated buffer will be associated > with > request, but if request.length will be increased in usb_request then driver > will > must allocate the bigger buffer. As I remember I couldn't call > dma_free_coherent > in interrupt context so I had to move it to thread handled. This flag was > used to avoid > going through whole aligned_buf_list every time. > In most cases this part will never called int this place Did you try, btw, setting the quirk flag which tells gadget drivers to always allocate buffers aligned to MaxPacketSize? Wouldn't that be enough? >>> + TP_printk("%s: req: %p, req buff %p, length: %u/%u %s%s%s, status: %d," >>> + cd " trb: [start:%d, end:%d: virt addr %pa], flags:%x ", >>> + __get_str(name), __entry->req, __entry->buf, __entry->actual, >>> + __entry->length, >>> + __entry->zero ? "zero | " : "", >>> + __entry->short_not_ok ? "short | " : "", >>> + __entry->no_interrupt ? "no int" : "", >> >>I guess you didn't really think the formatting through. Think about what >>happens if you get a request with only zero flag or only short flag. How >>will this log look like? > > Like this: > cdns3_gadget_giveback: ep0: req: 71a6a5f5, req buff 8d40c4db, > length: 60/60 zero | , status: 0, trb: [start:0, end:0: virt addr (null)], > flags:0 > > Is it something wrong with this?. Maybe one extra sign |. yes, the extra | :-) This is one reason why I switched to character flags where a lower case character means flag is cleared while uppercase means it's set. -- balbi

Re: [PATCH v9 2/6] usb:gadget Separated decoding functions from dwc3 driver.

2019-08-07 Thread Felipe Balbi
e #ifdefe is not sufficient. > > You might need to do something like > > #if defined(CONFIG_TRACING) > > extern const char *usb_decode_ctrl(..) > > #else > > static inline const char *usb_decode_ctrl(..) { > return NULL; > } > > #endif This is what I mean. They shouldn't be used outside of TRACING, but it's far safer to have the stubs. -- balbi

RE: EHSET USB testing

2019-08-07 Thread Felipe Balbi
but we're not able to set the >> appropriate port features for some reason. >> >> My next thought is to double-check the logic of the ehset driver as it >> relates to >> xhci_hcd. I would like to make sure that we are enabling the USB 2.0 test >> modes >> according to the xHCI spec. I'm concerned that we might be experiencing an >> error >> because we aren't setting the test mode acording to section 4.19.6 of the >> xHCI >> specification. >> >> Thanks in advance for reviewing the logs, Mathias! I appreciate any time and >> feedback you may be able to provide. Let me know if you have any further >> questions or need more information from me. I look forward to hearing from >> you >> soon! >> > > You may not enter test mode at all. > > Check flow: xhci_hub_control->xhci_enter_test_mode. The thing is that we need to enable certification test as well, otherwise we will never have a chance of getting linux products with a USB-IF logo out of vanilla mainline tree. Seems to me that the only thing missing is a way to enter a particular test mode based on VID/PID pair. All the functionality is already in place, just this little extra hook is missing. -- balbi

Re: [heads-up] deadlock in configfs_symlink()

2019-08-05 Thread Felipe Balbi
mkdir blah > cd blah/configs > mkdir foo.1 > cd foo.1 > ln -s /sys/kernel/config/usb_gadget/blah/configs/foo.1/no-such-dir/ barf I'll try to reproduce on my end. Added linux-usb to the loop -- balbi

Re: Titan Ridge xHCI may stop to working after re-plugging the dock

2019-07-19 Thread Felipe Balbi
est, and used latest mainline kernel. > Now the issue can be reproduced at the very first time I plugged the > docking station. > > Attach dmesg to BKO since there are lots of message after XHCI dyndbg is > enabled. I saw that you annotated the plug, but not the unplug. Where does the unplug start? There are many places where it could be, but I need to be sure. Also, wasn't it so that the problem is when you *replug* the dock? So can you better describe what you're doing? Are you booting with dock connected then disconnect and reconnect or are you booting without dock and it fails on first plug? What are you consider a fail here? Can't you see the xhci bus? USB Devices don't show? What do you have on lsusb -t? Best regards -- balbi signature.asc Description: PGP signature

Re: [PATCH v3] usb: dwc3: gadget: trb_dequeue is not updated properly

2019-07-19 Thread Felipe Balbi
ret = dwc3_gadget_ep_reclaim_completed_trb(dep, req, > - trb, event, status, true); > + trb, event, status, chain); this is definitely a valid fix :-) I'm not convinced about that IOC && !chain above, however. Also, if "chain" is always trb->ctrl & DWC3_TRB_CTRL_CHN, we can get rid of that argument altogether and have the callee handle it internally, but that's something else, subject to another patch. -- balbi signature.asc Description: PGP signature

RE: [PATCH V2] usb: dwc3: gadget: trb_dequeue is not updated properly

2019-07-19 Thread Felipe Balbi
near case is correct or not. That function *must* be called for all cases. We want to reduce the amount of special cases so code is more straight forward and easier to maintain. Again, please collect tracepoints of the failure case with the latest tag from Linus, otherwise you won't be able to c

Re: Titan Ridge xHCI may stop to working after re-plugging the dock

2019-07-19 Thread Felipe Balbi
ccording to what Kai-Heng said, xHCI stops working even after repluggin the Dock. We could be dealing with two bugs here: 1. Spurious PME event being generated by an unexistent device 2. xHCI not handling hot-plug very well Kai-Heng, please run your tests again and make note of when you

Re: [PATCH V2] usb: dwc3: gadget: trb_dequeue is not updated properly

2019-07-18 Thread Felipe Balbi
1; This can't be true because we cleared HWO up above | if (event->status & DEPEVT_STATUS_SHORT && !chain) | return 1; can only be true for last TRB | if (event->status & DEPEVT_STATUS_IOC) | return 1; If we have a short packet, then we may fall here. Is that the case? Please share dwc3 tracepoints of the problem happening so I can verify what's going on. -- balbi

Re: dwc3 Disable Compliance Mode

2019-07-14 Thread Felipe Balbi
else reg &= ~DWC3_GCTL_DISSCRAMBLE; + reg |= DWC3_GCTL_DISSCRAMBLE; if (dwc->u2exit_lfps_quirk) reg |= DWC3_GCTL_U2EXIT_LFPS; Note that you should NOT run your product with this bit set (meaning, without scrambling disabled) as that will have an effect in EMI. Still, it may help understand if the redriver is getting confused with the scrambling or not. Best -- balbi

Re: dwc3 Disable Compliance Mode

2019-07-12 Thread Felipe Balbi
> -0 [003] dNs2 184.588232: dwc3_core: Compliance Mode >> > detected. Attempting recovery routine >> >> Don't we get an interrupt for Compliance mode entry? > > Not that I've seen, surprisingly. My compliance mode recovery mechanism > looks

Re: dwc3 Disable Compliance Mode

2019-07-11 Thread Felipe Balbi
5 [002] d..1 182.541976: dwc3_event: event (00150301): > Link Change [RX.Detect] > irq/23-dwc3-1115 [002] d..1 182.541982: dwc3_event: event (00170301): > Link Change [Polling] > -0 [003] .Ns1 184.588211: dwc3_core: Tick! Checking for > compliance mode > > -0 [003] dNs2 184.588232: dwc3_core: Compliance Mode > detected. Attempting recovery routine Don't we get an interrupt for Compliance mode entry? cheers -- balbi

[GIT PULL part2] USB: changes for v5.3 merge window

2019-07-03 Thread Felipe Balbi
following changes since commit aa23ce847ddac1fd5ffe987ff12e12ff48318e45: usb: dwc3: remove unused @lock member of dwc3_ep struct (2019-06-20 11:50:19 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v5.3-part2 for yo

[PATCH] usb: dwc3: pci: add support for TigerLake Devices

2019-07-03 Thread Felipe Balbi
This patch adds the necessary PCI ID for TGP-LP devices. Signed-off-by: Felipe Balbi --- drivers/usb/dwc3/dwc3-pci.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c index f9b550081550..5e8e18222f92 100644 --- a/drivers/usb/dwc3

Re: Aspeed vhub configuration

2019-07-02 Thread Felipe Balbi
Hi, Benjamin Herrenschmidt writes: > On Tue, 2019-07-02 at 15:56 +0300, Felipe Balbi wrote: >> We already have an interface for disconnecting from the host >> programatically by disconnecting data pullup. >> >> static ssize_t soft_connect_store(struct device *dev

Re: configfs on dwc3: msc enum failed if three functions defined

2019-07-02 Thread Felipe Balbi
>> > > > the default hardware values it might be deficient as compared to the >> > > > working endpoint that gets assigned in your 2-function config. >> > > >> > > Jack, >> > > >> > > thanks for the pointer, it is indee

Re: Aspeed vhub configuration

2019-07-02 Thread Felipe Balbi
usb_gadget_disconnect(udc->gadget); usb_gadget_udc_stop(udc); } else { dev_err(dev, "unsupported command '%s'\n", buf); return -EINVAL; } return n; } static DEVICE_ATTR_WO(soft_connect); part of udc/core.c -- balbi

[GIT PULL] USB: changes for v5.3 merge window

2019-06-27 Thread Felipe Balbi
19-06-17 11:23:24 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v5.3 for you to fetch changes up to aa23ce847ddac1fd5ffe987ff12e12ff48318e45: usb: dwc3: remove unused @lock member of dwc3_ep struct (2019-06-20 11:50:19

RE: No carrier lost information with gadget RNDIS/ECM

2019-06-26 Thread Felipe Balbi
bus resume afff6067b305 usb: chipidea: Drop lock across event_notify during gadget stop 732a4af85e87 usb: chipidea: Remove locking in ci_udc_start() 34445fb4333f usb: chipidea: Properly mark little endian descriptors 63b9e901e461 usb: chipidea: udc: remove unnecessary & operation a98e25e71d11 usb: chipidea: udc: make use of new usb_endpoint_maxp_mult() Peter, have you seen the problem described before? -- balbi

Re: No carrier lost information with gadget RNDIS/ECM

2019-06-26 Thread Felipe Balbi
used : y > state : RNDIS_UNINITIALIZED > medium: 0x > speed : 425984000 > cable : connected > vendor ID : 0x > vendor: (null) > > Thanks for any help. Which peripheral controller is this board using? Is it chipidea? dwc2? dwc3? High Speed or Super Speed? -- balbi

[GIT PULL] USB: fixes for v5.2-rc5

2019-06-20 Thread Felipe Balbi
/linux/kernel/git/balbi/usb.git tags/fixes-for-v5.2-rc5 for you to fetch changes up to 42de8afc40c97002fceb500e2331f6a722be3c14: usb: dwc2: Use generic PHY width in params setup (2019-06-18 10:27:14 +0300) usb: fixes for v5.2-rc5

[PATCH] usb: dwc3: pci: Add Support for Intel Elkhart Lake Devices

2019-06-20 Thread Felipe Balbi
This patch simply adds a new PCI Device ID Signed-off-by: Felipe Balbi --- drivers/usb/dwc3/dwc3-pci.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c index 8cced3609e24..f9b550081550 100644 --- a/drivers/usb/dwc3/dwc3-pci.c

Re: [PATCH] usb: gadget: avoid using gadget after freed

2019-06-19 Thread Felipe Balbi
Hi, Lianwei Wang writes: > On Tue, Jun 18, 2019 at 11:21 PM Felipe Balbi wrote: >> >> >> Hi, >> >> Lianwei Wang writes: >> >> Lianwei Wang writes: >> >> > On Mon, Jun 17, 2019 at 5:40 AM Felipe Balbi wrote: >> >>

Re: Pass transfer_buffer to gadget drivers

2019-06-18 Thread Felipe Balbi
l > ongoing control transfers. Considering that the gadget API handles one stage at a time, it would be impossible for this to not be the case :-) UDCs start a trasnfer only for the setup phase, then process the control request to decide what to do next. -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: xhci: dbc: get rid of global pointer

2019-06-18 Thread Felipe Balbi
Hi, Johan Hovold writes: >> Johan Hovold writes: >> > On Tue, Jun 11, 2019 at 08:24:16PM +0300, Felipe Balbi wrote: >> >> If we happen to have two XHCI controllers with DbC capability, then >> >> there's no hope this will ever work as the glo

Re: [RFC] Sorting out dwc3 ISOC endpoints once and for all

2019-06-18 Thread Felipe Balbi
>> >> To me, it seems like this part of the controller wasn't well >> thought-out. These extra two bits, perhaps, should be internal to the >> controller and SW should have no knowledge that they exist. > > These values are internal. SW should not have knowledge of it. This > implementation will not follow the programming guide and should be used > as a quirk for devices that are too slow to handle the XferNotReady > event but want to schedule isoc immediately after handling the event. They are *not* internal if SW needs to know that to start a transfer properly it needs these extra two bits :-) What I meant to say was that we should never have a 16-bit frame number. Only 14 bits. But in any case, we can't change the HW now :-) -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: gadget: avoid using gadget after freed

2019-06-18 Thread Felipe Balbi
Hi, Lianwei Wang writes: >> Lianwei Wang writes: >> > On Mon, Jun 17, 2019 at 5:40 AM Felipe Balbi wrote: >> >> >> >> Lianwei Wang writes: >> >> >> >> > The udc and gadget device will be deleted when udc device is &g

[PATCH] usb: gadget: ether: Fix race between gether_disconnect and rx_submit

2019-06-18 Thread Felipe Balbi
adget: split out network core") Cc: Signed-off-by: Kiruthika Varadarajan Signed-off-by: Felipe Balbi --- drivers/usb/gadget/function/u_ether.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_eth

Re: [PATCH v2] usb: dwc2: Use generic PHY width in params setup

2019-06-18 Thread Felipe Balbi
>>> Signed-off-by: Jules Maselbas >> >> Acked-by: Minas Harutyunyan > > Gentle reminder, Felipe, could you take this to the fixes for v5.2? darn it, I applied for 'next'. I'll remove from that branch and place it in fixes. Pull request, hopefully, tomorrow. -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: gadget: avoid using gadget after freed

2019-06-18 Thread Felipe Balbi
Hi, Lianwei Wang writes: > On Mon, Jun 17, 2019 at 5:40 AM Felipe Balbi wrote: >> >> Lianwei Wang writes: >> >> > The udc and gadget device will be deleted when udc device is >> > disconnected and the related function will be unbind with it. >> &g

Re: [RFC] Sorting out dwc3 ISOC endpoints once and for all

2019-06-18 Thread Felipe Balbi
ldn't have any issues. But since DSTS only contains 14 our of the 16 bits the controller needs, then we can't really use that. To me, it seems like this part of the controller wasn't well thought-out. These extra two bits, perhaps, should be internal to the controller and SW should have no knowledge that they exist. In any case, this is the biggest sort of issues in DWC3 right now :-) Anything else seems to behave nicely without any problems. -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: Replace a < b ? a : b construct with min_t(type, a, b) in drivers/usb

2019-06-18 Thread Felipe Balbi
r driver? That way they can be reviewed separately. Thanks -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: gadget: avoid using gadget after freed

2019-06-17 Thread Felipe Balbi
using after freed issue, always set the gadget > object to netdev in bind interface. > > Signed-off-by: Lianwei Wang I can't actually understand what's the problem here. The gadget is not deleted when we disconnect the cable. -- balbi signature.asc Description: PGP signature

Re: DWC3 USB hub issue

2019-06-17 Thread Felipe Balbi
gt; usb-phy = <&usb2_phy>, <&usb3_phy>; > dr_mode = "host"; > power-domains = <&sps S900_PD_USB3>; > snps,hsphy_interface = "utmi"; > }; > }; > > After going through the mailing list looking for similar issue, found that > some host controllers works with following quirk: > > snps,dis_u3_susphy_quirk; > > I tried that also but it didn't work. Can anyone shed some light on this? > > PS: USB3 is working fine with vendor kernel 3.10. Check what's different between mainline and your v3.10 code. Specially look for changes in xhci and usbcore. Good luck -- balbi signature.asc Description: PGP signature

Re: [PATCH] usb: xhci: dbc: get rid of global pointer

2019-06-16 Thread Felipe Balbi
Hi, Johan Hovold writes: > On Tue, Jun 11, 2019 at 08:24:16PM +0300, Felipe Balbi wrote: >> If we happen to have two XHCI controllers with DbC capability, then >> there's no hope this will ever work as the global pointer will be >> overwritten by the controller that

Re: [PATCH 4/5] usb: xhci: dbc: Add a dbc raw driver to provide a raw interface on DbC

2019-06-13 Thread Felipe Balbi
>> > >> > Where can I get one of those? >> Here is one example: >> https://www.amazon.com/SIIG-SuperSpeed-Cable-Meters-CB-US0212-S1/dp/B0032ANCBO > > Ah, nice! I'll try to see if I can get that in my country... > > Nope, not available in Europe

[PATCH] usb: xhci: dbc: get rid of global pointer

2019-06-11 Thread Felipe Balbi
xhci: Add DbC support in xHCI driver Cc: # v4.16+ Signed-off-by: Felipe Balbi --- drivers/usb/host/xhci-dbgcap.c | 4 +-- drivers/usb/host/xhci-dbgcap.h | 3 +- drivers/usb/host/xhci-dbgtty.c | 54 +- 3 files changed, 31 insertions(+), 30 deletions(-) diff --

Re: fsl_udc status?

2019-06-10 Thread Felipe Balbi
Hi, Joakim Tjernlund writes: > On Mon, 2019-06-10 at 10:56 +0300, Felipe Balbi wrote: >> Hi, >> >> Joakim Tjernlund writes: >> > We are trying to get fsl_udc up and running on a T1042 with without >> > success. >> > Seems like this

Re: fsl_udc status?

2019-06-10 Thread Felipe Balbi
can try that version of the kernel, we can't really help you here. Good luck -- balbi signature.asc Description: PGP signature

Re: Pass transfer_buffer to gadget drivers

2019-06-07 Thread Felipe Balbi
> wLength (during previous stage). >> >> - Status Stage >> A zero length transfer to communicate successful end of transfer >> (in case it completes fine) or an error (in case of STALL >> condition). > > Hm, then why does the usb_control_msg() function accepts a data and > size arguments? Which are described in the comment as "pointer to the > data to send" and "length in bytes of the data to send" accordingly? > Or is this the buffer for the response? That's for the data stage :-) usb_control_msg() is an upper lever API to encode and entire Control Transfer (all stages of it). What is the problem you see, then? -- balbi signature.asc Description: PGP signature

Re: Pass transfer_buffer to gadget drivers

2019-06-07 Thread Felipe Balbi
completes fine) or an error (in case of STALL condition). > I've faced this with a custom implementation of a gadget driver module > while using the dummy_hcd module, but I AFAIU it's not relevant to > those two, but rather to the whole gadget subsystem. What is this custom gadget doing? Which kernel version are you using? What error are you facing? Could it be that you misunderstood how USB works? Best regards -- balbi signature.asc Description: PGP signature

Re: Pass transfer_buffer to gadget drivers

2019-06-07 Thread Felipe Balbi
field of the control structure. Also, host side does *not* pass its usb_ctrlrequest struct to the gadget, it passes a series of 8 bytes which are oblivious to where in memory they were from the host point of view. If if you have the same machine acting as both host and device, each side has no kno

[RFC] Sorting out dwc3 ISOC endpoints once and for all

2019-06-07 Thread Felipe Balbi
seems like we will *always* have some corner case where we can't guarantee that we can even start a transfer since there's no upper-bound between XferNotReady and gadget driver finally queueing a request. Also, I can't simply read DSTS for the frame number because of top-most 2 bits. best -- balbi signature.asc Description: PGP signature

[GIT PULL] USB: fixes for v5.2-rc4

2019-06-06 Thread Felipe Balbi
3 (2019-06-02 13:55:33 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/fixes-for-v5.2-rc4 for you to fetch changes up to 42cc68868ce9d5f5277f561bb17b4746a332bb28: usb: gadget: udc: lpc32xx: fix return value check in lpc32xx_udc_p

Re: TODO advice for octeon-usb?

2019-05-20 Thread Felipe Balbi
6&w=2>), > also the size of the driver has shrunken considerably. > > If there are still some other bigger issues with this driver, please > let me know. Looks pretty clean to me. I would simply break that single file into smaller files if possible (see xhci/ehci for example). my

Re: [BUG REPORT] usb: dwc3: "failed to enable ep0out" when enabling mass storage mode

2019-05-14 Thread Felipe Balbi
u32 timeout = 5000; u32 saved_config = 0; u32 reg; Let me know if it helps or not. I guess it's also time to switch this block of code to readl_poll_timeout_atomic(). -- balbi

[GIT PULL] USB changes for v5.2 merge window

2019-05-03 Thread Felipe Balbi
b/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v5.2 for you to fetch changes up to 2e487d280525b91b03976203b15aba365ec5b4e6: usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA (2019-05-03 09:13:49 +0300) USB: changes for v5.2 merge window W

Re: [PATCH V2 7/8] usb: gadget: Add UDC driver for tegra XUSB device mode controller

2019-04-25 Thread Felipe Balbi
c-xilinx" and force all > gadget drivers to also be dynamically linked. > > +config USB_TEGRA_XUDC > + tristate "NVIDIA Superspeed USB 3.0 Device Controller" > + depends on ARCH_TEGRA no compile_test? -- balbi signature.asc Description: PGP signature

Re: [PATCH 1/5] usb: dwc2: Move UTMI_PHY_DATA defines closer

2019-04-25 Thread Felipe Balbi
Jules Maselbas writes: > Makes GHWCFG4_UTMI_PHY_DATA* defines closer to their relative shift and > mask defines to improve readability. > > Signed-off-by: Jules Maselbas Doesn't apply. Please make sure to rebase on testing/next -- balbi signature.asc Description: PGP signature

  1   2   3   4   5   6   7   8   9   10   >