On Mon, Dec 13, 2021 at 12:45:46PM +0800, Xiaoliang Yang wrote: > Eqos ethernet support five queues on hardware, enable these queues and > configure the priority of each queue. Uses Strict Priority as scheduling > algorithms to ensure that the TSN function works. > > The priority of each queue is a bitmask value that maps VLAN tag > priority to the queue. Since the hardware only supports five queues, > this patch maps priority 0-4 to queues one by one, and priority 5-7 to > queue 4. > > The total fifo size of 5 queues is 8192 bytes, if enable 5 queues with > store-and-forward mode, it's not enough for large packets, which would > trigger fifo overflow frequently. This patch set DMA to thresh mode to > enable all 5 queues. > > Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@xxxxxxx> > --- > arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 57 ++++++++++++++++++++ > 1 file changed, 57 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts > index 7b99fad6e4d6..e4c69594f067 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts > @@ -86,6 +86,9 @@ > pinctrl-0 = <&pinctrl_eqos>; > phy-mode = "rgmii-id"; > phy-handle = <ðphy0>; > + snps,force_thresh_dma_mode; > + snps,mtl-tx-config = <&mtl_tx_setup>; > + snps,mtl-rx-config = <&mtl_rx_setup>; > status = "okay"; > > mdio { > @@ -99,6 +102,60 @@ > eee-broken-1000t; > }; > }; > + > + mtl_tx_setup: tx-queues-config { > + snps,tx-queues-to-use = <5>; > + snps,tx-sched-sp; Please have a newline between properties and child node ... > + queue0 { > + snps,dcb-algorithm; > + snps,priority = <0x1>; > + }; ... and also between nodes. > + queue1 { > + snps,dcb-algorithm; > + snps,priority = <0x2>; > + }; > + queue2 { > + snps,dcb-algorithm; > + snps,priority = <0x4>; > + }; > + queue3 { > + snps,dcb-algorithm; > + snps,priority = <0x8>; > + }; > + queue4 { > + snps,dcb-algorithm; > + snps,priority = <0xf0>; > + }; > + }; Ditto Shawn > + mtl_rx_setup: rx-queues-config { > + snps,rx-queues-to-use = <5>; > + snps,rx-sched-sp; > + queue0 { > + snps,dcb-algorithm; > + snps,priority = <0x1>; > + snps,map-to-dma-channel = <0>; > + }; > + queue1 { > + snps,dcb-algorithm; > + snps,priority = <0x2>; > + snps,map-to-dma-channel = <1>; > + }; > + queue2 { > + snps,dcb-algorithm; > + snps,priority = <0x4>; > + snps,map-to-dma-channel = <2>; > + }; > + queue3 { > + snps,dcb-algorithm; > + snps,priority = <0x8>; > + snps,map-to-dma-channel = <3>; > + }; > + queue4 { > + snps,dcb-algorithm; > + snps,priority = <0xf0>; > + snps,map-to-dma-channel = <4>; > + }; > + }; > }; > > &fec { > -- > 2.17.1 >