From: Vladimir Oltean <olteanv@gmail.com>
To: Mark Brown <broonie@kernel.org>
Cc: linux-spi@vger.kernel.org, lkml <linux-kernel@vger.kernel.org>,
devicetree@vger.kernel.org, netdev <netdev@vger.kernel.org>,
Rob Herring <robh@kernel.org>, Shawn Guo <shawnguo@kernel.org>
Subject: Re: [PATCH v2 5/5] ARM: dts: ls1021a-tsn: Use the DSPI controller in poll mode
Date: Mon, 26 Aug 2019 16:10:51 +0300 [thread overview]
Message-ID: <CA+h21hqWGDCfTg813W1WaXFnRsMdE30WnaXw5TJvpkSp0-w5JA@mail.gmail.com> (raw)
In-Reply-To: <20190822211514.19288-6-olteanv@gmail.com>
Hi Mark,
On Fri, 23 Aug 2019 at 00:15, Vladimir Oltean <olteanv@gmail.com> wrote:
>
> Connected to the LS1021A DSPI is the SJA1105 DSA switch. This
> constitutes 4 of the 6 Ethernet ports on this board.
>
> As the SJA1105 is a PTP switch, constant disciplining of its PTP clock
> is necessary, and that translates into a lot of SPI I/O even when
> otherwise idle.
>
> Switching to using the DSPI in poll mode has several distinct
> benefits:
>
> - With interrupts, the DSPI driver in TCFQ mode raises an IRQ after each
> transmitted byte. There is more time wasted for the "waitq" event than
> for actual I/O. And the DSPI IRQ count is by far the largest in
> /proc/interrupts on this board (larger than Ethernet). I should
> mention that due to various LS1021A errata, other operating modes than
> TCFQ are not available.
>
> - The SPI I/O time is both lower, and more consistently so. For a TSN
> switch it is important that all SPI transfers take a deterministic
> time to complete.
> Reading the PTP clock is an important example.
> Egressing through the switch requires some setup in advance (an SPI
> write command). Without this patch, that operation required a
> --tx_timestamp_timeout 50 (ms), now it can be done with
> --tx_timestamp_timeout 10.
> Yet another example is reconstructing timestamps, which has a hard
> deadline because the PTP timestamping counter wraps around in 0.135
> seconds. Combined with other I/O needed for that to happen, there is
> a real risk that the deadline is not always met.
>
> See drivers/net/dsa/sja1105/ for more info about the above.
>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> ---
> arch/arm/boot/dts/ls1021a-tsn.dts | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/boot/dts/ls1021a-tsn.dts b/arch/arm/boot/dts/ls1021a-tsn.dts
> index 5b7689094b70..1c09cfc766af 100644
> --- a/arch/arm/boot/dts/ls1021a-tsn.dts
> +++ b/arch/arm/boot/dts/ls1021a-tsn.dts
> @@ -33,6 +33,7 @@
> };
>
> &dspi0 {
> + /delete-property/ interrupts;
> bus-num = <0>;
> status = "okay";
>
> --
> 2.17.1
>
I noticed you skipped applying this patch, and I'm not sure that Shawn
will review it/take it.
Do you have a better suggestion how I can achieve putting the DSPI
driver in poll mode for this board? A Kconfig option maybe?
Regards,
-Vladimir
next prev parent reply other threads:[~2019-08-26 13:11 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-22 21:15 [PATCH v2 0/5] Poll mode for NXP DSPI driver Vladimir Oltean
2019-08-22 21:15 ` [PATCH v2 1/5] spi: spi-fsl-dspi: Reduce indentation level in dspi_interrupt Vladimir Oltean
2019-08-23 11:02 ` Applied "spi: spi-fsl-dspi: Reduce indentation level in dspi_interrupt" to the spi tree Mark Brown
2019-08-22 21:15 ` [PATCH v2 2/5] spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours Vladimir Oltean
2019-08-23 10:28 ` Mark Brown
2019-08-23 10:30 ` Vladimir Oltean
2019-08-23 10:50 ` Mark Brown
2019-08-23 10:59 ` Mark Brown
2019-08-23 12:06 ` Vladimir Oltean
2019-08-23 21:03 ` Mark Brown
2019-08-23 11:02 ` Applied "spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours" to the spi tree Mark Brown
2019-08-22 21:15 ` [PATCH v2 3/5] spi: spi-fsl-dspi: Remove impossible to reach error check Vladimir Oltean
2019-08-23 11:02 ` Applied "spi: spi-fsl-dspi: Remove impossible to reach error check" to the spi tree Mark Brown
2019-08-22 21:15 ` [PATCH v2 4/5] spi: spi-fsl-dspi: Use poll mode in case the platform IRQ is missing Vladimir Oltean
2019-08-23 11:02 ` Applied "spi: spi-fsl-dspi: Use poll mode in case the platform IRQ is missing" to the spi tree Mark Brown
2019-08-22 21:15 ` [PATCH v2 5/5] ARM: dts: ls1021a-tsn: Use the DSPI controller in poll mode Vladimir Oltean
2019-08-26 13:10 ` Vladimir Oltean [this message]
2019-08-27 18:05 ` Mark Brown
2019-08-27 18:06 ` Vladimir Oltean
2019-08-27 18:13 ` Mark Brown
2019-08-27 18:16 ` Vladimir Oltean
2019-08-27 18:31 ` Mark Brown
2019-09-11 6:33 ` Shawn Guo
2019-09-11 7:00 ` Geert Uytterhoeven
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=CA+h21hqWGDCfTg813W1WaXFnRsMdE30WnaXw5TJvpkSp0-w5JA@mail.gmail.com \
--to=olteanv@gmail.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=robh@kernel.org \
--cc=shawnguo@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).