From: Shawn Guo <shawnguo@kernel.org>
To: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Cc: robh+dt@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com,
linux-arm-kernel@lists.infradead.org,
linux-tegra@vger.kernel.org, linux-imx@nxp.com,
kernel@pengutronix.de, devicetree@vger.kernel.org,
qiangqing.zhang@nxp.com
Subject: Re: [PATCH v2] arm64: dts: imx8mp-evk: configure multiple queues on eqos
Date: Thu, 16 Dec 2021 14:49:23 +0800 [thread overview]
Message-ID: <20211216064922.GW4216@dragon> (raw)
In-Reply-To: <20211213044546.9903-1-xiaoliang.yang_1@nxp.com>
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@nxp.com>
> ---
> 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
>
WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawnguo@kernel.org>
To: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Cc: robh+dt@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com,
linux-arm-kernel@lists.infradead.org,
linux-tegra@vger.kernel.org, linux-imx@nxp.com,
kernel@pengutronix.de, devicetree@vger.kernel.org,
qiangqing.zhang@nxp.com
Subject: Re: [PATCH v2] arm64: dts: imx8mp-evk: configure multiple queues on eqos
Date: Thu, 16 Dec 2021 14:49:23 +0800 [thread overview]
Message-ID: <20211216064922.GW4216@dragon> (raw)
In-Reply-To: <20211213044546.9903-1-xiaoliang.yang_1@nxp.com>
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@nxp.com>
> ---
> 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
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-12-16 6:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-13 4:45 [PATCH v2] arm64: dts: imx8mp-evk: configure multiple queues on eqos Xiaoliang Yang
2021-12-13 4:45 ` Xiaoliang Yang
2021-12-13 6:22 ` Joakim Zhang
2021-12-13 6:22 ` Joakim Zhang
2021-12-16 6:49 ` Shawn Guo [this message]
2021-12-16 6:49 ` Shawn Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211216064922.GW4216@dragon \
--to=shawnguo@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-tegra@vger.kernel.org \
--cc=qiangqing.zhang@nxp.com \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=xiaoliang.yang_1@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.