diff options
-rw-r--r-- | meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-Revert-ASoC-rsnd-ssi-wait-maximum-5ms-for-status-che.patch | 34 | ||||
-rw-r--r-- | meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb | 5 |
2 files changed, 39 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-Revert-ASoC-rsnd-ssi-wait-maximum-5ms-for-status-che.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-Revert-ASoC-rsnd-ssi-wait-maximum-5ms-for-status-che.patch new file mode 100644 index 0000000..521631b --- /dev/null +++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-Revert-ASoC-rsnd-ssi-wait-maximum-5ms-for-status-che.patch @@ -0,0 +1,34 @@ +From a0e2d5ab917de4d8fce6bed4a5c87b729be30ca7 Mon Sep 17 00:00:00 2001 +From: Mark Farrugia <mark.farrugia@fiberdyne.com.au> +Date: Sat, 1 Dec 2018 23:48:49 +1100 +Subject: [PATCH] Revert: ASoC: rsnd: ssi: wait maximum 5ms for status check + +By waiting only a maximum of 5ms, we break the Renesas +ADSP firmware's ability to access the SSI directly. +This functionality is currently used by the Fiberdyne DSP. + +Since we shouldn't use udelay() for 50us +(linux/Documentation/timers/timers-howto.txt), we instead increase +the loop length to 1024*10 (5ms*10=50ms). + +Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au> +--- + sound/soc/sh/rcar/ssi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c +index 9538f76f8e20..0395e33bebdd 100644 +--- a/sound/soc/sh/rcar/ssi.c ++++ b/sound/soc/sh/rcar/ssi.c +@@ -166,7 +166,7 @@ static void rsnd_ssi_status_check(struct rsnd_mod *mod, + u32 status; + int i; + +- for (i = 0; i < 1024; i++) { ++ for (i = 0; i < (10*1024); i++) { + status = rsnd_ssi_status_get(mod); + if (status & bit) + return; +-- +2.17.1 + diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb index f559fc2..9dac5ff 100644 --- a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb +++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb @@ -18,6 +18,11 @@ SRC_URI = "${RENESAS_BSP_URL};protocol=git;nocheckout=1;branch=${BRANCH}" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" +# Fix inaccessible SSI for Renesas ADSP firmware +SRC_URI_append = " \ + file://0001-Revert-ASoC-rsnd-ssi-wait-maximum-5ms-for-status-che.patch \ +" + LINUX_VERSION ?= "4.14.75" PV = "${LINUX_VERSION}+git${SRCPV}" PR = "r1" |