From 5f2e89ea9d5e95de0172d274db9ac0ab8bf01c8a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 5 Apr 2013 11:07:16 -0700 Subject: [PATCH] 3.8-stable patches added patches: asoc-dma-sh7760-fix-compile-error.patch asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch asoc-spear_pcm-update-to-new-pcm_new-api.patch --- .../asoc-dma-sh7760-fix-compile-error.patch | 45 ++++++++++++++ ...si-fix-occasional-ac97-reset-failure.patch | 39 +++++++++++++ ...-spear_pcm-update-to-new-pcm_new-api.patch | 58 +++++++++++++++++++ queue-3.8/series | 3 + 4 files changed, 145 insertions(+) create mode 100644 queue-3.8/asoc-dma-sh7760-fix-compile-error.patch create mode 100644 queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch create mode 100644 queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch create mode 100644 queue-3.8/series diff --git a/queue-3.8/asoc-dma-sh7760-fix-compile-error.patch b/queue-3.8/asoc-dma-sh7760-fix-compile-error.patch new file mode 100644 index 00000000000..83a72027e1e --- /dev/null +++ b/queue-3.8/asoc-dma-sh7760-fix-compile-error.patch @@ -0,0 +1,45 @@ +From 417a1178f1bf3cdc606376b3ded3a22489fbb3eb Mon Sep 17 00:00:00 2001 +From: Lars-Peter Clausen +Date: Fri, 15 Mar 2013 11:26:15 +0100 +Subject: ASoC: dma-sh7760: Fix compile error + +From: Lars-Peter Clausen + +commit 417a1178f1bf3cdc606376b3ded3a22489fbb3eb upstream. + +The dma-sh7760 currently fails with the following compile error: + sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer + sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type + sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer + sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast + sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer + sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type + sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe': + sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type + include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *' + +This is due the misnaming of the snd_soc_platform_driver type name and 'ops' +field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC +Multi-Component Support"). + +Signed-off-by: Lars-Peter Clausen +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + sound/soc/sh/dma-sh7760.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/sound/soc/sh/dma-sh7760.c ++++ b/sound/soc/sh/dma-sh7760.c +@@ -342,8 +342,8 @@ static int camelot_pcm_new(struct snd_so + return 0; + } + +-static struct snd_soc_platform sh7760_soc_platform = { +- .pcm_ops = &camelot_pcm_ops, ++static struct snd_soc_platform_driver sh7760_soc_platform = { ++ .ops = &camelot_pcm_ops, + .pcm_new = camelot_pcm_new, + .pcm_free = camelot_pcm_free, + }; diff --git a/queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch b/queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch new file mode 100644 index 00000000000..e8295d45992 --- /dev/null +++ b/queue-3.8/asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch @@ -0,0 +1,39 @@ +From b6e51600f4e983e757b1b6942becaa1ae7d82e67 Mon Sep 17 00:00:00 2001 +From: Sascha Hauer +Date: Sun, 10 Mar 2013 19:33:03 +0100 +Subject: ASoC: imx-ssi: Fix occasional AC97 reset failure + +From: Sascha Hauer + +commit b6e51600f4e983e757b1b6942becaa1ae7d82e67 upstream. + +Signed-off-by: Sascha Hauer +Signed-off-by: Markus Pargmann +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + sound/soc/fsl/imx-ssi.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/sound/soc/fsl/imx-ssi.c ++++ b/sound/soc/fsl/imx-ssi.c +@@ -496,6 +496,8 @@ static void imx_ssi_ac97_reset(struct sn + + if (imx_ssi->ac97_reset) + imx_ssi->ac97_reset(ac97); ++ /* First read sometimes fails, do a dummy read */ ++ imx_ssi_ac97_read(ac97, 0); + } + + static void imx_ssi_ac97_warm_reset(struct snd_ac97 *ac97) +@@ -504,6 +506,9 @@ static void imx_ssi_ac97_warm_reset(stru + + if (imx_ssi->ac97_warm_reset) + imx_ssi->ac97_warm_reset(ac97); ++ ++ /* First read sometimes fails, do a dummy read */ ++ imx_ssi_ac97_read(ac97, 0); + } + + struct snd_ac97_bus_ops soc_ac97_ops = { diff --git a/queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch b/queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch new file mode 100644 index 00000000000..eda705dd3c5 --- /dev/null +++ b/queue-3.8/asoc-spear_pcm-update-to-new-pcm_new-api.patch @@ -0,0 +1,58 @@ +From 59d9cc2a5073ab4b8c8f8bdbacf230a538abc55d Mon Sep 17 00:00:00 2001 +From: Lars-Peter Clausen +Date: Mon, 18 Mar 2013 18:57:23 +0100 +Subject: ASoC: spear_pcm: Update to new pcm_new() API + +From: Lars-Peter Clausen + +commit 59d9cc2a5073ab4b8c8f8bdbacf230a538abc55d upstream. + +Commit 552d1ef6 ("ASoC: core - Optimise and refactor pcm_new() to pass only +rtd") updated the pcm_new() callback to take the rtd as the only parameter. The +spear PCM driver (which was merged much later) still uses the old API. This +patch updates the driver to the new API. + +Signed-off-by: Lars-Peter Clausen +Acked-by: Rajeev Kumar +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + sound/soc/spear/spear_pcm.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/sound/soc/spear/spear_pcm.c ++++ b/sound/soc/spear/spear_pcm.c +@@ -149,9 +149,9 @@ static void spear_pcm_free(struct snd_pc + + static u64 spear_pcm_dmamask = DMA_BIT_MASK(32); + +-static int spear_pcm_new(struct snd_card *card, +- struct snd_soc_dai *dai, struct snd_pcm *pcm) ++static int spear_pcm_new(struct snd_soc_pcm_runtime *rtd) + { ++ struct snd_card *card = rtd->card->snd_card; + int ret; + + if (!card->dev->dma_mask) +@@ -159,16 +159,16 @@ static int spear_pcm_new(struct snd_card + if (!card->dev->coherent_dma_mask) + card->dev->coherent_dma_mask = DMA_BIT_MASK(32); + +- if (dai->driver->playback.channels_min) { +- ret = spear_pcm_preallocate_dma_buffer(pcm, ++ if (rtd->cpu_dai->driver->playback.channels_min) { ++ ret = spear_pcm_preallocate_dma_buffer(rtd->pcm, + SNDRV_PCM_STREAM_PLAYBACK, + spear_pcm_hardware.buffer_bytes_max); + if (ret) + return ret; + } + +- if (dai->driver->capture.channels_min) { +- ret = spear_pcm_preallocate_dma_buffer(pcm, ++ if (rtd->cpu_dai->driver->capture.channels_min) { ++ ret = spear_pcm_preallocate_dma_buffer(rtd->pcm, + SNDRV_PCM_STREAM_CAPTURE, + spear_pcm_hardware.buffer_bytes_max); + if (ret) diff --git a/queue-3.8/series b/queue-3.8/series new file mode 100644 index 00000000000..3cafb351f05 --- /dev/null +++ b/queue-3.8/series @@ -0,0 +1,3 @@ +asoc-imx-ssi-fix-occasional-ac97-reset-failure.patch +asoc-dma-sh7760-fix-compile-error.patch +asoc-spear_pcm-update-to-new-pcm_new-api.patch -- 2.47.3