RE: [EXT] Re: [PATCH v2 RFC net-next 04/18] net: mvpp2: add PPv23 version definition
From: Stefan Chulski <hidden>
Date: 2021-01-24 13:57:00
Also in:
lkml
quoted
Signed-off-by: Stefan Chulski <redacted> --- drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 24 ++++++++++++--------quoted
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 17 +++++++++----- 2 files changed, 25 insertions(+), 16 deletions(-)diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2.hb/drivers/net/ethernet/marvell/mvpp2/mvpp2.h index aec9179..89b3ede 100644--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h@@ -60,6 +60,9 @@ /* Top Registers */ #define MVPP2_MH_REG(port) (0x5040 + 4 * (port)) #define MVPP2_DSA_EXTENDED BIT(5) +#define MVPP2_VER_ID_REG 0x50b0 +#define MVPP2_VER_PP22 0x10 +#define MVPP2_VER_PP23 0x11Looking at the Armada 8040 docs, it seems this register exists on PPv2.1 as well, and holds the value zero there. I wonder whether we should instead read it's value directly into hw_version, and test against these values, rather than inventing our own verison enum. I've also been wondering whether your != MVPP21 comparisons should instead be >= MVPP22. Any thoughts?
We cannot access PPv2 register space before enabling clocks(done in mvpp2_probe) , PP21 and PP22/23 have different sets of clocks. So diff between PP21 and PP22/23 should be stored in device tree(in of_device_id), with MVPP22 and MVPP21 stored as .data Maybe we can do it differently, but I prefer to make this change not in the Flow Control patch series. I'm OK with both >= MVPP22 and != MVPP21 options. Regards, Stefan.