alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: John Hsu <KCHSU0@nuvoton.com>
To: Mark Brown <broonie@kernel.org>
Cc: WTLI@nuvoton.com, YHCHuang@nuvoton.com,
	alsa-devel@alsa-project.org, CTLIN0@nuvoton.com,
	lgirdwood@gmail.com
Subject: Re: [PATCH] ASoC: nau8810: Add driver for Nuvoton codec chip NAU88C10
Date: Wed, 17 Aug 2016 08:34:15 +0800	[thread overview]
Message-ID: <57B3B107.9080702@nuvoton.com> (raw)
In-Reply-To: <20160816103854.GP9347@sirena.org.uk>

On 8/16/2016 6:38 PM, Mark Brown wrote:
> On Tue, Aug 16, 2016 at 11:57:17AM +0800, John Hsu wrote:
>   
>> On 8/15/2016 10:06 PM, Mark Brown wrote:
>>     
>>> On Mon, Aug 15, 2016 at 05:02:23PM +0800, John Hsu wrote:
>>>       
>
>   
>>> This looks very good overall, a few fairly small things but nothing too
>>> major.
>>>       
>
>   
>>>> +	val = (u16 *)ucontrol->value.bytes.data;
>>>> +	reg = NAU8810_REG_EQ1;
>>>> +	for (i = 0; i < params->max / sizeof(u16); i++) {
>>>> +		regmap_read(nau8810->regmap, reg + i, &reg_val);
>>>> +		reg_val = cpu_to_be16(reg_val);
>>>> +		memcpy(val + i, &reg_val, sizeof(reg_val));
>>>> +	}
>>>>         
>
>   
>>> This looks like it's trying to do regmap_raw_read()?  Raw I/O bypasses
>>> all the endianness conversions.
>>>       
>
>   
>> We also try regmap_raw_read() but it fails because the value width
>> is 9 bits. Therefor, we make the functions by ourselves.
>>     
>
> You're not open coding this, this is using regmap!
>   

Yes, the regmap raw read will use regmap finally. But it needs
format_val to make the value and it is not registered because
no such value width, 9 bits. The system will crash if the driver
uses regmap_raw_read with 9 bits value.

>   
>>>> +static struct snd_soc_codec_driver soc_codec_dev_nau8810 = {
>>>>         
>
>   
>>>> +	.controls = nau8810_snd_controls,
>>>> +	.num_controls = ARRAY_SIZE(nau8810_snd_controls),
>>>> +	.dapm_widgets = nau8810_dapm_widgets,
>>>> +	.num_dapm_widgets = ARRAY_SIZE(nau8810_dapm_widgets),
>>>> +	.dapm_routes = nau8810_dapm_routes,
>>>> +	.num_dapm_routes = ARRAY_SIZE(nau8810_dapm_routes),
>>>>         
>
>   
>>> Move this data into the component driver please.
>>>       
>
>   
>> I don't understand about it clearly. Is the snd_soc_codec_driver
>> not component driver? Could you tell me more details? Thank you.
>>     
>
> You need to set these values in the actual component driver struct, not
> directly in the CODEC driver.  Look at the series of changes
> Morimoto-san made recently for this.
>   

Thank you for the guide. I find the component driver as the
following. I'll change it.
+    .component_driver = {
+        COMPONENT_FUNC(controls,    wm8978_snd_controls),

  reply	other threads:[~2016-08-17  0:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-15  9:02 [PATCH] ASoC: nau8810: Add driver for Nuvoton codec chip NAU88C10 John Hsu
2016-08-15 14:06 ` Mark Brown
2016-08-16  3:57   ` John Hsu
2016-08-16 10:38     ` Mark Brown
2016-08-17  0:34       ` John Hsu [this message]
2016-08-17  9:42         ` Mark Brown
2016-08-18  1:04           ` John Hsu
2016-08-18 18:24             ` Mark Brown
2016-08-19  2:51               ` John Hsu
  -- strict thread matches above, loose matches on Subject: below --
2016-08-19  9:24 John Hsu
2016-06-17  8:40 John Hsu
2016-06-27 17:15 ` Mark Brown
2016-07-01  3:34   ` John Hsu
2016-07-01 10:04     ` Mark Brown
2016-07-04  3:34       ` John Hsu
2016-08-05 12:08         ` Mark Brown
2016-08-08  2:27           ` John Hsu
2016-08-08 15:18             ` Mark Brown
2016-08-09  2:09               ` John Hsu

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=57B3B107.9080702@nuvoton.com \
    --to=kchsu0@nuvoton.com \
    --cc=CTLIN0@nuvoton.com \
    --cc=WTLI@nuvoton.com \
    --cc=YHCHuang@nuvoton.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).