Re: [PATCH v2 0/3] Revised Renesas uPD72020x workaround for 32bit DMA issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 18, 2018 at 05:29:40PM +0100, Marc Zyngier wrote:
> Back around the 4.13 timeframe, we tried to address a rather bad issue
> with the Renesas uPD72020x USB3 controller family. They have trouble
> with the programming of the base addresses which tend to stick on XHCI
> reset. This makes transitionning from 64bit to 32bit addresses
> completely unsafe. This was observed on a fairly popular arm64
> platform (AMD Opteron 1100, which has all of its memory above 4GB).
> 
> The fix was to perform a PCI reset of the device, but we have had
> multiple reports that this generated regressions (the controller not
> being usable after the patch was applied).

On my x86-64 the regression is gone with the removal of the PCI reset,
can't say anything about the original issue it was supposed to fix.

Tested-by: Domenico Andreoli <domenico.andreoli@xxxxxxxxx>

Thank you.

Dom

> 
> This series reverts the problematic patch, and tries to address it in
> a more constrained way. If the controller is behind an IOMMU (and only
> in that case), we zero its base addresses before reseting it. In the
> affected configuration, this has the effect of putting the device in a
> state where the XHCI reset will be effective.
> 
> It must be noted that in the absence of an IOMMU (and maybe even in
> its presence), this device is completely unsafe, and may silently
> corrupt memory.
> 
> * From v1:
>   - Fixed stupid hunk misplacement, now properly moved back to patch 2
>   - Converted all quirks to BIT_ULL()
> 
> Marc Zyngier (3):
>   xhci: Allow more than 32 quirks
>   xhci: Add quirk to zero 64bit registers on Renesas PCIe controllers
>   Revert "xhci: Reset Renesas uPD72020x USB controller for 32-bit DMA
>     issue"
> 
>  drivers/usb/host/pci-quirks.c | 20 -------------
>  drivers/usb/host/pci-quirks.h |  1 -
>  drivers/usb/host/xhci-pci.c   | 15 ++++------
>  drivers/usb/host/xhci.c       | 65 +++++++++++++++++++++++++++++++++++++++--
>  drivers/usb/host/xhci.h       | 67 ++++++++++++++++++++++---------------------
>  5 files changed, 102 insertions(+), 66 deletions(-)
> 
> -- 
> 2.14.2
> 

-- 
3B10 0CA1 8674 ACBA B4FE  FCD2 CE5B CF17 9960 DE13
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux