[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <50b81d55-a4d9-4e8f-831d-b98d789c125e@sirena.org.uk>
Date: Mon, 15 Sep 2025 20:52:48 +0100
From: Mark Brown <broonie@...nel.org>
To: Troy Mitchell <troy.mitchell@...ux.spacemit.com>
Cc: Liam Girdwood <lgirdwood@...il.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Yixun Lan <dlan@...too.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Philipp Zabel <p.zabel@...gutronix.de>, linux-sound@...r.kernel.org,
devicetree@...r.kernel.org, linux-riscv@...ts.infradead.org,
spacemit@...ts.linux.dev, linux-kernel@...r.kernel.org,
Jinmei Wei <weijinmei@...ux.spacemit.com>
Subject: Re: [PATCH v3 2/2] ASoC: spacemit: add i2s support for K1 SoC
On Thu, Sep 11, 2025 at 01:47:11PM +0800, Troy Mitchell wrote:
> +
> +static int spacemit_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
> + unsigned int fmt)
> +{
> + struct spacemit_i2s_dev *i2s = dev_get_drvdata(cpu_dai->dev);
> + u32 sspsp_val;
> + case SND_SOC_DAIFMT_DSP_A:
> + sspsp_val |= SSPSP_FSRT;
> + case SND_SOC_DAIFMT_DSP_B:
> + cpu_dai->driver->playback.channels_min = 1;
> + cpu_dai->driver->playback.channels_max = 1;
> + cpu_dai->driver->capture.channels_min = 1;
> + cpu_dai->driver->capture.channels_max = 1;
> + cpu_dai->driver->playback.formats = SNDRV_PCM_FMTBIT_S32_LE;
> + cpu_dai->driver->capture.formats = SNDRV_PCM_FMTBIT_S32_LE;
> + sspsp_val |= FIELD_PREP(SSPSP_FIELD_SFRMWDTH, 0x1);
> + break;
You really shouldn't be modifying the driver struct at all, if two
interfaces have different configurations or if one interface changes
modes the two will fight with each other. Use the constraints API to
enforce any constraints that are discovered at runtime.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists