diff options
Diffstat (limited to 'sound/soc/samsung/i2s.c')
-rw-r--r-- | sound/soc/samsung/i2s.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index 048ead967199..07ff3e7cb890 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c | |||
@@ -451,6 +451,10 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai, | |||
451 | u32 mod = readl(i2s->addr + I2SMOD); | 451 | u32 mod = readl(i2s->addr + I2SMOD); |
452 | 452 | ||
453 | switch (clk_id) { | 453 | switch (clk_id) { |
454 | case SAMSUNG_I2S_OPCLK: | ||
455 | mod &= ~MOD_OPCLK_MASK; | ||
456 | mod |= dir; | ||
457 | break; | ||
454 | case SAMSUNG_I2S_CDCLK: | 458 | case SAMSUNG_I2S_CDCLK: |
455 | /* Shouldn't matter in GATING(CLOCK_IN) mode */ | 459 | /* Shouldn't matter in GATING(CLOCK_IN) mode */ |
456 | if (dir == SND_SOC_CLOCK_IN) | 460 | if (dir == SND_SOC_CLOCK_IN) |
@@ -724,9 +728,6 @@ static int i2s_startup(struct snd_pcm_substream *substream, | |||
724 | else | 728 | else |
725 | i2s->mode |= DAI_MANAGER; | 729 | i2s->mode |= DAI_MANAGER; |
726 | 730 | ||
727 | /* Enforce set_sysclk in Master mode */ | ||
728 | i2s->rclk_srcrate = 0; | ||
729 | |||
730 | if (!any_active(i2s) && (i2s->quirks & QUIRK_NEED_RSTCLR)) | 731 | if (!any_active(i2s) && (i2s->quirks & QUIRK_NEED_RSTCLR)) |
731 | writel(CON_RSTCLR, i2s->addr + I2SCON); | 732 | writel(CON_RSTCLR, i2s->addr + I2SCON); |
732 | 733 | ||
@@ -984,6 +985,7 @@ probe_exit: | |||
984 | /* Reset any constraint on RFS and BFS */ | 985 | /* Reset any constraint on RFS and BFS */ |
985 | i2s->rfs = 0; | 986 | i2s->rfs = 0; |
986 | i2s->bfs = 0; | 987 | i2s->bfs = 0; |
988 | i2s->rclk_srcrate = 0; | ||
987 | i2s_txctrl(i2s, 0); | 989 | i2s_txctrl(i2s, 0); |
988 | i2s_rxctrl(i2s, 0); | 990 | i2s_rxctrl(i2s, 0); |
989 | i2s_fifo(i2s, FIC_TXFLUSH); | 991 | i2s_fifo(i2s, FIC_TXFLUSH); |
@@ -1293,8 +1295,6 @@ static int samsung_i2s_remove(struct platform_device *pdev) | |||
1293 | i2s->pri_dai = NULL; | 1295 | i2s->pri_dai = NULL; |
1294 | i2s->sec_dai = NULL; | 1296 | i2s->sec_dai = NULL; |
1295 | 1297 | ||
1296 | samsung_asoc_dma_platform_unregister(&pdev->dev); | ||
1297 | |||
1298 | return 0; | 1298 | return 0; |
1299 | } | 1299 | } |
1300 | 1300 | ||