summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <b02247@freescale.com>2014-06-10 16:13:09 +0800
committerShengjiu Wang <b02247@freescale.com>2014-06-10 16:43:32 +0800
commitce7311e1dd414b2f3af1babae43b868d8b67b18f (patch)
tree4891703090ee7e8a80bcd68ce8c3c6ccdaafcf2f /sound
parente97e17a13c1631d9b9062a6b52459112239fd0c2 (diff)
ENGR00317636 ASoC: fsl: hdmi: Disable NEON optimization
Enable NEON optimization will cause pulseaudio crash in the user space. Which is caused by using the NEON instruction, if only use "VPUSH, VPOP" in the function, crash will be happened also. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/imx-hdmi-dma.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/fsl/imx-hdmi-dma.c b/sound/soc/fsl/imx-hdmi-dma.c
index 8f3e79845fa6..d8d071507c11 100644
--- a/sound/soc/fsl/imx-hdmi-dma.c
+++ b/sound/soc/fsl/imx-hdmi-dma.c
@@ -286,6 +286,17 @@ static void init_table(int channels)
}
}
+/*
+ * FIXME: Disable NEON Optimization in hdmi, or it will cause crash of
+ * pulseaudio in the userspace. There is no issue for the Optimization
+ * implemenation, if only use "VPUSH, VPOP" in the function, the pulseaudio
+ * will crash also. So for my assumption, we can't use the NEON in the
+ * interrupt.(tasklet is implemented by softirq.)
+ * Disable SMP, preempt, change the dma buffer to nocached, add protection of
+ * Dn register and fpscr, all these operation have no effect to the result.
+ */
+#define HDMI_DMA_NO_NEON
+
#ifdef HDMI_DMA_NO_NEON
/* Optimization for IEC head */
static void hdmi_dma_copy_16_c_lut(u16 *src, u32 *dst, int samples,