diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch b/target/linux/bcm27xx/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch new file mode 100644 index 0000000000..27cd2aff50 --- /dev/null +++ b/target/linux/bcm27xx/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch @@ -0,0 +1,42 @@ +From cce15c51f1afbb1aa9d5f7779c9f7c0a17b39701 Mon Sep 17 00:00:00 2001 +From: Lukas Wunner <lukas@wunner.de> +Date: Thu, 9 May 2019 19:03:00 +0200 +Subject: [PATCH] ARM: bcm283x: Enable DMA support for SPI controller +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this, the driver for the BCM2835 SPI controller uses interrupt +mode instead of DMA mode, incurring a significant performance penalty. +The Foundation's device tree has had these attributes for years, but for +some reason they were never upstreamed. + +They were originally contributed by Noralf Trønnes and Martin Sperl: +https://github.com/raspberrypi/linux/commit/25f3e064afc8 +https://github.com/raspberrypi/linux/commit/e0edb52b47e6 + +The DREQ numbers 6 and 7 are documented in section 4.2.1.3 of: +https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf + +Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Signed-off-by: Lukas Wunner <lukas@wunner.de> +Reviewed-by: Eric Anholt <eric@anholt.net> +Reviewed-by: Martin Sperl <kernel@martin.sperl.org> +Signed-off-by: Stefan Wahren <wahrenst@gmx.net> +Cc: Martin Sperl <kernel@martin.sperl.org> +Cc: Noralf Trønnes <noralf@tronnes.org> +--- + arch/arm/boot/dts/bcm283x.dtsi | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -403,6 +403,8 @@ + reg = <0x7e204000 0x200>; + interrupts = <2 22>; + clocks = <&clocks BCM2835_CLOCK_VPU>; ++ dmas = <&dma 6>, <&dma 7>; ++ dma-names = "tx", "rx"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; |