From e0f401d30f0ef68d8de678016ac2f5f552548c4c Mon Sep 17 00:00:00 2001 From: Matt Porter Date: Sun, 17 Dec 2017 21:52:16 -0500 Subject: linux-renesas: disable DMA on hscif0 If DMA is enabled for HSCIF0, rcar-dmac generates errors and causes data corruption and frame drops with the WiLink8. Disable HSCIF0 DMA to workaround the data corruption and allow skip-free A2DP streaming. Change-Id: Iebdfa12f2568197d4e9ea97ffdd9652113be9d1d Signed-off-by: Matt Porter --- ...64-dts-renesas-disable-r8a7796-hscif0-dma.patch | 34 ++++++++++++++++++++++ .../linux/linux-renesas_4.9.bbappend | 1 + 2 files changed, 35 insertions(+) create mode 100644 meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch (limited to 'meta-rcar-gen3-adas/recipes-kernel/linux') diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch new file mode 100644 index 0000000..31a66b7 --- /dev/null +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch @@ -0,0 +1,34 @@ +From 9f2cf209ef8235f33683ca941fd0d7bdcca4078d Mon Sep 17 00:00:00 2001 +From: Matt Porter +Date: Sun, 17 Dec 2017 21:44:41 -0500 +Subject: [PATCH] arm64: dts: renesas: disable r8a7796 hscif0 dma + +When streaming A2DP audio on WiLink8, DMA errors are +seen from the rcar-dmac driver servicing hscif0. As +a result, data corruption is seen by the UIM service +managing the link to the Wilink8 device. This data +corruption manifests as dropped frames and audibly as +"skips" in the audio playback. + +Workaround this issue by disabling DMA for hscif0. + +Signed-off-by: Matt Porter +--- + arch/arm64/boot/dts/renesas/r8a7796.dtsi | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi +index e3a5c25bc3da..dd97af4bdd60 100644 +--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi ++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi +@@ -1282,7 +1282,6 @@ + <&scif_clk>; + clock-names = "fck", "brg_int", "scif_clk"; + dmas = <&dmac1 0x31>, <&dmac1 0x30>; +- dma-names = "tx", "rx"; + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; + status = "disabled"; + }; +-- +2.11.0 + diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend index 924e309..32bf2c6 100644 --- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend @@ -81,6 +81,7 @@ SRC_URI_append = " \ file://0080-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch \ file://0081-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch \ file://0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch \ + file://0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch \ " SRC_URI_append_r8a7797 = " \ -- cgit 1.2.3-korg From fce5dbe44ce5cca232749ad06f36cc5c4f0ee2f7 Mon Sep 17 00:00:00 2001 From: Matt Porter Date: Tue, 19 Dec 2017 08:00:03 -0500 Subject: linux-renesas: blacklist btwilink module If btwilink is autoloaded on boot then the TI-ST managed by the UIM service may not start properly. This happens intermittently based on system boot timing. To fix this, add btwilink to the modprobe blacklist. btwilink is already manually loaded by the ti-uim.service. Change-Id: Id8834279c1c205c292903926bf1ceb7073f84e1e Signed-off-by: Matt Porter --- meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend | 3 +++ 1 file changed, 3 insertions(+) (limited to 'meta-rcar-gen3-adas/recipes-kernel/linux') diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend index 32bf2c6..3cadae6 100644 --- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend @@ -6,6 +6,9 @@ COMPATIBLE_MACHINE_v3msk = "v3msk" BRANCH = "v4.9/rcar-3.5.9" SRCREV = "2c20c9881d53f1b5c7a3ebf55bb83ec15902d0d0" +KERNEL_MODULE_PROBECONF += "btwilink" +module_conf_btwilink = "blacklist btwilink" + SRC_URI_remove = " \ file://0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch \ file://0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch \ -- cgit 1.2.3-korg