* [PATCH v2 0/4] i2c: imx: Fix and enable DMA support for LS1021A
@ 2018-07-09 9:43 Esben Haabendal
2018-07-09 9:43 ` [PATCH v2 4/4] arm: dts: ls1021a: Enable I2C DMA support Esben Haabendal
0 siblings, 1 reply; 3+ messages in thread
From: Esben Haabendal @ 2018-07-09 9:43 UTC (permalink / raw)
To: linux-i2c, devicetree
Cc: Wolfram Sang, Uwe Kleine-König, Rob Herring, Mark Rutland,
Yuan Yao, Esben Haabendal
From: Esben Haabendal <eha@deif.com>
This patch series fixes two race conditions and minor issues with tracking
the stopped state when something goes wrong.
With that in place, DMA support works with NXP LS1021A, so it is enabled in
the last patch.
Changes in v2:
* Fixed speling mistake in commit message
* Rebased to v4.18-rc4
Esben Haabendal (4):
i2c: imx: Fix reinit_completion() use
i2c: imx: Fix race condition in dma read
i2c: imx: Simplify stopped state tracking
arm: dts: ls1021a: Enable I2C DMA support
arch/arm/boot/dts/ls1021a.dtsi | 6 ++++++
drivers/i2c/busses/i2c-imx.c | 23 ++++++++++++-----------
2 files changed, 18 insertions(+), 11 deletions(-)
--
2.18.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 4/4] arm: dts: ls1021a: Enable I2C DMA support
2018-07-09 9:43 [PATCH v2 0/4] i2c: imx: Fix and enable DMA support for LS1021A Esben Haabendal
@ 2018-07-09 9:43 ` Esben Haabendal
2018-07-24 8:02 ` Uwe Kleine-König
0 siblings, 1 reply; 3+ messages in thread
From: Esben Haabendal @ 2018-07-09 9:43 UTC (permalink / raw)
To: linux-i2c
Cc: Wolfram Sang, Uwe Kleine-König, Rob Herring, Mark Rutland,
Yuan Yao, Esben Haabendal, devicetree, linux-kernel
From: Esben Haabendal <eha@deif.com>
Gives substantial performance improvement for transfers larger than 16
bytes (DMA_THRESHOLD). Smaller transfers are unaffected.
Signed-off-by: Esben Haabendal <eha@deif.com>
---
arch/arm/boot/dts/ls1021a.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c55d479971cc..1e5640701c65 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -363,6 +363,8 @@
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "i2c";
clocks = <&clockgen 4 1>;
+ dma-names = "tx", "rx";
+ dmas = <&edma0 1 39>, <&edma0 1 38>;
status = "disabled";
};
@@ -374,6 +376,8 @@
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "i2c";
clocks = <&clockgen 4 1>;
+ dma-names = "tx", "rx";
+ dmas = <&edma0 1 37>, <&edma0 1 36>;
status = "disabled";
};
@@ -385,6 +389,8 @@
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "i2c";
clocks = <&clockgen 4 1>;
+ dma-names = "tx", "rx";
+ dmas = <&edma0 1 35>, <&edma0 1 34>;
status = "disabled";
};
--
2.18.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 4/4] arm: dts: ls1021a: Enable I2C DMA support
2018-07-09 9:43 ` [PATCH v2 4/4] arm: dts: ls1021a: Enable I2C DMA support Esben Haabendal
@ 2018-07-24 8:02 ` Uwe Kleine-König
0 siblings, 0 replies; 3+ messages in thread
From: Uwe Kleine-König @ 2018-07-24 8:02 UTC (permalink / raw)
To: Esben Haabendal
Cc: linux-i2c, Wolfram Sang, Rob Herring, Mark Rutland, Yuan Yao,
Esben Haabendal, devicetree, linux-kernel, Shawn Guo, kernel,
NXP Linux Team
Hello,
expanding Cc a bit to include Shawn and the kernel teams of Pengutronix
and NXP.
On Mon, Jul 09, 2018 at 11:43:04AM +0200, Esben Haabendal wrote:
> From: Esben Haabendal <eha@deif.com>
>
> Gives substantial performance improvement for transfers larger than 16
> bytes (DMA_THRESHOLD). Smaller transfers are unaffected.
>
> Signed-off-by: Esben Haabendal <eha@deif.com>
> ---
> arch/arm/boot/dts/ls1021a.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
> index c55d479971cc..1e5640701c65 100644
> --- a/arch/arm/boot/dts/ls1021a.dtsi
> +++ b/arch/arm/boot/dts/ls1021a.dtsi
> @@ -363,6 +363,8 @@
> interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
> clock-names = "i2c";
> clocks = <&clockgen 4 1>;
> + dma-names = "tx", "rx";
> + dmas = <&edma0 1 39>, <&edma0 1 38>;
> status = "disabled";
> };
>
> @@ -374,6 +376,8 @@
> interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
> clock-names = "i2c";
> clocks = <&clockgen 4 1>;
> + dma-names = "tx", "rx";
> + dmas = <&edma0 1 37>, <&edma0 1 36>;
> status = "disabled";
> };
>
> @@ -385,6 +389,8 @@
> interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> clock-names = "i2c";
> clocks = <&clockgen 4 1>;
> + dma-names = "tx", "rx";
> + dmas = <&edma0 1 35>, <&edma0 1 34>;
> status = "disabled";
> };
This is a bit orthogonal to the other changes in this series and needs
at least an ack from Shawn. Looks ok in my eyes.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-07-24 8:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-09 9:43 [PATCH v2 0/4] i2c: imx: Fix and enable DMA support for LS1021A Esben Haabendal
2018-07-09 9:43 ` [PATCH v2 4/4] arm: dts: ls1021a: Enable I2C DMA support Esben Haabendal
2018-07-24 8:02 ` Uwe Kleine-König
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).