RE: [EXTERNAL] Re: [PATCH v11] ASoc: tas2783: Add tas2783 codec driver

From: Ding, Shenghao
Date: Sat Mar 16 2024 - 08:56:23 EST


Thanks for your comments. Kindly see the feedback

> -----Original Message-----
> From: Amadeusz Sławiński <amadeuszx.slawinski@xxxxxxxxxxxxxxx>
> Sent: Wednesday, March 6, 2024 12:05 AM
> To: Ding, Shenghao <shenghao-ding@xxxxxx>; broonie@xxxxxxxxxx
> Cc: andriy.shevchenko@xxxxxxxxxxxxxxx; lgirdwood@xxxxxxxxx;
> perex@xxxxxxxx; pierre-louis.bossart@xxxxxxxxxxxxxxx;
> 13916275206@xxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; liam.r.girdwood@xxxxxxxxx; bard.liao@xxxxxxxxx;
> mengdong.lin@xxxxxxxxx; yung-chuan.liao@xxxxxxxxxxxxxxx; Lu, Kevin
> <kevin-lu@xxxxxx>; tiwai@xxxxxxx; soyer@xxxxxx; Baojun.Xu@xxxxxxx;
> Navada Kanyana, Mukund <navada@xxxxxx>
> Subject: [EXTERNAL] Re: [PATCH v11] ASoc: tas2783: Add tas2783 codec
> driver
>
> On 3/5/2024 2:26 PM, Shenghao Ding wrote:
> > The tas2783 is a smart audio amplifier with integrated MIPI SoundWire
> > interface (Version 1.2.1 compliant), I2C, and I2S/TDM interfaces
> > designed for portable applications. An on-chip DSP supports Texas
> > Instruments SmartAmp speaker protection algorithm. The integrated
> > speaker voltage and current sense provides for real-time monitoring of
> loudspeakers.
> >
> > The ASoC component provides the majority of the functionality of the
> > device, all the audio functions.
> >
> > Signed-off-by: Shenghao Ding <shenghao-ding@xxxxxx>
> >
> > ---
>
> ...
...
> > +struct tasdevice_priv {
> > + struct snd_soc_component *component;
>
> Apart from being assigned this field seems to be unused.
This field can help to get the point to "struct tasdevice_priv" in tasdevice_sdw_pcm_hw_free,
tasdevice_sdw_hw_params, tasdevice_mute

>
> > + struct sdw_slave *sdw_peripheral;
> > + enum sdw_slave_status status;
>
> This one seems to be only used in tasdevice_update_status()? Does it really
> need to be kept in struct?
>
> > + struct sdw_bus_params params;
>
> Unused?
>
> > + struct regmap *regmap;
> > + struct device *dev;
> > + unsigned char dspfw_binaryname[TAS2783_DSPFW_FILENAME_LEN];
>
> This one also seems weird, it is mainly needed when loading FW and could be
> local to tasdevice_comp_probe(), although there is one dev_warn which uses
> it outside of it, but pretty sure it could be dropped.
>
> > + unsigned char dev_name[32];
>
> Another unused field.
>
> > + unsigned int chip_id;
>
> Another one that only seems to be assigned.
>
> > + bool pstream;
> > + bool hw_init;
> > + bool first_hw_init;
> > +};
> > +
> > +#endif /*__TAS2783_H__ */