[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0250f01c-f536-8d15-8da0-0318ac8aecc9@gmail.com>
Date: Sun, 22 Sep 2019 10:58:54 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Marek Vasut <marex@...x.de>, netdev@...r.kernel.org
Cc: Andrew Lunn <andrew@...n.ch>,
"David S . Miller" <davem@...emloft.net>,
George McCollister <george.mccollister@...il.com>,
Tristram Ha <Tristram.Ha@...rochip.com>,
Vivien Didelot <vivien.didelot@...oirfairelinux.com>,
Woojung Huh <woojung.huh@...rochip.com>
Subject: Re: [PATCH] net: dsa: microchip: Always set regmap stride to 1
On 9/21/2019 10:53 AM, Marek Vasut wrote:
> The regmap stride is set to 1 for regmap describing 8bit registers already.
> However, for 16/32/64bit registers, the stride is 2/4/8 respectively. This
> is not correct, as the switch protocol supports unaligned register reads
> and writes and the KSZ87xx even uses such unaligned register accesses to
> read e.g. MIB counter.
>
> This patch fixes MIB counter access on KSZ87xx.
Should that be having the following Fixes tag(s):
Fixes: 46558d601cb6 ("net: dsa: microchip: Initial SPI regmap support")
and where relevant:
Fixes: 255b59ad0db2 ("net: dsa: microchip: Factor out regmap config
generation into common header")
>
> Signed-off-by: Marek Vasut <marex@...x.de>
> Cc: Andrew Lunn <andrew@...n.ch>
> Cc: David S. Miller <davem@...emloft.net>
> Cc: Florian Fainelli <f.fainelli@...il.com>
> Cc: George McCollister <george.mccollister@...il.com>
> Cc: Tristram Ha <Tristram.Ha@...rochip.com>
> Cc: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
> Cc: Woojung Huh <woojung.huh@...rochip.com>
> ---
> drivers/net/dsa/microchip/ksz_common.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h
> index a24d8e61fbe7..dd60d0837fc6 100644
> --- a/drivers/net/dsa/microchip/ksz_common.h
> +++ b/drivers/net/dsa/microchip/ksz_common.h
> @@ -303,7 +303,7 @@ static inline void ksz_pwrite32(struct ksz_device *dev, int port, int offset,
> { \
> .name = #width, \
> .val_bits = (width), \
> - .reg_stride = (width) / 8, \
> + .reg_stride = 1, \
> .reg_bits = (regbits) + (regalign), \
> .pad_bits = (regpad), \
> .max_register = BIT(regbits) - 1, \
>
--
Florian
Powered by blists - more mailing lists