aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShengjiu Wang <b02247@freescale.com>2014-06-10 04:13:09 -0400
committerShengjiu Wang <b02247@freescale.com>2014-06-10 04:43:32 -0400
commitce7311e1dd414b2f3af1babae43b868d8b67b18f (patch)
tree4891703090ee7e8a80bcd68ce8c3c6ccdaafcf2f
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>
-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)
286 } 286 }
287} 287}
288 288
289/*
290 * FIXME: Disable NEON Optimization in hdmi, or it will cause crash of
291 * pulseaudio in the userspace. There is no issue for the Optimization
292 * implemenation, if only use "VPUSH, VPOP" in the function, the pulseaudio
293 * will crash also. So for my assumption, we can't use the NEON in the
294 * interrupt.(tasklet is implemented by softirq.)
295 * Disable SMP, preempt, change the dma buffer to nocached, add protection of
296 * Dn register and fpscr, all these operation have no effect to the result.
297 */
298#define HDMI_DMA_NO_NEON
299
289#ifdef HDMI_DMA_NO_NEON 300#ifdef HDMI_DMA_NO_NEON
290/* Optimization for IEC head */ 301/* Optimization for IEC head */
291static void hdmi_dma_copy_16_c_lut(u16 *src, u32 *dst, int samples, 302static void hdmi_dma_copy_16_c_lut(u16 *src, u32 *dst, int samples,