[PATCH v2 2/4] usb: xhci-pci: Move reset logic out of XHCI core

Bin Meng bmeng.cn at gmail.com
Mon Jul 5 10:04:43 CEST 2021


On Sat, Apr 17, 2021 at 10:21 PM Samuel Holland <samuel at sholland.org> wrote:
>
> Resetting an XHCI controller inside xhci_register undoes any register
> setup performed by the platform driver. And at least on the Allwinner
> H6, resetting the XHCI controller also resets the PHY, which prevents
> the controller from working. That means the controller must be taken out
> of reset before initializing the PHY, which must be done before calling
> xhci_register.
>
> The logic in the XHCI core was added to support the Raspberry Pi 4
> (although this was not mentioned in the commit log!), which uses the
> xhci-pci platform driver. Move the reset logic to the platform driver,
> where it belongs, and where it cannot interfere with other platform
> drivers.
>
> This also fixes a failure to call reset_free if xhci_register failed.
>
> Fixes: 0b80371b350e ("usb: xhci: Add reset controller support")
> Signed-off-by: Samuel Holland <samuel at sholland.org>
> ---
>  drivers/usb/host/xhci-mem.c |  2 --
>  drivers/usb/host/xhci-pci.c | 51 ++++++++++++++++++++++++++++++++++---
>  drivers/usb/host/xhci.c     | 35 -------------------------
>  include/usb/xhci.h          |  2 --
>  4 files changed, 47 insertions(+), 43 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>


More information about the U-Boot mailing list