[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CO6PR18MB387343A510B3C5A9C5E004B2B0BE9@CO6PR18MB3873.namprd18.prod.outlook.com>
Date: Sun, 24 Jan 2021 13:55:42 +0000
From: Stefan Chulski <stefanc@...vell.com>
To: Russell King - ARM Linux admin <linux@...linux.org.uk>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"thomas.petazzoni@...tlin.com" <thomas.petazzoni@...tlin.com>,
"davem@...emloft.net" <davem@...emloft.net>,
Nadav Haklai <nadavh@...vell.com>,
Yan Markman <ymarkman@...vell.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kuba@...nel.org" <kuba@...nel.org>,
"mw@...ihalf.com" <mw@...ihalf.com>,
"andrew@...n.ch" <andrew@...n.ch>,
"atenart@...nel.org" <atenart@...nel.org>
Subject: RE: [EXT] Re: [PATCH v2 RFC net-next 04/18] net: mvpp2: add PPv23
version definition
> > Signed-off-by: Stefan Chulski <stefanc@...vell.com>
> > ---
> > drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 24 ++++++++++++------
> --
> > 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.h
> > b/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 0x11
>
> Looking 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.
Powered by blists - more mailing lists