From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752654AbdGXJPa (ORCPT ); Mon, 24 Jul 2017 05:15:30 -0400 Received: from mail-oi0-f41.google.com ([209.85.218.41]:36241 "EHLO mail-oi0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751537AbdGXJPT (ORCPT ); Mon, 24 Jul 2017 05:15:19 -0400 MIME-Version: 1.0 In-Reply-To: References: <2086ce508be1c1d75d47c892a5be9593b12fa6f3.1500619870.git.baolin.wang@linaro.org> <0f1345b4-292c-1881-8bba-d81293b9ace8@codeaurora.org> <50e53fba-1f69-6ba1-cc9d-8cb02a3e0468@codeaurora.org> From: Baolin Wang Date: Mon, 24 Jul 2017 17:15:18 +0800 Message-ID: Subject: Re: [PATCH] usb: dwc3: Support the dwc3 host suspend/resume To: Manu Gautam Cc: Felipe Balbi , Greg KH , USB , LKML , Linaro Kernel Mailman List , Mark Brown Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Manu, On 24 July 2017 at 16:42, Manu Gautam wrote: > Hi Baolin, > > > On 7/24/2017 11:26 AM, Baolin Wang wrote: > >>>>> Other than what I pushed in my patch - >>>>> ("usb: dwc3: Don't reinitialize core during host bus-suspend/resume") >>>>> Just performing pm_request_resume or handling same in dwc3 glue >>>>> driver should be sufficient. >>>> Yes. >>>> >>>>> Also, what is trigger for runtime_resume for your platform? >>>> In our platform glue layer, we have extcon events to notify there are >>>> devices connected, then gule layer will resume dwc3 device. >>>> >>> IMO you can just perform resume of &dwc->xhci->dev instead of resuming dwc3. >>> Since, dwc3 is parent of xhci that will trigger resume of dwc3 as well. >> I am not sure this is good enough but it seems can solve some >> problems, then we do not need resume/suspend host in dwc3 core. > > In that case can we proceed with this patch: > [1] https://www.spinics.net/lists/linux-usb/msg158682.html > > For your platform you can pick this patch and resume dwc->xhci->dev resume > from your glue driver. > Do you have any other concerns? The same concern I explained in your patch. If we power off the controller when suspend, how can controller work well as host if we do not issue dwc3_core_init()? Suppose below cases: device attached: resume glue layer (power on dwc3 controller) ---> resume dwc3 device ---> resume xHCI device no device attached: suspend xHCI device ---> suspend dwc3 device ---> suspend glue layer (we can power off the dwc3 controller now) Though now there are no upstreamed glue drivers will power off dwc3 controller, should we consider this situation? -- Baolin.wang Best Regards