[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM6PR0402MB36079806C9FFFFE18BDE2EAAFFB30@AM6PR0402MB3607.eurprd04.prod.outlook.com>
Date: Mon, 25 May 2020 15:38:45 +0000
From: Andy Duan <fugang.duan@....com>
To: Sascha Hauer <s.hauer@...gutronix.de>
CC: "andrew@...n.ch" <andrew@...n.ch>,
"martin.fuzzey@...wbird.group" <martin.fuzzey@...wbird.group>,
"davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"kuba@...nel.org" <kuba@...nel.org>
Subject: RE: [EXT] Re: [PATCH net v2 1/4] net: ethernet: fec: move GPR
register offset and bit into DT
From: Sascha Hauer <s.hauer@...gutronix.de> Sent: Monday, May 25, 2020 6:49 PM
> On Mon, May 25, 2020 at 03:09:26PM +0800, fugang.duan@....com wrote:
> > From: Fugang Duan <fugang.duan@....com>
> >
> > The commit da722186f654 (net: fec: set GPR bit on suspend by DT
> > configuration) set the GPR reigster offset and bit in driver for wake
> > on lan feature.
> >
> > But it introduces two issues here:
> > - one SOC has two instances, they have different bit
> > - different SOCs may have different offset and bit
> >
> > So to support wake-on-lan feature on other i.MX platforms, it should
> > configure the GPR reigster offset and bit from DT.
> >
> > So the patch is to improve the commit da722186f654 (net: fec: set GPR
> > bit on suspend by DT configuration) to support multiple ethernet
> > instances on i.MX series.
> >
> > v2:
> > * switch back to store the quirks bitmask in driver_data
> >
> > Signed-off-by: Fugang Duan <fugang.duan@....com>
> > ---
> > drivers/net/ethernet/freescale/fec_main.c | 103
> > ++++++++++--------------------
> > 1 file changed, 34 insertions(+), 69 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/freescale/fec_main.c
> > b/drivers/net/ethernet/freescale/fec_main.c
> > index 2e20914..4f55d30 100644
> > --- a/drivers/net/ethernet/freescale/fec_main.c
> > +++ b/drivers/net/ethernet/freescale/fec_main.c
> > @@ -86,56 +86,6 @@ static void fec_enet_itr_coal_init(struct net_device
> *ndev);
> > #define FEC_ENET_OPD_V 0xFFF0
> > #define FEC_MDIO_PM_TIMEOUT 100 /* ms */
> >
> > -struct fec_devinfo {
> > - u32 quirks;
> > - u8 stop_gpr_reg;
> > - u8 stop_gpr_bit;
> > -};
>
> Honestly I like the approach of having a struct fec_devinfo for abstracting
> differences between different hardware variants. It gives you more freedom
> to describe the differences. Converting this back to a single bitfield is a step
> backward, even when currently struct fec_devinfo only contains a single
> value.
>
> Sascha
>
Sascha, thanks for your review.
v1 patch is doing like this by using a struct fec_devinfo for abstracting differences.
In fact, I also like v1 method.
I will send the v3 version by using v1 patch.
> --
> Pengutronix e.K. |
> |
> Steuerwalder Str. 21 |
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.p
> engutronix.de%2F&data=02%7C01%7Cfugang.duan%40nxp.com%7C2ae
> 2657af251492ced5608d80099384e%7C686ea1d3bc2b4c6fa92cd99c5c30163
> 5%7C0%7C0%7C637260005356084997&sdata=sarhmRepUf1o4hCZ8WH
> oSBrg%2Fl128jz%2BNXxHRGAM%2FL0%3D&reserved=0 |
> 31137 Hildesheim, Germany | Phone:
> +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax:
> +49-5121-206917-5555 |
Powered by blists - more mailing lists