All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Cc: alsa-devel@alsa-project.org, qi.wang@intel.com,
	Takashi Iwai <tiwai@suse.de>,
	linux-kernel@vger.kernel.org, yong.y.wang@intel.com,
	kok.howg.ewe@intel.com, Liam Girdwood <lrg@ti.com>,
	joel.clark@intel.com
Subject: Re: [PATCH v7] sound/soc/codecs: add LAPIS Semiconductor ML26124
Date: Wed, 14 Mar 2012 14:39:41 +0000	[thread overview]
Message-ID: <20120314143941.GS3133@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1331275026-31651-1-git-send-email-tomoya.rohm@gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2066 bytes --]

On Fri, Mar 09, 2012 at 03:37:06PM +0900, Tomoya MORINAGA wrote:

A substantial improvement on previous versions but there's still a few
issues, though they're now fairly small.

> +	/* SAI configuration */
> +	if (priv->channels == 1) {
> +		ml26124_update_bits(codec, ML26124_SAI_TRANS_CTL, mask,
> +				ML26124_SAI_NO_DELAY | ML26124_SAI_FRAME_SYNC);
> +		ml26124_update_bits(codec, ML26124_SAI_RCV_CTL, mask,
> +				ML26124_SAI_NO_DELAY | ML26124_SAI_FRAME_SYNC);
> +	} else {
> +		ml26124_update_bits(codec, ML26124_SAI_TRANS_CTL, mask,
> +				    ML26124_SAI_NO_DELAY);
> +		ml26124_update_bits(codec, ML26124_SAI_RCV_CTL, mask,
> +				    ML26124_SAI_NO_DELAY);
> +	}

What happens if the system switches between 1 channel mode and
multi-channel mode at runtime?  It looks like _SYNC will never be
cleared.

> +static int ml26124_set_dai_sysclk(struct snd_soc_dai *codec_dai,
> +		int clk_id, unsigned int freq, int dir)
> +{
> +	struct snd_soc_codec *codec = codec_dai->codec;
> +	struct ml26124_priv *priv = snd_soc_codec_get_drvdata(codec);
> +
> +	switch (clk_id) {
> +	case ML26124_USE_PLL:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 0);
> +		break;
> +	case ML26124_USE_MCLKI_256FS:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 1);
> +		break;
> +	case ML26124_USE_MCLKI_512FS:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 2);
> +		break;
> +	case ML26124_USE_MCLKI_1024FS:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 3);
> +		break;

Why not just specify the MCLK rate and then calculate the division based
on the sample rate?

> +	switch (freq) {
> +	case 12288000:
> +		priv->mclk = freq;
> +		break;

This is especially true given that only one MCLK rate is supported.

> +	case SND_SOC_BIAS_STANDBY:
> +		/* VMID ON */
> +		ml26124_update_bits(codec, ML26124_PW_REF_PW_MNG,
> +				    ML26124_VMID, ML26124_VMID);
> +		msleep(500);

This will sleep for 500ms when powering down which probably isn't what's
desired...

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Cc: Liam Girdwood <lrg@ti.com>, Jaroslav Kysela <perex@perex.cz>,
	Takashi Iwai <tiwai@suse.de>,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
	qi.wang@intel.com, yong.y.wang@intel.com, joel.clark@intel.com,
	kok.howg.ewe@intel.com
Subject: Re: [PATCH v7] sound/soc/codecs: add LAPIS Semiconductor ML26124
Date: Wed, 14 Mar 2012 14:39:41 +0000	[thread overview]
Message-ID: <20120314143941.GS3133@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1331275026-31651-1-git-send-email-tomoya.rohm@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2066 bytes --]

On Fri, Mar 09, 2012 at 03:37:06PM +0900, Tomoya MORINAGA wrote:

A substantial improvement on previous versions but there's still a few
issues, though they're now fairly small.

> +	/* SAI configuration */
> +	if (priv->channels == 1) {
> +		ml26124_update_bits(codec, ML26124_SAI_TRANS_CTL, mask,
> +				ML26124_SAI_NO_DELAY | ML26124_SAI_FRAME_SYNC);
> +		ml26124_update_bits(codec, ML26124_SAI_RCV_CTL, mask,
> +				ML26124_SAI_NO_DELAY | ML26124_SAI_FRAME_SYNC);
> +	} else {
> +		ml26124_update_bits(codec, ML26124_SAI_TRANS_CTL, mask,
> +				    ML26124_SAI_NO_DELAY);
> +		ml26124_update_bits(codec, ML26124_SAI_RCV_CTL, mask,
> +				    ML26124_SAI_NO_DELAY);
> +	}

What happens if the system switches between 1 channel mode and
multi-channel mode at runtime?  It looks like _SYNC will never be
cleared.

> +static int ml26124_set_dai_sysclk(struct snd_soc_dai *codec_dai,
> +		int clk_id, unsigned int freq, int dir)
> +{
> +	struct snd_soc_codec *codec = codec_dai->codec;
> +	struct ml26124_priv *priv = snd_soc_codec_get_drvdata(codec);
> +
> +	switch (clk_id) {
> +	case ML26124_USE_PLL:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 0);
> +		break;
> +	case ML26124_USE_MCLKI_256FS:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 1);
> +		break;
> +	case ML26124_USE_MCLKI_512FS:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 2);
> +		break;
> +	case ML26124_USE_MCLKI_1024FS:
> +		ml26124_update_bits(codec, ML26124_CLK_CTL,
> +				    BIT(0) | BIT(1), 3);
> +		break;

Why not just specify the MCLK rate and then calculate the division based
on the sample rate?

> +	switch (freq) {
> +	case 12288000:
> +		priv->mclk = freq;
> +		break;

This is especially true given that only one MCLK rate is supported.

> +	case SND_SOC_BIAS_STANDBY:
> +		/* VMID ON */
> +		ml26124_update_bits(codec, ML26124_PW_REF_PW_MNG,
> +				    ML26124_VMID, ML26124_VMID);
> +		msleep(500);

This will sleep for 500ms when powering down which probably isn't what's
desired...

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2012-03-14 14:39 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-23  5:46 [PATCH v6] sound/soc/codecs: add LAPIS Semiconductor ML26124 Tomoya MORINAGA
2012-02-23  5:46 ` Tomoya MORINAGA
2012-02-23  5:46 ` [PATCH v3] sound/soc/lapis: add platform driver for ML7213 Tomoya MORINAGA
2012-02-23  5:46   ` Tomoya MORINAGA
2012-03-02 16:39   ` Mark Brown
2012-03-02 16:39     ` Mark Brown
2012-03-06  5:48     ` Tomoya MORINAGA
2012-03-06 11:52       ` Mark Brown
2012-03-06 11:52         ` Mark Brown
2012-03-07  1:30         ` Tomoya MORINAGA
2012-03-07  1:30           ` Tomoya MORINAGA
2012-03-07 11:46           ` Mark Brown
2012-03-07 11:46             ` Mark Brown
2012-03-08  2:06             ` Tomoya MORINAGA
2012-03-08  2:06               ` Tomoya MORINAGA
2012-03-08 11:05               ` Mark Brown
2012-03-08 11:05                 ` Mark Brown
2012-03-09  6:26                 ` Tomoya MORINAGA
2012-03-09  6:26                   ` Tomoya MORINAGA
2012-03-09  6:39                   ` [PATCH v4] " Tomoya MORINAGA
2012-03-19 12:00                     ` [PATCH v5] " Tomoya MORINAGA
2012-03-19 12:00                       ` Tomoya MORINAGA
2012-03-21 16:09                       ` Mark Brown
2012-03-21 16:09                         ` Mark Brown
2012-03-22  0:12                         ` Tomoya MORINAGA
2012-03-26 15:40                           ` Mark Brown
2012-03-26 15:40                             ` Mark Brown
2012-05-23  4:17                             ` Tomoya MORINAGA
2012-05-23  9:41                               ` Mark Brown
2012-05-23  9:41                                 ` Mark Brown
2012-05-23 23:46                                 ` Tomoya MORINAGA
2012-05-23 23:46                                   ` Tomoya MORINAGA
2012-05-24 10:07                                   ` Mark Brown
2012-05-24 10:07                                     ` Mark Brown
2012-05-25  9:30                                     ` Tomoya MORINAGA
2012-05-25  9:30                                       ` Tomoya MORINAGA
2012-05-25 10:20                                       ` Vinod Koul
2012-05-25 10:20                                         ` [alsa-devel] " Vinod Koul
2012-05-27 22:19                                         ` Mark Brown
2012-05-27 22:19                                           ` [alsa-devel] " Mark Brown
2012-05-30 10:50                                           ` Tomoya MORINAGA
2012-05-30 10:50                                             ` [alsa-devel] " Tomoya MORINAGA
2012-05-30 12:14                                             ` Mark Brown
2012-05-31  5:38                                               ` Tomoya MORINAGA
2012-05-31  5:38                                                 ` [alsa-devel] " Tomoya MORINAGA
2012-05-31 10:45                                                 ` Mark Brown
2012-05-31 10:45                                                   ` [alsa-devel] " Mark Brown
2012-06-01  8:13                                                   ` Tomoya MORINAGA
2012-06-01  8:13                                                     ` [alsa-devel] " Tomoya MORINAGA
2012-06-01  8:30                                                     ` Mark Brown
2012-06-01  8:30                                                       ` [alsa-devel] " Mark Brown
2012-06-11  7:05                                                       ` Tomoya MORINAGA
2012-06-11  7:05                                                         ` [alsa-devel] " Tomoya MORINAGA
2012-06-11  8:54                                                         ` Mark Brown
2012-06-11  8:54                                                           ` [alsa-devel] " Mark Brown
2012-06-13 10:41                                                           ` Tomoya MORINAGA
2012-06-13 10:41                                                             ` [alsa-devel] " Tomoya MORINAGA
2012-06-13 12:11                                                             ` Mark Brown
2012-06-13 12:11                                                               ` [alsa-devel] " Mark Brown
2012-05-28  5:35                                         ` Tomoya MORINAGA
2012-05-28  5:35                                           ` [alsa-devel] " Tomoya MORINAGA
2012-02-23  5:46 ` [PATCH v5] sound/soc/lapis: add machine driver for ML7213 Carrier Board Tomoya MORINAGA
2012-02-23  5:46   ` Tomoya MORINAGA
2012-03-02 13:05   ` Mark Brown
2012-03-02 13:05     ` Mark Brown
2012-03-06  5:49     ` Tomoya MORINAGA
2012-03-06 11:54       ` Mark Brown
2012-03-06 11:54         ` Mark Brown
2012-03-07  1:57         ` Tomoya MORINAGA
2012-03-07  1:57           ` Tomoya MORINAGA
2012-03-09  6:38           ` [PATCH v6] " Tomoya MORINAGA
2012-03-09  6:38             ` Tomoya MORINAGA
2012-03-14 14:45             ` Mark Brown
2012-03-14 14:45               ` Mark Brown
2012-03-15  4:50               ` Tomoya MORINAGA
2012-03-15 10:50                 ` Mark Brown
2012-03-15 10:50                   ` Mark Brown
2012-03-16  4:07                   ` Tomoya MORINAGA
2012-03-16  4:07                     ` Tomoya MORINAGA
2012-03-16 19:06                     ` Mark Brown
2012-03-16 19:06                       ` Mark Brown
2012-03-18 23:45                       ` Tomoya MORINAGA
2012-03-18 23:45                         ` Tomoya MORINAGA
2012-03-19 12:02                         ` [PATCH v7] " Tomoya MORINAGA
2012-03-19 19:21                           ` Mark Brown
2012-03-19 19:21                             ` Mark Brown
2012-03-21  0:51                             ` Tomoya MORINAGA
2012-03-21  0:51                               ` Tomoya MORINAGA
2012-02-29 23:51 ` [PATCH v6] sound/soc/codecs: add LAPIS Semiconductor ML26124 Mark Brown
2012-02-29 23:51   ` Mark Brown
2012-03-02  8:16   ` Tomoya MORINAGA
2012-03-02 12:58     ` Mark Brown
2012-03-06  3:03       ` Tomoya MORINAGA
2012-03-06 10:00         ` Mark Brown
2012-03-06 10:49           ` Tomoya MORINAGA
2012-03-06 12:12             ` Mark Brown
2012-03-06 12:12               ` Mark Brown
2012-03-07  2:16               ` Tomoya MORINAGA
2012-03-07  2:16                 ` Tomoya MORINAGA
2012-03-07 11:48                 ` Mark Brown
2012-03-08  2:24                   ` Tomoya MORINAGA
2012-03-08  2:24                     ` Tomoya MORINAGA
2012-03-08 11:47                     ` Mark Brown
2012-03-08 11:47                       ` Mark Brown
2012-03-09  6:37                       ` [PATCH v7] " Tomoya MORINAGA
2012-03-09  6:37                         ` Tomoya MORINAGA
2012-03-14 14:39                         ` Mark Brown [this message]
2012-03-14 14:39                           ` Mark Brown
2012-03-15  4:51                           ` Tomoya MORINAGA
2012-03-15  4:51                             ` [alsa-devel] " Tomoya MORINAGA
2012-03-14 17:40                     ` [alsa-devel] [PATCH v6] " Lars-Peter Clausen
2012-03-14 17:45                       ` Mark Brown
2012-03-14 17:45                         ` [alsa-devel] " Mark Brown
2012-03-15  6:29                       ` Tomoya MORINAGA
2012-03-15  6:29                         ` [alsa-devel] " Tomoya MORINAGA
2012-03-16  9:55                         ` Tomoya MORINAGA
2012-03-16  9:55                           ` [alsa-devel] " Tomoya MORINAGA
2012-03-17 21:52                           ` Mark Brown
2012-03-19 11:59                             ` [PATCH v8] " Tomoya MORINAGA
2012-03-19 19:07                               ` Mark Brown
2012-03-19 19:07                                 ` Mark Brown
2012-03-21  0:57                                 ` Tomoya MORINAGA
2012-03-21  0:57                                   ` Tomoya MORINAGA

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120314143941.GS3133@opensource.wolfsonmicro.com \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=joel.clark@intel.com \
    --cc=kok.howg.ewe@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=qi.wang@intel.com \
    --cc=tiwai@suse.de \
    --cc=tomoya.rohm@gmail.com \
    --cc=yong.y.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.