diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-04-19 05:39:38 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-04-19 05:39:38 -0400 |
| commit | 1e2ae4ddd373af6fa3ea2483d7fc4a08c7f54395 (patch) | |
| tree | a1d78a51725dbcf2d8ffb38873c0825f48944015 | |
| parent | ff54250a0ebab7f90a5f848a0ba63f999830c872 (diff) | |
| parent | 002fbad829883a3ad9b185077f9e54c37dc7502d (diff) | |
Merge branch 'fix/asoc' into for-linus
* fix/asoc:
ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
ASoC: Fix include build error in s3c2412-i2s.c
ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
ASoC: Fix jive_wm8750.c build problems
ASoC: pxa-ssp: allow setting of dai format 0
| -rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 7 | ||||
| -rw-r--r-- | sound/soc/omap/osk5912.c | 4 | ||||
| -rw-r--r-- | sound/soc/pxa/pxa-ssp.c | 1 | ||||
| -rw-r--r-- | sound/soc/s3c24xx/jive_wm8750.c | 12 | ||||
| -rw-r--r-- | sound/soc/s3c24xx/s3c-i2s-v2.c | 18 | ||||
| -rw-r--r-- | sound/soc/s3c24xx/s3c2412-i2s.c | 2 |
6 files changed, 25 insertions, 19 deletions
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index 9c09b94f0cf8..90f4df7fd906 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c | |||
| @@ -283,7 +283,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream, | |||
| 283 | break; | 283 | break; |
| 284 | case SND_SOC_DAIFMT_DSP_B: | 284 | case SND_SOC_DAIFMT_DSP_B: |
| 285 | regs->srgr2 |= FPER(wlen * channels - 1); | 285 | regs->srgr2 |= FPER(wlen * channels - 1); |
| 286 | regs->srgr1 |= FWID(wlen * channels - 2); | 286 | regs->srgr1 |= FWID(0); |
| 287 | break; | 287 | break; |
| 288 | } | 288 | } |
| 289 | 289 | ||
| @@ -302,6 +302,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai, | |||
| 302 | { | 302 | { |
| 303 | struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data); | 303 | struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data); |
| 304 | struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; | 304 | struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; |
| 305 | unsigned int temp_fmt = fmt; | ||
| 305 | 306 | ||
| 306 | if (mcbsp_data->configured) | 307 | if (mcbsp_data->configured) |
| 307 | return 0; | 308 | return 0; |
| @@ -328,6 +329,8 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai, | |||
| 328 | /* 0-bit data delay */ | 329 | /* 0-bit data delay */ |
| 329 | regs->rcr2 |= RDATDLY(0); | 330 | regs->rcr2 |= RDATDLY(0); |
| 330 | regs->xcr2 |= XDATDLY(0); | 331 | regs->xcr2 |= XDATDLY(0); |
| 332 | /* Invert FS polarity configuration */ | ||
| 333 | temp_fmt ^= SND_SOC_DAIFMT_NB_IF; | ||
| 331 | break; | 334 | break; |
| 332 | default: | 335 | default: |
| 333 | /* Unsupported data format */ | 336 | /* Unsupported data format */ |
| @@ -351,7 +354,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai, | |||
| 351 | } | 354 | } |
| 352 | 355 | ||
| 353 | /* Set bit clock (CLKX/CLKR) and FS polarities */ | 356 | /* Set bit clock (CLKX/CLKR) and FS polarities */ |
| 354 | switch (fmt & SND_SOC_DAIFMT_INV_MASK) { | 357 | switch (temp_fmt & SND_SOC_DAIFMT_INV_MASK) { |
| 355 | case SND_SOC_DAIFMT_NB_NF: | 358 | case SND_SOC_DAIFMT_NB_NF: |
| 356 | /* | 359 | /* |
| 357 | * Normal BCLK + FS. | 360 | * Normal BCLK + FS. |
diff --git a/sound/soc/omap/osk5912.c b/sound/soc/omap/osk5912.c index a952a4eb3361..a4e149b7f0eb 100644 --- a/sound/soc/omap/osk5912.c +++ b/sound/soc/omap/osk5912.c | |||
| @@ -62,7 +62,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream, | |||
| 62 | /* Set codec DAI configuration */ | 62 | /* Set codec DAI configuration */ |
| 63 | err = snd_soc_dai_set_fmt(codec_dai, | 63 | err = snd_soc_dai_set_fmt(codec_dai, |
| 64 | SND_SOC_DAIFMT_DSP_B | | 64 | SND_SOC_DAIFMT_DSP_B | |
| 65 | SND_SOC_DAIFMT_NB_IF | | 65 | SND_SOC_DAIFMT_NB_NF | |
| 66 | SND_SOC_DAIFMT_CBM_CFM); | 66 | SND_SOC_DAIFMT_CBM_CFM); |
| 67 | if (err < 0) { | 67 | if (err < 0) { |
| 68 | printk(KERN_ERR "can't set codec DAI configuration\n"); | 68 | printk(KERN_ERR "can't set codec DAI configuration\n"); |
| @@ -72,7 +72,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream, | |||
| 72 | /* Set cpu DAI configuration */ | 72 | /* Set cpu DAI configuration */ |
| 73 | err = snd_soc_dai_set_fmt(cpu_dai, | 73 | err = snd_soc_dai_set_fmt(cpu_dai, |
| 74 | SND_SOC_DAIFMT_DSP_B | | 74 | SND_SOC_DAIFMT_DSP_B | |
| 75 | SND_SOC_DAIFMT_NB_IF | | 75 | SND_SOC_DAIFMT_NB_NF | |
| 76 | SND_SOC_DAIFMT_CBM_CFM); | 76 | SND_SOC_DAIFMT_CBM_CFM); |
| 77 | if (err < 0) { | 77 | if (err < 0) { |
| 78 | printk(KERN_ERR "can't set cpu DAI configuration\n"); | 78 | printk(KERN_ERR "can't set cpu DAI configuration\n"); |
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c index 308a657928d2..de2254475d52 100644 --- a/sound/soc/pxa/pxa-ssp.c +++ b/sound/soc/pxa/pxa-ssp.c | |||
| @@ -806,6 +806,7 @@ static int pxa_ssp_probe(struct platform_device *pdev, | |||
| 806 | goto err_priv; | 806 | goto err_priv; |
| 807 | } | 807 | } |
| 808 | 808 | ||
| 809 | priv->dai_fmt = (unsigned int) -1; | ||
| 809 | dai->private_data = priv; | 810 | dai->private_data = priv; |
| 810 | 811 | ||
| 811 | return 0; | 812 | return 0; |
diff --git a/sound/soc/s3c24xx/jive_wm8750.c b/sound/soc/s3c24xx/jive_wm8750.c index 32063790d95b..93e6c87b7399 100644 --- a/sound/soc/s3c24xx/jive_wm8750.c +++ b/sound/soc/s3c24xx/jive_wm8750.c | |||
| @@ -69,8 +69,8 @@ static int jive_hw_params(struct snd_pcm_substream *substream, | |||
| 69 | break; | 69 | break; |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | s3c_i2sv2_calc_rate(&div, NULL, params_rate(params), | 72 | s3c_i2sv2_iis_calc_rate(&div, NULL, params_rate(params), |
| 73 | s3c2412_get_iisclk()); | 73 | s3c2412_get_iisclk()); |
| 74 | 74 | ||
| 75 | /* set codec DAI configuration */ | 75 | /* set codec DAI configuration */ |
| 76 | ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S | | 76 | ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S | |
| @@ -145,8 +145,9 @@ static struct snd_soc_dai_link jive_dai = { | |||
| 145 | }; | 145 | }; |
| 146 | 146 | ||
| 147 | /* jive audio machine driver */ | 147 | /* jive audio machine driver */ |
| 148 | static struct snd_soc_machine snd_soc_machine_jive = { | 148 | static struct snd_soc_card snd_soc_machine_jive = { |
| 149 | .name = "Jive", | 149 | .name = "Jive", |
| 150 | .platform = &s3c24xx_soc_platform, | ||
| 150 | .dai_link = &jive_dai, | 151 | .dai_link = &jive_dai, |
| 151 | .num_links = 1, | 152 | .num_links = 1, |
| 152 | }; | 153 | }; |
| @@ -157,9 +158,8 @@ static struct wm8750_setup_data jive_wm8750_setup = { | |||
| 157 | 158 | ||
| 158 | /* jive audio subsystem */ | 159 | /* jive audio subsystem */ |
| 159 | static struct snd_soc_device jive_snd_devdata = { | 160 | static struct snd_soc_device jive_snd_devdata = { |
| 160 | .machine = &snd_soc_machine_jive, | 161 | .card = &snd_soc_machine_jive, |
| 161 | .platform = &s3c24xx_soc_platform, | 162 | .codec_dev = &soc_codec_dev_wm8750, |
| 162 | .codec_dev = &soc_codec_dev_wm8750_spi, | ||
| 163 | .codec_data = &jive_wm8750_setup, | 163 | .codec_data = &jive_wm8750_setup, |
| 164 | }; | 164 | }; |
| 165 | 165 | ||
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c index 295a4c910262..689ffcd17e1f 100644 --- a/sound/soc/s3c24xx/s3c-i2s-v2.c +++ b/sound/soc/s3c24xx/s3c-i2s-v2.c | |||
| @@ -473,9 +473,9 @@ static int s3c2412_i2s_set_clkdiv(struct snd_soc_dai *cpu_dai, | |||
| 473 | /* default table of all avaialable root fs divisors */ | 473 | /* default table of all avaialable root fs divisors */ |
| 474 | static unsigned int iis_fs_tab[] = { 256, 512, 384, 768 }; | 474 | static unsigned int iis_fs_tab[] = { 256, 512, 384, 768 }; |
| 475 | 475 | ||
| 476 | int s3c2412_iis_calc_rate(struct s3c_i2sv2_rate_calc *info, | 476 | int s3c_i2sv2_iis_calc_rate(struct s3c_i2sv2_rate_calc *info, |
| 477 | unsigned int *fstab, | 477 | unsigned int *fstab, |
| 478 | unsigned int rate, struct clk *clk) | 478 | unsigned int rate, struct clk *clk) |
| 479 | { | 479 | { |
| 480 | unsigned long clkrate = clk_get_rate(clk); | 480 | unsigned long clkrate = clk_get_rate(clk); |
| 481 | unsigned int div; | 481 | unsigned int div; |
| @@ -531,7 +531,7 @@ int s3c2412_iis_calc_rate(struct s3c_i2sv2_rate_calc *info, | |||
| 531 | 531 | ||
| 532 | return 0; | 532 | return 0; |
| 533 | } | 533 | } |
| 534 | EXPORT_SYMBOL_GPL(s3c2412_iis_calc_rate); | 534 | EXPORT_SYMBOL_GPL(s3c_i2sv2_iis_calc_rate); |
| 535 | 535 | ||
| 536 | int s3c_i2sv2_probe(struct platform_device *pdev, | 536 | int s3c_i2sv2_probe(struct platform_device *pdev, |
| 537 | struct snd_soc_dai *dai, | 537 | struct snd_soc_dai *dai, |
| @@ -624,10 +624,12 @@ static int s3c2412_i2s_resume(struct snd_soc_dai *dai) | |||
| 624 | 624 | ||
| 625 | int s3c_i2sv2_register_dai(struct snd_soc_dai *dai) | 625 | int s3c_i2sv2_register_dai(struct snd_soc_dai *dai) |
| 626 | { | 626 | { |
| 627 | dai->ops.trigger = s3c2412_i2s_trigger; | 627 | struct snd_soc_dai_ops *ops = dai->ops; |
| 628 | dai->ops.hw_params = s3c2412_i2s_hw_params; | 628 | |
| 629 | dai->ops.set_fmt = s3c2412_i2s_set_fmt; | 629 | ops->trigger = s3c2412_i2s_trigger; |
| 630 | dai->ops.set_clkdiv = s3c2412_i2s_set_clkdiv; | 630 | ops->hw_params = s3c2412_i2s_hw_params; |
| 631 | ops->set_fmt = s3c2412_i2s_set_fmt; | ||
| 632 | ops->set_clkdiv = s3c2412_i2s_set_clkdiv; | ||
| 631 | 633 | ||
| 632 | dai->suspend = s3c2412_i2s_suspend; | 634 | dai->suspend = s3c2412_i2s_suspend; |
| 633 | dai->resume = s3c2412_i2s_resume; | 635 | dai->resume = s3c2412_i2s_resume; |
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c b/sound/soc/s3c24xx/s3c2412-i2s.c index 1ca3cdaa8213..b7e0b3f0bfc8 100644 --- a/sound/soc/s3c24xx/s3c2412-i2s.c +++ b/sound/soc/s3c24xx/s3c2412-i2s.c | |||
| @@ -33,8 +33,8 @@ | |||
| 33 | 33 | ||
| 34 | #include <plat/regs-s3c2412-iis.h> | 34 | #include <plat/regs-s3c2412-iis.h> |
| 35 | 35 | ||
| 36 | #include <plat/regs-gpio.h> | ||
| 37 | #include <plat/audio.h> | ||
