lkml.org 
[lkml]   [2022]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 3/4] ASoC: codecs: wsa883x: add control, dapm widgets and map
From
Thanks Mark,

On 29/06/2022 11:58, Mark Brown wrote:
> On Wed, Jun 29, 2022 at 10:06:43AM +0100, Srinivas Kandagatla wrote:
>
>> +static int wsa_dev_mode_put(struct snd_kcontrol *kcontrol,
>> + struct snd_ctl_elem_value *ucontrol)
>> +{
>> + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
>> + struct wsa883x_priv *wsa883x = snd_soc_component_get_drvdata(component);
>> +
>> + if (wsa883x->dev_mode == ucontrol->value.enumerated.item[0])
>> + return 0;
>> +
>> + wsa883x->dev_mode = ucontrol->value.enumerated.item[0];
>> +
>> + return 0;
>> +}
>
> This isn't returning 1 when the value changes so will miss generating
> events, please test the driver with mixer-test.
Yes my bad..

>
>> + switch (event) {
>> + case SND_SOC_DAPM_POST_PMU:
>> + if (wsa883x->dev_mode == RECEIVER) {
>> + snd_soc_component_write_field(component, WSA883X_CDC_PATH_MODE,
>> + WSA883X_RXD_MODE_MASK,
>> + WSA883X_RXD_MODE_HIFI);
>> + snd_soc_component_write_field(component, WSA883X_SPKR_PWM_CLK_CTL,
>> + WSA883X_SPKR_PWM_FREQ_SEL_MASK,
>> + WSA883X_SPKR_PWM_FREQ_F600KHZ);
>> + snd_soc_component_write_field(component, WSA883X_DRE_CTL_0,
>> + WSA883X_DRE_PROG_DELAY_MASK, 0x0);
>> + } else if (wsa883x->dev_mode == SPEAKER) {
>
> This looks like it'd be better written as a switch statement.
Sounds good,

>
>> +static const struct snd_kcontrol_new wsa883x_snd_controls[] = {
>> + SOC_SINGLE_RANGE_TLV("PA Gain", WSA883X_DRE_CTL_1, 1,
>> + 0x0, 0x1f, 1, pa_gain),
>
> Volume controls should end in Volume, mixer-test should also have caught
> this.
Okay, will fix all these in next spin.

\
 
 \ /
  Last update: 2022-06-29 13:02    [W:0.369 / U:0.696 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site