lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 492/779] usb: dwc3: core: Deprecate GCTL.CORESOFTRESET
    Date
    From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>

    [ Upstream commit afbd04e66e5d16ca3c7ea2e3c56eca25558eacf3 ]

    Synopsys IP DWC_usb32 and DWC_usb31 version 1.90a and above deprecated
    GCTL.CORESOFTRESET. The DRD mode switching flow is updated to remove the
    GCTL soft reset. Add version checks to prevent using deprecated setting
    in mode switching flow.

    Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
    Link: https://lore.kernel.org/r/9df529fde6e55f5508321b6bc26e92848044ef2b.1655338967.git.Thinh.Nguyen@synopsys.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/usb/dwc3/core.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
    index 5cb1350ec66d..8adb26599797 100644
    --- a/drivers/usb/dwc3/core.c
    +++ b/drivers/usb/dwc3/core.c
    @@ -159,7 +159,8 @@ static void __dwc3_set_mode(struct work_struct *work)
    }

    /* For DRD host or device mode only */
    - if (dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG) {
    + if ((DWC3_IP_IS(DWC3) || DWC3_VER_IS_PRIOR(DWC31, 190A)) &&
    + dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG) {
    reg = dwc3_readl(dwc->regs, DWC3_GCTL);
    reg |= DWC3_GCTL_CORESOFTRESET;
    dwc3_writel(dwc->regs, DWC3_GCTL, reg);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-15 21:26    [W:3.556 / U:0.492 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site