Re: [PATCH 00/11] Cleanup Octeon DWC3 glue code

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

 



Hi,

On Mon, Jun 19, 2023, Ladislav Michl wrote:
> Hi,
> 
> primary motivation was to fix issue Id 29206 as described in
> OCTEON III CN70XX/CN71XX Known Issues, version: 1.9.
> Said document is marked as Marvell Proprietary and Confidential,
> therefore I'm not sure if I can cite from it.
> 
> This probably does not matter too much as the root of the information
> listed there is a workaround being implemented in OCTEON SDK 3.1.2
> patch 7 and later in
> u-boot/drivers/usb/host/xhci-octeon.c:dwc3_uphy_pll_reset()
> 
> My coleague ported that patch to linux-4.9 and it is appended to
> this cover letter for a reference.
> 
> The glue code currently lives in arch/mips/cavium-octeon/octeon-usb.c
> and loops for each "cavium,octeon-7130-usb-uctl" compatible.
> However there is no bond with dwc3 core code, so if anything goes
> wrong in glue code, the loop breaks, leaving dwc3 in reset.
> 
> Later on when dwc3 core tries to read any device register, bus error
> is emited, leading to kernel panic.
> 
> Therefore glue code is cleaned-up first, then moved to drivers/usb/dwc3
> and modified to match current state of art.
> 
> Now it is easier to properly implement said errata. Does it belong
> to core code as a quirk? Comments and suggestions welcome.
> 
> Ladislav Michl (11):
>   MIPS: OCTEON: octeon-usb: add all register offsets
>   MIPS: OCTEON: octeon-usb: use bitfields for control register
>   MIPS: OCTEON: octeon-usb: use bitfields for host config register
>   MIPS: OCTEON: octeon-usb: use bitfields for shim register
>   MIPS: OCTEON: octeon-usb: move gpio config to separate function
>   MIPS: OCTEON: octeon-usb: introduce dwc3_octeon_{read,write}q
>   MIPS: OCTEON: octeon-usb: cleanup divider calculation
>   usb: dwc3: Move Octeon glue code from arch/mips
>   usb: dwc3: dwc3-octeon: Convert to glue driver
>   usb: dwc3: dwc3-octeon: Move node parsing into driver probe
>   usb: dwc3: Add SPDX header and copyright
> 
>  arch/mips/cavium-octeon/Makefile          |   1 -
>  arch/mips/cavium-octeon/octeon-platform.c |   1 -
>  arch/mips/cavium-octeon/octeon-usb.c      | 548 ----------------------
>  drivers/usb/dwc3/Kconfig                  |   9 +
>  drivers/usb/dwc3/Makefile                 |   1 +
>  drivers/usb/dwc3/dwc3-octeon.c            | 545 +++++++++++++++++++++
>  drivers/usb/dwc3/dwc3-of-simple.c         |   1 -
>  7 files changed, 555 insertions(+), 551 deletions(-)
>  delete mode 100644 arch/mips/cavium-octeon/octeon-usb.c
>  create mode 100644 drivers/usb/dwc3/dwc3-octeon.c
> 
> ---

Please use get_maintainer.pl to get all the proper maintainers to review
the changes.

Since this is a large change involving different subsystems, if
possible, please split the changes related to MIPS and try to upstream
those first as they will affect how dwc3 glue driver will look.

Thanks,
Thinh




[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux