[PATCH net] net: stmmac: xgmac: Fix support for multiple Flexible PPS outputs

Serge Semin fancer.lancer at gmail.com
Mon Oct 30 05:16:48 PDT 2023


On Mon, Oct 30, 2023 at 02:03:50PM +0300, Serge Semin wrote:
> On Fri, Oct 27, 2023 at 10:56:03AM +0800, Furong Xu wrote:
> > From XGMAC Core 3.20 and later, each Flexible PPS has individual PPSEN bit
> > to select Fixed mode or Flexible mode. The PPSEN must be set, or it stays
> > in Fixed PPS mode by default.
> > XGMAC Core prior 3.20, corresponding PPSEN bits are read-only reserved,
> > always set PPSEN do not make things worse ;)
> > 
> > Fixes: 95eaf3cd0a90 ("net: stmmac: dwxgmac: Add Flexible PPS support")
> > Signed-off-by: Furong Xu <0x1207 at gmail.com>
> 
> Please don't forget to add the already got tags shall you need more
> patch revisions.
> 
> Reviewed-by: Serge Semin <fancer.lancer at gmail.com>

Ops, this was intended to be sent for v2... I'll send a copy there.

-Serge(y)

> 
> -Serge(y)
> 
> > ---
> >  drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h      | 2 +-
> >  drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h
> > index 7a8f47e7b728..a4e8b498dea9 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h
> > +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h
> > @@ -259,7 +259,7 @@
> >  	((val) << XGMAC_PPS_MINIDX(x))
> >  #define XGMAC_PPSCMD_START		0x2
> >  #define XGMAC_PPSCMD_STOP		0x5
> > -#define XGMAC_PPSEN0			BIT(4)
> > +#define XGMAC_PPSENx(x)			BIT(4 + (x) * 8)
> >  #define XGMAC_PPSx_TARGET_TIME_SEC(x)	(0x00000d80 + (x) * 0x10)
> >  #define XGMAC_PPSx_TARGET_TIME_NSEC(x)	(0x00000d84 + (x) * 0x10)
> >  #define XGMAC_TRGTBUSY0			BIT(31)
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
> > index f352be269deb..53bb8f16c481 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
> > @@ -1178,7 +1178,7 @@ static int dwxgmac2_flex_pps_config(void __iomem *ioaddr, int index,
> >  
> >  	val |= XGMAC_PPSCMDx(index, XGMAC_PPSCMD_START);
> >  	val |= XGMAC_TRGTMODSELx(index, XGMAC_PPSCMD_START);
> > -	val |= XGMAC_PPSEN0;
> > +	val |= XGMAC_PPSENx(index);
> >  
> >  	writel(cfg->start.tv_sec, ioaddr + XGMAC_PPSx_TARGET_TIME_SEC(index));
> >  
> > -- 
> > 2.34.1
> > 
> > 



More information about the linux-arm-kernel mailing list