-----Original Message----- From: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Sent: Monday, March 13, 2023 7:47 AM To: “Ryan ryan.lee.analog@gmail.com; lgirdwood@gmail.com; broonie@kernel.org; perex@perex.cz; tiwai@suse.com; krzysztof.kozlowski@linaro.org; rf@opensource.cirrus.com; ckeepax@opensource.cirrus.com; herve.codina@bootlin.com; wangweidong.a@awinic.com; james.schulman@cirrus.com; ajye_huang@compal.corp-partner.google.com; shumingf@realtek.com; povik+lin@cutebit.org; flatmax@flatmax.com; linux-kernel@vger.kernel.org; alsa-devel@alsa-project.org; robh+dt@kernel.org; devicetree@vger.kernel.org; Lee, RyanS RyanS.Lee@analog.com Subject: Re: [PATCH V2 1/2] ASoC: max98363: add soundwire amplifier driver
[External]
- ret = sdw_stream_add_slave(max98363->slave, &stream_config,
&port_config, 1, stream);
- if (ret) {
dev_err(dai->dev, "Unable to configure port\n");
return ret;
- }
- if (params_channels(params) > 16) {
dev_err(component->dev, "Unsupported channels %d\n",
params_channels(params));
return -EINVAL;
- }
Do you actually support more than 8 channels?
The data port DPnPrepareCtl and DPn_ChannelEn registers expose 8 channels max. It's always possible to 'cheat' by packing two channels in the same sample, but that would require custom signaling between manager and peripheral that isn't present.
Could it be a left-over from a TDM implementation?
Thanks for the comment. I think it is a left-over from a TDM implementation. I shall modify the code to accept only max number of channels supported by the amp.
The rest of the patch looks fine.