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

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

 



Hi,

On Wednesday 23 May 2018 11:11 PM, 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).
> 
> 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()
> 
> * From v2:
>   - Moved zeroing code to its own function
>   - Also perform the zeroing on hibernate
> 
> 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       | 71 +++++++++++++++++++++++++++++++++++++++++--
>  drivers/usb/host/xhci.h       | 67 ++++++++++++++++++++--------------------
>  5 files changed, 108 insertions(+), 66 deletions(-)
> 

Tested-by: Faiz Abbas <faiz_abbas@xxxxxx>

Thanks,
Faiz
--
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