All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Tristram.Ha@microchip.com
Cc: Woojung Huh <woojung.huh@microchip.com>,
	Andrew Lunn <andrew@lunn.ch>, Vladimir Oltean <olteanv@gmail.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Marek Vasut <marex@denx.de>,
	UNGLinuxDriver@microchip.com, devicetree@vger.kernel.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v4 2/7] net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver
Date: Sun, 20 Jul 2025 11:24:06 +0100	[thread overview]
Message-ID: <20250720102406.GS2459@horms.kernel.org> (raw)
In-Reply-To: <20250719012106.257968-3-Tristram.Ha@microchip.com>

On Fri, Jul 18, 2025 at 06:21:01PM -0700, Tristram.Ha@microchip.com wrote:
> From: Tristram Ha <tristram.ha@microchip.com>
> 
> KSZ8463 switch is a 3-port switch based from KSZ8863.  Its major
> difference from other KSZ SPI switches is its register access is not a
> simple continual 8-bit transfer with automatic address increase but uses
> a byte-enable mechanism specifying 8-bit, 16-bit, or 32-bit access.  Its
> registers are also defined in 16-bit format because it shares a design
> with a MAC controller using 16-bit access.  As a result some common
> register accesses need to be re-arranged.  The 64-bit access used by
> other switches needs to be broken into 2 32-bit accesses.
> 
> This patch adds the basic structure for using KSZ8463.  It cannot use the
> same regmap table for other KSZ switches as it interprets the 16-bit
> value as little-endian and its SPI commands are different.
> 
> KSZ8463's internal PHYs use standard PHY register definitions so there is
> no need to remap things.  However, the hardware has a bug that the high
> word and low word of the PHY id are swapped.  In addition the port
> registers are arranged differently so KSZ8463 has its own mapping for
> port registers and PHY registers.
> 
> Signed-off-by: Tristram Ha <tristram.ha@microchip.com>

...

> diff --git a/drivers/net/dsa/microchip/ksz8.c b/drivers/net/dsa/microchip/ksz8.c

...

> +static inline u16 ksz8463_get_phy_addr(u16 phy, u16 reg, u16 offset)
> +{
> +	return offset + reg * 2 + phy * (P2MBCR - P1MBCR);
> +}

nit: Please do not use the inline keyword in .c files,
     unless there is a demonstrable (usually performance) reason to do so.
     Rather, let the compiler inline (or not) code as it sees fit.

...

  reply	other threads:[~2025-07-20 10:24 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-19  1:20 [PATCH net-next v4 0/7] net: dsa: microchip: Add KSZ8463 switch support Tristram.Ha
2025-07-19  1:21 ` [PATCH net-next v4 1/7] dt-bindings: " Tristram.Ha
2025-07-19  1:21 ` [PATCH net-next v4 2/7] net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver Tristram.Ha
2025-07-20 10:24   ` Simon Horman [this message]
2025-07-19  1:21 ` [PATCH net-next v4 3/7] net: dsa: microchip: Transform register for use with KSZ8463 Tristram.Ha
2025-07-20 15:56   ` Andrew Lunn
2025-07-19  1:21 ` [PATCH net-next v4 4/7] net: dsa: microchip: Use different registers for KSZ8463 Tristram.Ha
2025-07-20 10:17   ` Simon Horman
2025-07-20 10:22     ` Simon Horman
2025-07-23  2:25       ` Tristram.Ha
2025-07-23 16:21         ` Simon Horman
2025-07-24  2:28           ` Tristram.Ha
2025-07-24 21:35             ` Simon Horman
2025-07-25  0:17               ` Tristram.Ha
2025-07-25  7:29                 ` Simon Horman
2025-07-19  1:21 ` [PATCH net-next v4 5/7] net: dsa: microchip: Write switch MAC address differently " Tristram.Ha
2025-07-19  1:21 ` [PATCH net-next v4 6/7] net: dsa: microchip: Setup fiber ports " Tristram.Ha
2025-07-19  1:21 ` [PATCH net-next v4 7/7] net: dsa: microchip: Disable PTP function of KSZ8463 Tristram.Ha

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=20250720102406.GS2459@horms.kernel.org \
    --to=horms@kernel.org \
    --cc=Tristram.Ha@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=andrew@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=maxime.chevallier@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=woojung.huh@microchip.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.