* [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.