* [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode
@ 2013-04-04 14:13 yegorslists
2013-04-04 14:13 ` [PATCH v6 2/2] ALSA: ASoC: davinci-mcasp: don't overwrite DIT settings yegorslists
2013-04-05 10:27 ` [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode Mark Brown
0 siblings, 2 replies; 3+ messages in thread
From: yegorslists @ 2013-04-04 14:13 UTC (permalink / raw)
To: alsa-devel; +Cc: broonie, Yegor Yefremov, vaibhav.bedia, zonque
From: Yegor Yefremov <yegorslists@googlemail.com>
AFSX won't be used in DIT mode. The related pins are AHCLKX and
the data pins.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Acked-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Tested-by: Daniel Mack <zonque@gmail.com>
---
v6: CC Mark Brown
v5: add Daniel's Tested-by
v4: change subjuct to include "ALSA: ASoC: "
sound/soc/davinci/davinci-mcasp.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 9321e5c..90a9b99 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -772,9 +772,6 @@ static void davinci_hw_param(struct davinci_audio_dev *dev, int stream)
/* S/PDIF */
static void davinci_hw_dit_param(struct davinci_audio_dev *dev)
{
- /* Set the PDIR for Serialiser as output */
- mcasp_set_bits(dev->base + DAVINCI_MCASP_PDIR_REG, AFSX);
-
/* TXMASK for 24 bits */
mcasp_set_reg(dev->base + DAVINCI_MCASP_TXMASK_REG, 0x00FFFFFF);
--
1.7.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v6 2/2] ALSA: ASoC: davinci-mcasp: don't overwrite DIT settings
2013-04-04 14:13 [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode yegorslists
@ 2013-04-04 14:13 ` yegorslists
2013-04-05 10:27 ` [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: yegorslists @ 2013-04-04 14:13 UTC (permalink / raw)
To: alsa-devel; +Cc: broonie, Yegor Yefremov, vaibhav.bedia, zonque
From: Yegor Yefremov <yegorslists@googlemail.com>
Channel size settings will be made at the end of
davinci_mcasp_hw_params() routine and thus overwrite frame
format settings made for DIT mode. This patch fixes this issue
by taking op_mode into account. Tested with official PSP 3.2
kernel and sii9022a HDMI transmitter.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Tested-by: Daniel Mack <zonque@gmail.com>
---
v6: CC Mark Brown
v5: add Daniel's Tested-by
v4: change subjuct to include "ALSA: ASoC: "
v3: don't set mask in davinci_hw_dit_param()
v2: fix checkpatch.pl warnings
sound/soc/davinci/davinci-mcasp.c | 25 +++++++++++++------------
1 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 90a9b99..dcd56f2 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -643,16 +643,20 @@ static int davinci_config_channel_size(struct davinci_audio_dev *dev,
/* mapping of the XSSZ bit-field as described in the datasheet */
fmt = (word_length >> 1) - 1;
- mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG,
- RXSSZ(fmt), RXSSZ(0x0F));
- mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG,
- TXSSZ(fmt), TXSSZ(0x0F));
- mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG, TXROT(rotate),
- TXROT(7));
- mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG, RXROT(rotate),
- RXROT(7));
+ if (dev->op_mode != DAVINCI_MCASP_DIT_MODE) {
+ mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG,
+ RXSSZ(fmt), RXSSZ(0x0F));
+ mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG,
+ TXSSZ(fmt), TXSSZ(0x0F));
+ mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG,
+ TXROT(rotate), TXROT(7));
+ mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG,
+ RXROT(rotate), RXROT(7));
+ mcasp_set_reg(dev->base + DAVINCI_MCASP_RXMASK_REG,
+ mask);
+ }
+
mcasp_set_reg(dev->base + DAVINCI_MCASP_TXMASK_REG, mask);
- mcasp_set_reg(dev->base + DAVINCI_MCASP_RXMASK_REG, mask);
return 0;
}
@@ -772,9 +776,6 @@ static void davinci_hw_param(struct davinci_audio_dev *dev, int stream)
/* S/PDIF */
static void davinci_hw_dit_param(struct davinci_audio_dev *dev)
{
- /* TXMASK for 24 bits */
- mcasp_set_reg(dev->base + DAVINCI_MCASP_TXMASK_REG, 0x00FFFFFF);
-
/* Set the TX format : 24 bit right rotation, 32 bit slot, Pad 0
and LSB first */
mcasp_set_bits(dev->base + DAVINCI_MCASP_TXFMT_REG,
--
1.7.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode
2013-04-04 14:13 [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode yegorslists
2013-04-04 14:13 ` [PATCH v6 2/2] ALSA: ASoC: davinci-mcasp: don't overwrite DIT settings yegorslists
@ 2013-04-05 10:27 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2013-04-05 10:27 UTC (permalink / raw)
To: yegorslists; +Cc: alsa-devel, vaibhav.bedia, zonque
[-- Attachment #1.1: Type: text/plain, Size: 294 bytes --]
On Thu, Apr 04, 2013 at 04:13:19PM +0200, yegorslists@googlemail.com wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> AFSX won't be used in DIT mode. The related pins are AHCLKX and
> the data pins.
Applied both, thanks. Please use subject lines matching the subsystem.
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-04-05 10:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-04 14:13 [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode yegorslists
2013-04-04 14:13 ` [PATCH v6 2/2] ALSA: ASoC: davinci-mcasp: don't overwrite DIT settings yegorslists
2013-04-05 10:27 ` [PATCH v6 1/2] ALSA: ASoC: davinci-mcasp: don't configure AFSX direction in DIT mode Mark Brown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.