devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Stanley Chang[昌育德]" <stanley_chang@realtek.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Alan Stern <stern@rowland.harvard.edu>,
	Michael Grzeschik <m.grzeschik@pengutronix.de>,
	Bagas Sanjaya <bagasdotme@gmail.com>,
	"Flavio Suligoi" <f.suligoi@asem.it>,
	Matthias Kaehlcke <mka@chromium.org>,
	"Mathias Nyman" <mathias.nyman@linux.intel.com>,
	Ray Chi <raychi@google.com>,
	"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: RE: [PATCH v2 1/3] usb: phy: add usb phy notify port status API
Date: Tue, 30 May 2023 02:19:45 +0000	[thread overview]
Message-ID: <647ded70ff024a3081cbf5c45f5da12c@realtek.com> (raw)
In-Reply-To: <2023052905-maimed-studied-3563@gregkh>

Hi Greg,

> > --- a/include/linux/usb/phy.h
> > +++ b/include/linux/usb/phy.h
> > @@ -144,6 +144,10 @@ struct usb_phy {
> >        */
> >       int     (*set_wakeup)(struct usb_phy *x, bool enabled);
> >
> > +     /* notify phy port status change */
> > +     int     (*notify_port_status)(struct usb_phy *x,
> > +             int port, u16 portstatus, u16 portchange);
> > +
> >       /* notify phy connect status change */
> >       int     (*notify_connect)(struct usb_phy *x,
> >                       enum usb_device_speed speed);
> 
> Why can't this be part of the same notify_connect() callback?

The notify connect is at device ready. But I want notify port status change before port reset.

> What makes it different somehow?  Please document this much better.

In Realtek phy driver, we have designed to dynamically adjust disconnection level and calibrate phy parameters.
So we do this when the device connected bit changes and when the disconnected bit changes.
Port status change notification:
1. Check if portstatus is USB_PORT_STAT_CONNECTION and portchange is USB_PORT_STAT_C_CONNECTION.
  The device is connected, the driver lowers the disconnection level and calibrates the phy parameters.
2. The device disconnects, the driver increases the disconnect level and calibrates the phy parameters.

If we adjust the disconnection level in notify_connect , the disconnect may have been triggered at this stage. 
So we need to change that as early as possible.


> 
> > @@ -316,6 +320,16 @@ usb_phy_set_wakeup(struct usb_phy *x, bool
> enabled)
> >               return 0;
> >  }
> >
> > +static inline int
> > +usb_phy_notify_port_status(struct usb_phy *x, int port, u16 portstatus,
> > +         u16 portchange)
> > +{
> > +     if (x && x->notify_port_status)
> 
> How can x ever be NULL?

It is possible.
If the controller not use usb-phy driver. It  is NULL.

Thanks,
Stanley

  reply	other threads:[~2023-05-30  2:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25  2:26 [PATCH v2 1/3] usb: phy: add usb phy notify port status API Stanley Chang
2023-05-25  2:26 ` [PATCH v2 2/3] phy: realtek: usb: Add driver for the Realtek SoC USB 2.0/3.0 PHY Stanley Chang
2023-05-29 14:25   ` Greg Kroah-Hartman
2023-05-30  1:50     ` Stanley Chang[昌育德]
2023-05-30  7:31       ` Greg Kroah-Hartman
2023-05-30  7:37         ` Stanley Chang[昌育德]
2023-05-25  2:26 ` [PATCH v2 3/3] dt-bindings: phy: realtek: Add the doc about " Stanley Chang
2023-05-29 18:59   ` Conor Dooley
2023-05-30  3:08     ` Stanley Chang[昌育德]
2023-05-30  6:56       ` Conor Dooley
     [not found]       ` <202305310146.34V1kevI7026106@rtits1.realtek.com.tw>
2023-06-01  2:24         ` Stanley Chang[昌育德]
2023-06-01 20:13           ` Conor Dooley
     [not found]   ` <0b2143ca-ead7-c8fa-2e80-a94222af51ca@linaro.org>
2023-06-01 10:49     ` Stanley Chang[昌育德]
2023-06-01 15:32       ` Krzysztof Kozlowski
2023-06-02  3:20         ` Stanley Chang[昌育德]
2023-06-02  7:10           ` Krzysztof Kozlowski
2023-06-02  7:33             ` Stanley Chang[昌育德]
2023-05-29 14:27 ` [PATCH v2 1/3] usb: phy: add usb phy notify port status API Greg Kroah-Hartman
2023-05-30  2:19   ` Stanley Chang[昌育德] [this message]
2023-05-30  7:32     ` Greg Kroah-Hartman
2023-05-30  7:38       ` Stanley Chang[昌育德]

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=647ded70ff024a3081cbf5c45f5da12c@realtek.com \
    --to=stanley_chang@realtek.com \
    --cc=bagasdotme@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=f.suligoi@asem.it \
    --cc=gregkh@linuxfoundation.org \
    --cc=kishon@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=m.grzeschik@pengutronix.de \
    --cc=mathias.nyman@linux.intel.com \
    --cc=mka@chromium.org \
    --cc=raychi@google.com \
    --cc=robh+dt@kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=vkoul@kernel.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).