aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/samsung/i2s.c
diff options
context:
space:
mode:
authorPadmavathi Venna <padma.v@samsung.com>2014-11-07 01:54:39 -0500
committerMark Brown <broonie@kernel.org>2014-11-07 05:38:17 -0500
commitb07597367001c2c4f36a97863530f71b84060d3d (patch)
treeb17536d552ae19de1e0f2877c6e479843b419406 /sound/soc/samsung/i2s.c
parentf114040e3ea6e07372334ade75d1ee0775c355e1 (diff)
ASoC: Samsung: Add quirk for internal DMA
Internal DMA is available only on some of Samsung platforms. So added a quirk for the same and made it optional. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/samsung/i2s.c')
-rw-r--r--sound/soc/samsung/i2s.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index 9d513473b300..38b9a524cc9f 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -987,7 +987,7 @@ static int samsung_i2s_dai_probe(struct snd_soc_dai *dai)
987 if (i2s->quirks & QUIRK_NEED_RSTCLR) 987 if (i2s->quirks & QUIRK_NEED_RSTCLR)
988 writel(CON_RSTCLR, i2s->addr + I2SCON); 988 writel(CON_RSTCLR, i2s->addr + I2SCON);
989 989
990 if (i2s->quirks & QUIRK_SEC_DAI) 990 if (i2s->quirks & QUIRK_SUPPORTS_IDMA)
991 idma_reg_addr_init(i2s->addr, 991 idma_reg_addr_init(i2s->addr,
992 i2s->sec_dai->idma_playback.dma_addr); 992 i2s->sec_dai->idma_playback.dma_addr);
993 993
@@ -1199,10 +1199,9 @@ static int samsung_i2s_probe(struct platform_device *pdev)
1199 quirks = i2s_dai_data->quirks; 1199 quirks = i2s_dai_data->quirks;
1200 if (of_property_read_u32(np, "samsung,idma-addr", 1200 if (of_property_read_u32(np, "samsung,idma-addr",
1201 &idma_addr)) { 1201 &idma_addr)) {
1202 if (quirks & QUIRK_SEC_DAI) { 1202 if (quirks & QUIRK_SUPPORTS_IDMA) {
1203 dev_err(&pdev->dev, "idma address is not"\ 1203 dev_info(&pdev->dev, "idma address is not"\
1204 "specified"); 1204 "specified");
1205 return -EINVAL;
1206 } 1205 }
1207 } 1206 }
1208 } 1207 }
@@ -1309,13 +1308,14 @@ static const struct samsung_i2s_dai_data i2sv3_dai_type = {
1309 1308
1310static const struct samsung_i2s_dai_data i2sv5_dai_type = { 1309static const struct samsung_i2s_dai_data i2sv5_dai_type = {
1311 .dai_type = TYPE_PRI, 1310 .dai_type = TYPE_PRI,
1312 .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR, 1311 .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR |
1312 QUIRK_SUPPORTS_IDMA,
1313}; 1313};
1314 1314
1315static const struct samsung_i2s_dai_data i2sv6_dai_type = { 1315static const struct samsung_i2s_dai_data i2sv6_dai_type = {
1316 .dai_type = TYPE_PRI, 1316 .dai_type = TYPE_PRI,
1317 .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR | 1317 .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR |
1318 QUIRK_SUPPORTS_TDM, 1318 QUIRK_SUPPORTS_TDM | QUIRK_SUPPORTS_IDMA,
1319}; 1319};
1320 1320
1321static const struct samsung_i2s_dai_data samsung_dai_type_pri = { 1321static const struct samsung_i2s_dai_data samsung_dai_type_pri = {