[alsa-devel] [V3 2/2] ASoC: max98373: Added Amplifier Driver

Ryan Lee RyanS.Lee at maximintegrated.com
Fri Jan 5 18:10:35 CET 2018


>-----Original Message-----
>From: Mark Brown [mailto:broonie at kernel.org]
>Sent: Thursday, January 4, 2018 9:14 AM
>To: Ryan Lee <RyanS.Lee at maximintegrated.com>
>Cc: lgirdwood at gmail.com; perex at perex.cz; tiwai at suse.com; arnd at arndb.de;
>afd at ti.com; robert.jarzmik at free.fr; supercraig0719 at gmail.com;
>jbrunet at baylibre.com; dannenberg at ti.com; romain.perier at collabora.com;
>bryce.ferguson at rockwellcollins.com; kuninori.morimoto.gx at renesas.com; m-
>stecklein at ti.com; alsa-devel at alsa-project.org; linux-kernel at vger.kernel.org;
>ryan.lee.maxim at gmail.com
>Subject: Re: [V3 2/2] ASoC: max98373: Added Amplifier Driver
>
>On Wed, Jan 03, 2018 at 10:39:17AM -0800, Ryan Lee wrote:
>
>This looks mostly good.  There are a few smaller issues but I think at this point
>it's most sensible to apply and fix those incrementally so I'll do that, please
>follow up with patches fixing the remaining issues.

Thank you. Let me follow up with patches fixing the remaining issues.

>
>> --- /dev/null
>> +++ b/sound/soc/codecs/max98373.c
>> @@ -0,0 +1,971 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +/* Copyright (c) 2017, Maxim Integrated */
>
>SPDX headers are supposed to be C++ comments, please send a followup patch
>fixing this.
>
>> +static int max98373_get_bclk_sel(int bclk) {
>> +	int i;
>> +	/* match BCLKs per LRCLK */
>> +	for (i = 0; i < ARRAY_SIZE(bclk_sel_table); i++) {
>> +		if (bclk_sel_table[i] == bclk)
>> +			return i + 2;
>> +	}
>> +	return 0;
>> +}
>> +static int max98373_set_clock(struct snd_soc_codec *codec,
>
>Missing blank line between the functions.
OK. Thanks.
>
>> +	}
>> +	/* set DAI_SR to correct LRCLK frequency */
>
>Another missing blank line.
OK. Let me fix.
>
>> +static int max98373_dai_tdm_slot(struct snd_soc_dai *dai,
>> +	unsigned int tx_mask, unsigned int rx_mask,
>> +	int slots, int slot_width)
>> +{
>> +	struct snd_soc_codec *codec = dai->codec;
>> +	struct max98373_priv *max98373 =
>snd_soc_codec_get_drvdata(codec);
>> +	int bsel = 0;
>> +	unsigned int chan_sz = 0;
>> +	unsigned int mask;
>> +	int x, slot_found;
>> +
>> +	max98373->tdm_mode = true;
>
>This should really also support disabling TDM mode - if the parameters are all 0
>just turn TDM off.  Again can be fixed in a followup.
OK. Let me apply it.
>
>> +SOC_SINGLE_TLV("DHT Gain Min", MAX98373_R20D1_DHT_CFG,
>> +	MAX98373_DHT_SPK_GAIN_MIN_SHIFT, 9, 0,
>> +max98373_dht_spkgain_min_tlv), SOC_SINGLE_TLV("DHT Rot Pnt",
>MAX98373_R20D1_DHT_CFG,
>> +	MAX98373_DHT_ROT_PNT_SHIFT, 15, 0,
>max98373_dht_rotation_point_tlv),
>> +SOC_SINGLE_TLV("DHT Attack Step", MAX98373_R20D2_DHT_ATTACK_CFG,
>> +	MAX98373_DHT_ATTACK_STEP_SHIFT, 4, 0,
>max98373_dht_step_size_tlv),
>> +SOC_SINGLE_TLV("DHT Release Step",
>MAX98373_R20D3_DHT_RELEASE_CFG,
>> +	MAX98373_DHT_RELEASE_STEP_SHIFT, 4, 0,
>max98373_dht_step_size_tlv),
>
>You should add a Volume on the end of these control names so that userspace
>knows how to display them properly; it's a little confusing as they're not
>actually gains but it tends to work out better.  Same for most of the other TLV
>controls.
OK. Thanks for your feedback.


More information about the Alsa-devel mailing list