On Thu, Jun 14, 2018 at 10:23 AM Jose Abreu <jose.ab...@synopsys.com> wrote: > > On 14-06-2018 15:21, Dinh Nguyen wrote: > > > > [ 0.835537] socfpga-dwmac ff702000.ethernet: PTP uses main clock > > [ 0.841794] socfpga-dwmac ff702000.ethernet: Version ID not available > > [ 0.848223] socfpga-dwmac ff702000.ethernet: DWMAC1000 > > [ 0.853454] socfpga-dwmac ff702000.ethernet: Normal descriptors > > [ 0.859357] socfpga-dwmac ff702000.ethernet: Ring mode enabled > > [ 0.865184] socfpga-dwmac ff702000.ethernet: DMA HW capability register > > suppo > > rted > > [ 0.872654] socfpga-dwmac ff702000.ethernet: RX Checksum Offload Engine > > suppo > > rted > > [ 0.880113] socfpga-dwmac ff702000.ethernet: COE Type 2 > > [ 0.885329] socfpga-dwmac ff702000.ethernet: TX Checksum insertion > > supported > > > > Interesting ... Please check if bellow patch makes thing work > again (if not please send me the resultant dmesg log and also the > log without the problematic patch that you identified): > > -------------------->8------------------ > diff --git a/drivers/net/ethernet/stmicro/stmmac/hwif.c > b/drivers/net/ethernet/stmicro/stmmac/hwif.c > index 14770fc..1961819 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/hwif.c > +++ b/drivers/net/ethernet/stmicro/stmmac/hwif.c > @@ -252,12 +252,8 @@ int stmmac_hwif_init(struct stmmac_priv *priv) > return ret; > } > > - /* Run quirks, if needed */ > - if (entry->quirks) { > - ret = entry->quirks(priv); > - if (ret) > - return ret; > - } > + /* Save quirks, if needed for posterior use */ > + priv->hwif_quirks = entry->quirks; > > return 0; > } > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h > b/drivers/net/ethernet/stmicro/stmmac/stmmac.h > index 025efbf..be7da43 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h > @@ -193,6 +193,9 @@ struct stmmac_priv { > > /* Pulse Per Second output */ > struct stmmac_pps_cfg pps[STMMAC_PPS_MAX]; > + > + /* DEBUG */ > + int (*hwif_quirks)(struct stmmac_priv *priv); > }; > > enum stmmac_state { > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index 11fb7c7..fbe74f2 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -4130,6 +4130,12 @@ static int stmmac_hw_init(struct > stmmac_priv *priv) > if (priv->dma_cap.tsoen) > dev_info(priv->device, "TSO supported\n"); > > + if (priv->hwif_quirks) { > + ret = priv->hwif_quirks(priv); > + if (ret) > + return ret; > + } > + > return 0; > } > > -------------------->8------------------ >
The above patch fixed it! Dinh