[PATCH 3/3] stmmac: Add AXI burst length support to platform device.
Chen Baozi
cbz at baozis.org
Mon Feb 9 16:02:58 PST 2015
On Mon, Feb 09, 2015 at 12:04:43PM +0000, Mark Rutland wrote:
> On Sat, Feb 07, 2015 at 05:07:16AM +0000, Chen Baozi wrote:
> > The AXI Bus Mode Register controls the AXI master behavior. It is mainly
> > used to control the burst splitting and the number of outstanding requests.
> > This register is present and valid only in GMAC-AXI configuration. The old
> > driver only supports this feature on PCI devices. This patch adds an
> > 'snps,apl' properties in DT to enable it on platform devices.
> >
> > Signed-off-by: Chen Baozi <chenbaozi at kylinos.com.cn>
> > ---
> > Documentation/devicetree/bindings/net/stmmac.txt | 1 +
> > drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 1 +
> > 2 files changed, 2 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
> > index c41afd9..8f3c834 100644
> > --- a/Documentation/devicetree/bindings/net/stmmac.txt
> > +++ b/Documentation/devicetree/bindings/net/stmmac.txt
> > @@ -43,6 +43,7 @@ Optional properties:
> > available this clock is used for programming the Timestamp Addend Register.
> > If not passed then the system clock will be used and this is fine on some
> > platforms.
> > +- snps,abl: AXI Burst Length
>
> This is not a good name (though I see it follows "snps,pbl", which is
> also not a good name)...
Any idea for a better name?
>
> Why does this need to be in the DT? Is this required for correctness? Or
> performance?
This is required for correctness. Otherwise, the driver would write
'0' to the register by default, which makes the driver not work.
Cheers,
Baozi.
>
> Thanks,
> Mark.
>
> >
> > Examples:
> >
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> > index 3039de2..abbc897 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> > @@ -230,6 +230,7 @@ static int stmmac_probe_config_dt(struct platform_device *pdev,
> > return -ENOMEM;
> > plat->dma_cfg = dma_cfg;
> > of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
> > + of_property_read_u32(np, "snps,abl", &dma_cfg->burst_len);
> > dma_cfg->fixed_burst =
> > of_property_read_bool(np, "snps,fixed-burst");
> > dma_cfg->mixed_burst =
> > --
> > 2.1.4
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list