All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alvin Šipraga" <alvin.sipraga@analog.com>
To: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Cc: linusw@kernel.org, andrew@lunn.ch, olteanv@gmail.com,
	kuba@kernel.org, davem@davemloft.net, edumazet@google.com,
	pabeni@redhat.com, linux@armlinux.org.uk, luizluca@gmail.com,
	maxime.chevallier@bootlin.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v7 08/10] net: dsa: realtek: rtl8365mb: re-latch the family D SerDes
Date: Wed, 4 Nov 2026 13:57:24 +0100	[thread overview]
Message-ID: <ausrVrtHQHvac9bV@analog.com> (raw)
In-Reply-To: <3ecac0ea-830b-47a0-931a-67fea637f0c3@yahoo.com>

On Mon, Nov 02, 2026 at 03:43:45PM +0100, Mieczyslaw Nalewaj wrote:
> The family D receiver latches on the DISABLE -> HSGMII edge in SDS_MISC
> rather than on the value, and it will not latch until the MAC at the
> other end of the trunk has brought its own half of the link up. If it
> does not latch, the trunk reports 2.5Gbps/Full on both sides but moves
> no frames: the CPU MAC transmits, the switch CPU port counts no octets,
> and there are no CRC, alignment or FIFO errors.

[...]

>  
>  #define pcs_to_rtl8365mb(_pcs) container_of((_pcs), struct rtl8365mb, pcs)
> @@ -1357,43 +1404,53 @@ static int rtl8365mb_ext_config_rgmii(struct realtek_priv *priv, int port,
>  static int rtl8365mb_sds_write(struct realtek_priv *priv, u8 index,
>  			       u16 addr, u16 data)
>  {
> +	struct rtl8365mb *mb = priv->chip_data;
>  	int ret;
>  
> +	mutex_lock(&mb->sds_lock);

OK, I don't think I can give a particularly good review of this patch
since I didn't follow the previous work for SerDes support... But at
least, can you use guard(mutex)() here? ;-) And elsewhere it might
apply.

> +
>  	ret = regmap_write(priv->map, RTL8365MB_SDS_INDACS_DATA_REG, data);
>  	if (ret)
> -		return ret;
> +		goto out_unlock;
>  
>  	ret = regmap_write(priv->map, RTL8365MB_SDS_INDACS_ADR_REG, addr);
>  	if (ret)
> -		return ret;
> +		goto out_unlock;
>  
>  	/* The SerDes indirect access engine completes the command within the
>  	 * register write transaction, so there is no need to wait or poll for
>  	 * completion before the next access, matching the vendor driver.
>  	 */
> -	return regmap_write(priv->map, RTL8365MB_SDS_INDACS_CMD_REG,
> -			    RTL8365MB_SDS_INDACS_CMD_RUN_MASK |
> -			    RTL8365MB_SDS_INDACS_CMD_WR_MASK |
> -			    FIELD_PREP(RTL8365MB_SDS_INDACS_CMD_INDEX_MASK,
> -				       index));
> +	ret = regmap_write(priv->map, RTL8365MB_SDS_INDACS_CMD_REG,
> +			   RTL8365MB_SDS_INDACS_CMD_RUN_MASK |
> +			   RTL8365MB_SDS_INDACS_CMD_WR_MASK |
> +			   FIELD_PREP(RTL8365MB_SDS_INDACS_CMD_INDEX_MASK,
> +				      index));
> +
> +out_unlock:
> +	mutex_unlock(&mb->sds_lock);
> +	return ret;
>  }
>  
>  static int rtl8365mb_sds_read(struct realtek_priv *priv, u8 index,
>  			      u16 addr, u16 *data)
>  {
> +	struct rtl8365mb *mb = priv->chip_data;
>  	u32 val;
>  	int ret;
>  
> +	mutex_lock(&mb->sds_lock);

Like here, etc.

Kind regards,
Alvin

  reply	other threads:[~2026-11-04 12:57 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3bf4dd70-9771-497b-8c27-e925e0ef81eb.ref@yahoo.com>
2026-11-02 14:34 ` [PATCH net-next v7 0/10] net: dsa: realtek: rtl8365mb: add support for RTL8367S-VB Mieczyslaw Nalewaj
2026-11-02 14:36   ` [PATCH net-next v7 01/10] dt-bindings: net: dsa: realtek: add RTL8367S-VB Mieczyslaw Nalewaj
2026-11-02 14:37   ` [PATCH net-next v7 02/10] net: dsa: realtek: rtl8365mb: add chip family infrastructure Mieczyslaw Nalewaj
2026-11-02 14:38   ` [PATCH net-next v7 03/10] net: dsa: realtek: rtl8365mb: set speed for family D Mieczyslaw Nalewaj
2026-11-04 12:20     ` Alvin Šipraga
2026-11-02 14:39   ` [PATCH net-next v7 04/10] net: dsa: realtek: rtl8365mb: set RGMII mode " Mieczyslaw Nalewaj
2026-11-04 12:39     ` Alvin Šipraga
2026-11-05  7:56       ` Mieczyslaw Nalewaj
2026-11-05 12:39         ` Alvin Šipraga
2026-11-05 15:27           ` Mieczyslaw Nalewaj
2026-11-06 13:50             ` Alvin Šipraga
2026-11-06 14:56               ` Mieczyslaw Nalewaj
2026-11-06 15:15                 ` Alvin Šipraga
2026-11-06 16:43                   ` Mieczyslaw Nalewaj
2026-11-06 15:11               ` Mieczyslaw Nalewaj
2026-11-02 14:40   ` [PATCH net-next v7 05/10] net: dsa: realtek: rtl8365mb: set and get vlan 4k " Mieczyslaw Nalewaj
2026-11-04 12:45     ` Alvin Šipraga
2026-11-02 14:41   ` [PATCH net-next v7 06/10] net: dsa: realtek: rtl8365mb: use raw VID for PVID on " Mieczyslaw Nalewaj
2026-11-02 14:42   ` [PATCH net-next v7 07/10] net: dsa: realtek: rtl8365mb: add family D SDS13 PCS support Mieczyslaw Nalewaj
2026-11-02 14:43   ` [PATCH net-next v7 08/10] net: dsa: realtek: rtl8365mb: re-latch the family D SerDes Mieczyslaw Nalewaj
2026-11-04 12:57     ` Alvin Šipraga [this message]
2026-11-05  7:18       ` Mieczyslaw Nalewaj
2026-11-05  8:52         ` Alvin Šipraga
2026-11-05 10:24           ` Mieczyslaw Nalewaj
2026-11-05 12:09             ` Alvin Šipraga
2026-11-06 14:28     ` Alvin Šipraga
2026-11-06 14:56       ` Mieczyslaw Nalewaj
2026-11-06 15:46         ` Alvin Šipraga
2026-11-06 15:49       ` Andrew Lunn
2026-11-02 14:44   ` [PATCH net-next v7 09/10] net: dsa: realtek: rtl8365mb: make L2/LUT access work on family D Mieczyslaw Nalewaj
2026-11-03 15:36     ` Alvin Šipraga
2026-11-03 16:44       ` Mieczyslaw Nalewaj
2026-11-02 14:45   ` [PATCH net-next v7 10/10] net: dsa: realtek: rtl8365mb: add support for RTL8367S-VB Mieczyslaw Nalewaj
2026-11-03 22:52     ` Alvin Šipraga
2026-11-03 23:41       ` Mieczyslaw Nalewaj
2026-11-04  9:40         ` Mieczyslaw Nalewaj
2026-11-04 13:14           ` Alvin Šipraga
2026-11-04 16:37             ` Mieczyslaw Nalewaj

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=ausrVrtHQHvac9bV@analog.com \
    --to=alvin.sipraga@analog.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=luizluca@gmail.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=namiltd@yahoo.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.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.