All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>, Heiko Stuebner <heiko@sntech.de>,
	 Frank Wang <frank.wang@rock-chips.com>,
	Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Andy Yan <andy.yan@rock-chips.com>,
	Dmitry Baryshkov <lumag@kernel.org>,
	 Yubing Zhang <yubing.zhang@rock-chips.com>,
	Alexey Charkov <alchark@gmail.com>,
	 linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-rockchip@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com,
	 devicetree@vger.kernel.org
Subject: Re: [PATCH v4 07/16] phy: rockchip: usbdp: Support single-lane DP
Date: Fri, 12 Jun 2026 17:57:39 +0200	[thread overview]
Message-ID: <aiwrNQhPsqlqDB-Z@venus> (raw)
In-Reply-To: <f29df43b-111d-471b-8579-0196596fc32b@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 2156 bytes --]

Hi,

On Wed, May 06, 2026 at 04:53:07PM +0200, Neil Armstrong wrote:
> > @@ -537,6 +538,13 @@ static void rk_udphy_usb_bvalid_enable(struct rk_udphy *udphy, u8 enable)
> >    * <0 1>                  dpln0         dpln1       usbrx         usbtx
> >    * <2 3>                  usbrx         usbtx       dpln0         dpln1
> >    * ---------------------------------------------------------------------------
> > + * if 1 lane for dp function, 2 lane for usb function, define rockchip,dp-lane-mux = <x>;
> > + * sample as follow:
> > + * ---------------------------------------------------------------------------
> > + *                        B11-B10       A2-A3       A11-A10       B2-B3
> > + * rockchip,dp-lane-mux   ln0(tx/rx)    ln1(tx)     ln2(tx/rx)    ln3(tx)
> > + * <0>                    dpln0         \           usbrx         usbtx
> > + * ---------------------------------------------------------------------------
> >    */
> >   static void rk_udphy_dplane_select(struct rk_udphy *udphy)
> > @@ -544,18 +552,18 @@ static void rk_udphy_dplane_select(struct rk_udphy *udphy)
> >   	const struct rk_udphy_cfg *cfg = udphy->cfgs;
> >   	u32 value = 0;
> > -	switch (udphy->mode) {
> > -	case UDPHY_MODE_DP:
> > -		value |= 2 << udphy->dp_lane_sel[2] * 2;
> > +	switch (udphy->dp_lanes) {
> > +	case 4:
> >   		value |= 3 << udphy->dp_lane_sel[3] * 2;
> > +		value |= 2 << udphy->dp_lane_sel[2] * 2;
> >   		fallthrough;
> > -	case UDPHY_MODE_DP_USB:
> > -		value |= 0 << udphy->dp_lane_sel[0] * 2;
> > +	case 2:
> >   		value |= 1 << udphy->dp_lane_sel[1] * 2;
> > -		break;
> > +		fallthrough;
> > -	case UDPHY_MODE_USB:
> > +	case 1:
> > +		value |= 0 << udphy->dp_lane_sel[0] * 2;
> 
> What's the point of keeping this no-op calculation ?

This function is cleaned up in a later patch to no longer have the
switch/case at all ("Cleanup DP lane selection function"). I kept
the no-op calculation here, since it IMHO makes it easier to understand
the cleanup patch and will be optimized away by the compiler anyways.

(I will send out a new patch series in a jiffy)

Greetings,

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>, Heiko Stuebner <heiko@sntech.de>,
	 Frank Wang <frank.wang@rock-chips.com>,
	Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Andy Yan <andy.yan@rock-chips.com>,
	Dmitry Baryshkov <lumag@kernel.org>,
	 Yubing Zhang <yubing.zhang@rock-chips.com>,
	Alexey Charkov <alchark@gmail.com>,
	 linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-rockchip@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com,
	 devicetree@vger.kernel.org
Subject: Re: [PATCH v4 07/16] phy: rockchip: usbdp: Support single-lane DP
Date: Fri, 12 Jun 2026 17:57:39 +0200	[thread overview]
Message-ID: <aiwrNQhPsqlqDB-Z@venus> (raw)
In-Reply-To: <f29df43b-111d-471b-8579-0196596fc32b@linaro.org>


[-- Attachment #1.1: Type: text/plain, Size: 2156 bytes --]

Hi,

On Wed, May 06, 2026 at 04:53:07PM +0200, Neil Armstrong wrote:
> > @@ -537,6 +538,13 @@ static void rk_udphy_usb_bvalid_enable(struct rk_udphy *udphy, u8 enable)
> >    * <0 1>                  dpln0         dpln1       usbrx         usbtx
> >    * <2 3>                  usbrx         usbtx       dpln0         dpln1
> >    * ---------------------------------------------------------------------------
> > + * if 1 lane for dp function, 2 lane for usb function, define rockchip,dp-lane-mux = <x>;
> > + * sample as follow:
> > + * ---------------------------------------------------------------------------
> > + *                        B11-B10       A2-A3       A11-A10       B2-B3
> > + * rockchip,dp-lane-mux   ln0(tx/rx)    ln1(tx)     ln2(tx/rx)    ln3(tx)
> > + * <0>                    dpln0         \           usbrx         usbtx
> > + * ---------------------------------------------------------------------------
> >    */
> >   static void rk_udphy_dplane_select(struct rk_udphy *udphy)
> > @@ -544,18 +552,18 @@ static void rk_udphy_dplane_select(struct rk_udphy *udphy)
> >   	const struct rk_udphy_cfg *cfg = udphy->cfgs;
> >   	u32 value = 0;
> > -	switch (udphy->mode) {
> > -	case UDPHY_MODE_DP:
> > -		value |= 2 << udphy->dp_lane_sel[2] * 2;
> > +	switch (udphy->dp_lanes) {
> > +	case 4:
> >   		value |= 3 << udphy->dp_lane_sel[3] * 2;
> > +		value |= 2 << udphy->dp_lane_sel[2] * 2;
> >   		fallthrough;
> > -	case UDPHY_MODE_DP_USB:
> > -		value |= 0 << udphy->dp_lane_sel[0] * 2;
> > +	case 2:
> >   		value |= 1 << udphy->dp_lane_sel[1] * 2;
> > -		break;
> > +		fallthrough;
> > -	case UDPHY_MODE_USB:
> > +	case 1:
> > +		value |= 0 << udphy->dp_lane_sel[0] * 2;
> 
> What's the point of keeping this no-op calculation ?

This function is cleaned up in a later patch to no longer have the
switch/case at all ("Cleanup DP lane selection function"). I kept
the no-op calculation here, since it IMHO makes it easier to understand
the cleanup patch and will be optimized away by the compiler anyways.

(I will send out a new patch series in a jiffy)

Greetings,

-- Sebastian

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 112 bytes --]

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>, Heiko Stuebner <heiko@sntech.de>,
	 Frank Wang <frank.wang@rock-chips.com>,
	Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Andy Yan <andy.yan@rock-chips.com>,
	Dmitry Baryshkov <lumag@kernel.org>,
	 Yubing Zhang <yubing.zhang@rock-chips.com>,
	Alexey Charkov <alchark@gmail.com>,
	 linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-rockchip@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com,
	 devicetree@vger.kernel.org
Subject: Re: [PATCH v4 07/16] phy: rockchip: usbdp: Support single-lane DP
Date: Fri, 12 Jun 2026 17:57:39 +0200	[thread overview]
Message-ID: <aiwrNQhPsqlqDB-Z@venus> (raw)
In-Reply-To: <f29df43b-111d-471b-8579-0196596fc32b@linaro.org>


[-- Attachment #1.1: Type: text/plain, Size: 2156 bytes --]

Hi,

On Wed, May 06, 2026 at 04:53:07PM +0200, Neil Armstrong wrote:
> > @@ -537,6 +538,13 @@ static void rk_udphy_usb_bvalid_enable(struct rk_udphy *udphy, u8 enable)
> >    * <0 1>                  dpln0         dpln1       usbrx         usbtx
> >    * <2 3>                  usbrx         usbtx       dpln0         dpln1
> >    * ---------------------------------------------------------------------------
> > + * if 1 lane for dp function, 2 lane for usb function, define rockchip,dp-lane-mux = <x>;
> > + * sample as follow:
> > + * ---------------------------------------------------------------------------
> > + *                        B11-B10       A2-A3       A11-A10       B2-B3
> > + * rockchip,dp-lane-mux   ln0(tx/rx)    ln1(tx)     ln2(tx/rx)    ln3(tx)
> > + * <0>                    dpln0         \           usbrx         usbtx
> > + * ---------------------------------------------------------------------------
> >    */
> >   static void rk_udphy_dplane_select(struct rk_udphy *udphy)
> > @@ -544,18 +552,18 @@ static void rk_udphy_dplane_select(struct rk_udphy *udphy)
> >   	const struct rk_udphy_cfg *cfg = udphy->cfgs;
> >   	u32 value = 0;
> > -	switch (udphy->mode) {
> > -	case UDPHY_MODE_DP:
> > -		value |= 2 << udphy->dp_lane_sel[2] * 2;
> > +	switch (udphy->dp_lanes) {
> > +	case 4:
> >   		value |= 3 << udphy->dp_lane_sel[3] * 2;
> > +		value |= 2 << udphy->dp_lane_sel[2] * 2;
> >   		fallthrough;
> > -	case UDPHY_MODE_DP_USB:
> > -		value |= 0 << udphy->dp_lane_sel[0] * 2;
> > +	case 2:
> >   		value |= 1 << udphy->dp_lane_sel[1] * 2;
> > -		break;
> > +		fallthrough;
> > -	case UDPHY_MODE_USB:
> > +	case 1:
> > +		value |= 0 << udphy->dp_lane_sel[0] * 2;
> 
> What's the point of keeping this no-op calculation ?

This function is cleaned up in a later patch to no longer have the
switch/case at all ("Cleanup DP lane selection function"). I kept
the no-op calculation here, since it IMHO makes it easier to understand
the cleanup patch and will be optimized away by the compiler anyways.

(I will send out a new patch series in a jiffy)

Greetings,

-- Sebastian

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2026-06-12 15:58 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-28 16:13 [PATCH v4 00/16] phy: rockchip: usbdp: Fixes, DP 1-lane support and cleanups Sebastian Reichel
2026-04-28 16:13 ` Sebastian Reichel
2026-04-28 16:13 ` Sebastian Reichel
2026-04-28 16:13 ` [PATCH v4 01/16] dt-bindings: phy: rockchip-usbdp: add improved ports scheme Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-05 15:44   ` Rob Herring
2026-05-05 15:44     ` Rob Herring
2026-05-05 15:44     ` Rob Herring
2026-05-05 15:45   ` Rob Herring (Arm)
2026-05-05 15:45     ` Rob Herring (Arm)
2026-05-05 15:45     ` Rob Herring (Arm)
2026-04-28 16:13 ` [PATCH v4 02/16] phy: rockchip: usbdp: Do not loose USB3 PHY status Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:47   ` Neil Armstrong
2026-05-06 14:47     ` Neil Armstrong
2026-05-06 14:47     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 03/16] phy: rockchip: usbdp: Keep clocks running on PHY re-init Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:49   ` Neil Armstrong
2026-05-06 14:49     ` Neil Armstrong
2026-05-06 14:49     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 04/16] phy: rockchip: usbdp: Amend SSC modulation deviation Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:49   ` Neil Armstrong
2026-05-06 14:49     ` Neil Armstrong
2026-05-06 14:49     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 05/16] phy: rockchip: usbdp: Fix LFPS detect threshold control Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:49   ` Neil Armstrong
2026-05-06 14:49     ` Neil Armstrong
2026-05-06 14:49     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 06/16] phy: rockchip: usbdp: Add missing mode_change update Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:50   ` Neil Armstrong
2026-05-06 14:50     ` Neil Armstrong
2026-05-06 14:50     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 07/16] phy: rockchip: usbdp: Support single-lane DP Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:53   ` Neil Armstrong
2026-05-06 14:53     ` Neil Armstrong
2026-05-06 14:53     ` Neil Armstrong
2026-06-12 15:57     ` Sebastian Reichel [this message]
2026-06-12 15:57       ` Sebastian Reichel
2026-06-12 15:57       ` Sebastian Reichel
2026-04-28 16:13 ` [PATCH v4 08/16] phy: rockchip: usbdp: Rename DP lane functions Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:53   ` Neil Armstrong
2026-05-06 14:53     ` Neil Armstrong
2026-05-06 14:53     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 09/16] phy: rockchip: usbdp: Use FIELD_PREP_WM16_CONST Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:54   ` Neil Armstrong
2026-05-06 14:54     ` Neil Armstrong
2026-05-06 14:54     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 10/16] phy: rockchip: usbdp: Cleanup DP lane selection function Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:55   ` Neil Armstrong
2026-05-06 14:55     ` Neil Armstrong
2026-05-06 14:55     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 11/16] phy: rockchip: usbdp: Register DP aux bridge Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-06 14:56   ` Neil Armstrong
2026-05-06 14:56     ` Neil Armstrong
2026-05-06 14:56     ` Neil Armstrong
2026-04-28 16:13 ` [PATCH v4 12/16] phy: rockchip: usbdp: Drop DP HPD handling Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13 ` [PATCH v4 13/16] phy: rockchip: usbdp: Rename mode_change to phy_needs_reinit Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13 ` [PATCH v4 14/16] phy: rockchip: usbdp: Re-init the PHY on orientation change Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13 ` [PATCH v4 15/16] phy: rockchip: usbdp: Factor out lane_mux_sel setup Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13 ` [PATCH v4 16/16] phy: rockchip: usbdp: Use guard functions for mutex Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-04-28 16:13   ` Sebastian Reichel
2026-05-03 16:50 ` [PATCH v4 00/16] phy: rockchip: usbdp: Fixes, DP 1-lane support and cleanups Vinod Koul
2026-05-03 16:50   ` Vinod Koul
2026-05-03 16:50   ` Vinod Koul
2026-05-03 19:12   ` Heiko Stuebner
2026-05-03 19:12     ` Heiko Stuebner
2026-05-03 19:12     ` Heiko Stuebner
2026-05-10  7:32     ` Vinod Koul
2026-05-10  7:32       ` Vinod Koul
2026-05-10  7:32       ` Vinod Koul

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=aiwrNQhPsqlqDB-Z@venus \
    --to=sebastian.reichel@collabora.com \
    --cc=alchark@gmail.com \
    --cc=andy.yan@rock-chips.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frank.wang@rock-chips.com \
    --cc=heiko@sntech.de \
    --cc=kernel@collabora.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=lumag@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=robh@kernel.org \
    --cc=vkoul@kernel.org \
    --cc=yubing.zhang@rock-chips.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.