Hi, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes: >> >> > > > > This series by Arnd Bergmann was originally six patches, but last two of >> >> > > > > them were already taken to 4.10. Without the rest of them there will >> >> > > > > be a regression in 4.10. >> >> > > > >> >> > > > Is it really a regression? I thought this had never worked before in >> >> > > > older kernels, right? >> >> > > > >> >> > > >> >> > > Regression when xhci hosts in dwc3 controllers are used. >> >> > >> >> > So that worked in 4.9? >> >> > >> >> > > For example patch 5/6 removed setting dma mask for xhci in dwc3 host init: >> >> > > >> >> > > +++ b/drivers/usb/dwc3/host.c >> >> > > @@ -84,11 +84,7 @@ int dwc3_host_init(struct dwc3 *dwc) >> >> > > return -ENOMEM; >> >> > > } >> >> > > - dma_set_coherent_mask(&xhci->dev, dwc->dev->coherent_dma_mask); >> >> > > - >> >> > > xhci->dev.parent = dwc->dev; >> >> > > - xhci->dev.dma_mask = dwc->dev->dma_mask; >> >> > > - xhci->dev.dma_parms = dwc->dev->dma_parms; >> >> > > >> >> > > So now xhci platform driver prints a scary warning because of the missing dma mask: >> >> > > >> >> > > static int xhci_plat_probe(struct platform_device *pdev) >> >> > > /* Try to set 64-bit DMA first */ >> >> > > if (WARN_ON(!pdev->dev.dma_mask)) >> >> > > /* Platform did not initialize dma_mask */ >> >> > > ret = dma_coerce_mask_and_coherent(&pdev->dev, >> >> > > DMA_BIT_MASK(64)); >> >> > > else >> >> > > ... >> >> > > This is fixed in the first 4 patches. >> >> > > >> >> > > There might be other other issues as well caused by having only the dwc3 >> >> > > changed applied of this series, but not the core and xhci parts >> >> > >> >> > Should we just fix the "scary warning" instead, by removing it? :) >> >> > >> >> > I say all of this because this seems like some very big changes so late >> >> > in the -rc cycle. >> >> > >> >> >> >> I guess that would work, or at least get us to the same stage as 4.9. >> >> I'll send a patch for it. >> > >> > Great. >> > >> >> Gives more time to look at the usb core changes. I'm not really >> >> myself running or testing the dwc3 host side. >> > >> > Me either. Any hints on some hardware that would allow me to do that? >> >> Intel Edison. > > Ah nice, if only I knew someone at Intel who could get me one of > those... :) :-) >> Or any recent TI board (AM437x SK, for instance). > > Will that run a mainline kernel? yes :-) >> Google Pixel Phone (but good luck running a mainline kernel there ;-) > > I have a Pixel phone here, but haven't been paying attention to the dwc3 > interface. Is dwc3 a block in the SoC on the Pixel? I have another yeah. Qcom, intel, TI, ST, Xilinx... they're all using this IP from Synopsys. > device here with the same SoC as the Pixel (OnePlus 3T) that I can run > my own kernel on, but it's a bit older version, due to SoC issues (same > one the Pixel has at the moment...) However some of us have a crazy > idea to drag that platform up to mainline over the next few months. yeah, I'd totally buy that OnePlus 3T if it starts running mainline. I've been looking for an Android device to do that. It would actually be much easier to get dwc3 stuff properly tested :-p -- balbi
Attachment:
signature.asc
Description: PGP signature