linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pavan Kondeti <quic_pkondeti@quicinc.com>
To: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
Cc: Pavan Kondeti <quic_pkondeti@quicinc.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Felipe Balbi <balbi@kernel.org>,
	Stephen Boyd <swboyd@chromium.org>,
	Doug Anderson <dianders@chromium.org>,
	"Matthias Kaehlcke" <mka@chromium.org>,
	Mathias Nyman <mathias.nyman@intel.com>,
	<linux-arm-msm@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <quic_ppratap@quicinc.com>
Subject: Re: [PATCH v5] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller
Date: Thu, 10 Feb 2022 12:11:53 +0530	[thread overview]
Message-ID: <20220210064153.GA15114@hu-pkondeti-hyd.qualcomm.com> (raw)
In-Reply-To: <825a62d8-dc09-fed1-7e33-00d2192a91d5@quicinc.com>

Hi Sandeep,

On Thu, Feb 10, 2022 at 11:18:19AM +0530, Sandeep Maheswaram wrote:
> Hi Pavan,
> 
> On 2/9/2022 11:31 AM, Sandeep Maheswaram wrote:
> >
> >On 2/9/2022 11:23 AM, Pavan Kondeti wrote:
> >>On Tue, Feb 08, 2022 at 11:11:53AM +0100, Greg Kroah-Hartman wrote:
> >>>On Tue, Feb 08, 2022 at 03:34:22PM +0530, Sandeep Maheswaram wrote:
> >>>>Hi Greg,
> >>>>
> >>>>On 1/27/2022 10:28 AM, Sandeep Maheswaram wrote:
> >>>>>On 1/26/2022 5:55 PM, Greg Kroah-Hartman wrote:
> >>>>>>On Fri, Jan 07, 2022 at 10:27:59AM +0530, Sandeep Maheswaram wrote:
> >>>>>>>On 1/6/2022 7:55 PM, Greg Kroah-Hartman wrote:
> >>>>>>>>On Wed, Dec 22, 2021 at 11:39:43AM +0530, Sandeep Maheswaram
> >>>>>>>>wrote:
> >>>>>>>>>Set XHCI_SKIP_PHY_INIT quirk to avoid phy initialization twice.
> >>>>>>>>>Runtime suspend of phy drivers was failing from DWC3
> >>>>>>>>>driver as runtime
> >>>>>>>>>usage value is 2 because the phy is initialized from
> >>>>>>>>>DWC3 and HCD core.
> >>>>>>>>>DWC3 manages phy in their core drivers. Set this quirk to
> >>>>>>>>>avoid phy
> >>>>>>>>>initialization in HCD core.
> >>>>>>>>>
> >>>>>>>>>Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
> >>>>>>>>>---
> >>>>>>>>>v5:
> >>>>>>>>>Added comment to explain the change done.
> >>>>>>>>>v4:
> >>>>>>>>>Changed pdev->dev.parent->of_node to sysdev->of_node
> >>>>>>>>>
> >>>>>>>>>    drivers/usb/host/xhci-plat.c | 8 ++++++++
> >>>>>>>>>    1 file changed, 8 insertions(+)
> >>>>>>>>>
> >>>>>>>>>diff --git a/drivers/usb/host/xhci-plat.c
> >>>>>>>>>b/drivers/usb/host/xhci-plat.c
> >>>>>>>>>index c1edcc9..e6014d4 100644
> >>>>>>>>>--- a/drivers/usb/host/xhci-plat.c
> >>>>>>>>>+++ b/drivers/usb/host/xhci-plat.c
> >>>>>>>>>@@ -327,6 +327,14 @@ static int xhci_plat_probe(struct
> >>>>>>>>>platform_device *pdev)
> >>>>>>>>>&xhci->imod_interval);
> >>>>>>>>>        }
> >>>>>>>>>+    /*
> >>>>>>>>>+     * Set XHCI_SKIP_PHY_INIT quirk to avoid phy
> >>>>>>>>>initialization twice.
> >>>>>>>>>+     * DWC3 manages phy in their core drivers. Set this
> >>>>>>>>>quirk to avoid phy
> >>>>>>>>>+     * initialization in HCD core.
> >>>>>>>>>+     */
> >>>>>>>>>+    if (of_device_is_compatible(sysdev->of_node, "snps,dwc3"))
> >>>>>>>>>+        xhci->quirks |= XHCI_SKIP_PHY_INIT;
> >>>>>>>>>+
> >>>>>>>>Why is this function caring about dwc3 stuff? Shoudn't this be a
> >>>>>>>>"generic" device property instead of this device-specific one?
> >>>>>>>>
> >>>>>>>>thanks,
> >>>>>>>>
> >>>>>>>>greg k-h
> >>>>>>>This quirk is set only if required for some controllers (eg:
> >>>>>>>dwc3 & cdns3).
> >>>>>>>
> >>>>>>>Please check below commit.
> >>>>>>>
> >>>>>>>https://lore.kernel.org/all/20200918131752.16488-5-mathias.nyman@linux.intel.com/
> >>>>>>>
> >>>>>>>
> >>>>>>That commit has nothing to do with a specific "dwc3" quirk anywhere.
> >>>>>>Why not set this flag in the specific platform xhci driver
> >>>>>>instead where
> >>>>>>it belongs?
> >>>>>>
> >>>>>>thanks,
> >>>>>>
> >>>>>>greg k-h
> >>>>>There is no specific xhci platform driver for dwc3 controllers.
> >>>>>
> >>>>>dwc3 controllers use xhci-plat driver .
> >>>>>
> >>>>>We can add this quirk in usb/dwc3/host.c as cdns3 does but that
> >>>>>requires
> >>>>>tying dwc3 and xhci driver .
> >>>>>
> >>>>>https://patchwork.kernel.org/project/linux-arm-msm/patch/1633946518-13906-1-git-send-email-sanm@codeaurora.org/
> >>>>>
> >>>>>
> >>>>>
> >>>>>Regards
> >>>>>
> >>>>>Sandeep
> >>>>>
> >>>>>
> >>>>Can you suggest any other method to set this quirk for dwc3
> >>>>controllers.
> >>>No idea, sorry.
> >>Sandeep,
> >>
> >>I agree with Greg's comments here. The compatible based check to detect
> >>dwc3
> >>controller is not elegant. Your proposal of adding a device tree param
> >>is
> >>overkill, I believe.
> >>
> >>Greg already gave us a pointer here [1] which I feel is the best
> >>approach going
> >>forward. We know that xhci-plat is being used by drivers like dwc3,
> >>cdns3 and
> >>these drivers need to expose their xhci quirks. As Greg suggested, why
> >>can't
> >>we move xhci quirks definition to include/linux/usb/xhci-quriks.h and
> >>directly
> >>access from the glue drivers? The attached is the patch (completely
> >>untested)
> >>for your reference. It will prepare the setup for you to add the private
> >>data
> >>and quirks in the dwc3 host glue driver.
> >>
> >>Thanks,
> >>Pavan
> >>
> >>[1]
> >>https://patchwork.kernel.org/project/linux-arm-msm/patch/1633946518-13906-1-git-send-email-sanm@codeaurora.org/
> >>
> >>
> >Thanks Pavan..will test the patch.
> 
> Tested your patch. It is working fine along with the attached changes.
> 

Your patch looks good to me. Feel free to send the two patches together.

Thanks,
Pavan

      parent reply	other threads:[~2022-02-10  6:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22  6:09 [PATCH v5] usb: host: xhci-plat: Set XHCI_SKIP_PHY_INIT quirk for DWC3 controller Sandeep Maheswaram
2022-01-06 14:25 ` Greg Kroah-Hartman
2022-01-07  4:57   ` Sandeep Maheswaram
2022-01-24  5:31     ` Sandeep Maheswaram
2022-01-24  6:21       ` Greg Kroah-Hartman
2022-01-26 12:25     ` Greg Kroah-Hartman
2022-01-27  4:58       ` Sandeep Maheswaram
2022-02-08 10:04         ` Sandeep Maheswaram
2022-02-08 10:11           ` Greg Kroah-Hartman
2022-02-09  5:53             ` Pavan Kondeti
2022-02-09  6:01               ` Sandeep Maheswaram
     [not found]                 ` <825a62d8-dc09-fed1-7e33-00d2192a91d5@quicinc.com>
2022-02-10  6:41                   ` Pavan Kondeti [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220210064153.GA15114@hu-pkondeti-hyd.qualcomm.com \
    --to=quic_pkondeti@quicinc.com \
    --cc=balbi@kernel.org \
    --cc=dianders@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=mka@chromium.org \
    --cc=quic_c_sanm@quicinc.com \
    --cc=quic_ppratap@quicinc.com \
    --cc=swboyd@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).