From: Shimrra Shai <shimrrashai@gmail.com>
To: broonie@kernel.org
Cc: lgirdwood@gmail.com, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-sound@vger.kernel.org,
perex@perex.cz, shimrrashai@gmail.com, tiwai@suse.com
Subject: Re: Re: [PATCH 1/2] ASoC: es8323: enable right-hand DAC-mixer connection on ES8323
Date: Thu, 14 Aug 2025 13:33:44 -0500 [thread overview]
Message-ID: <20250814183344.59453-1-shimrrashai@gmail.com> (raw)
In-Reply-To: <b5a64166-c55f-4ca4-af92-52c954847af6@sirena.org.uk>
On Thu, Aug 14, 2025 at 01:11:59 PM +0100, Mark Brown wrote:
> On Wed, Aug 13, 2025 at 08:47:31PM -0500, Shimrra Shai wrote:
> > Enable the right-hand DAC mixer connection in the same manner as the
> > left-hand one.
>
> > @@ -633,6 +633,7 @@ static int es8323_probe(struct snd_soc_component *component)
> > snd_soc_component_write(component, ES8323_CONTROL2, 0x60);
> > snd_soc_component_write(component, ES8323_CHIPPOWER, 0x00);
> > snd_soc_component_write(component, ES8323_DACCONTROL17, 0xB8);
> > + snd_soc_component_write(component, ES8323_DACCONTROL20, 0xB8);
>
> Neither of these should be unconditional writes, these should be user
> visible controls. We don't encode specific system's use cases into the
> driver.
I was just following the precedent from the driver's prior
author(s), in the manner of the line above it. Presumably, enabling
the left-hand DAC-mixer connection only was a solution that worked
for some devices, and theoretically (as in, I don't know of them
personally), there could be devices where enabling the right-hand
DAC-mixer connection only works for them (the Firefly may be just
such a device; I have only tested it with both enabled at once,
so I can't say for sure. I know it definitely does not work with
the left-hand connection enabled alone, i.e. the line preceding
my addition). And perhaps also devices where there is some kind
of cross-inhibition effect, meaning setting both enabled would
generate problems on those devices, thus justifying your concern
instead of using a blanket for all devices as I thought. In that
case, that means the original author was also wrong, and so I need
to know exactly where it should be placed.
With regard of that though, I see these lines earlier in the driver:
/* Left Mixer */
static const struct snd_kcontrol_new es8323_left_mixer_controls[] = {
SOC_DAPM_SINGLE("Left Playback Switch", SND_SOC_NOPM, 7, 1, 1),
SOC_DAPM_SINGLE("Left Bypass Switch", ES8323_DACCONTROL17, 6, 1, 0),
};
/* Right Mixer */
static const struct snd_kcontrol_new es8323_right_mixer_controls[] = {
SOC_DAPM_SINGLE("Right Playback Switch", SND_SOC_NOPM, 6, 1, 1),
SOC_DAPM_SINGLE("Right Bypass Switch", ES8323_DACCONTROL20, 6, 1, 0),
};
which suggest it is in fact controllable already, but I wonder why it
is in the "bypass" switch only and not the "playback" switch, which
seems to do nothing (SND_SOC_NOPM). Would it perhaps be correct to
move these to the "playback" switch, or to have both switches
collapsed into a single switch?
In any case, if these are the correct places to enable this control
and it is already supported there, then it seems neither write command
in the setup is needed, viz. we should _delete_
snd_soc_component_write(component, ES8323_DACCONTROL17, 0xB8);
too. What do you say?
Thanks for any feedback,
Shimrra Shai.
next prev parent reply other threads:[~2025-08-14 18:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 1:26 [PATCH 0/2] ASoC: es8323: Playback enablement for Firefly ITX-3588J and similar hardware Shimrra Shai
2025-08-14 1:47 ` [PATCH 1/2] ASoC: es8323: enable right-hand DAC-mixer connection on ES8323 Shimrra Shai
2025-08-14 12:11 ` Mark Brown
2025-08-14 18:33 ` Shimrra Shai [this message]
2025-08-14 18:43 ` Mark Brown
2025-08-14 1:49 ` [PATCH 2/2] ASoC: es8323: enable DAPM power widgets for playback DAC and output Shimrra Shai
2025-08-14 14:18 ` (subset) [PATCH 0/2] ASoC: es8323: Playback enablement for Firefly ITX-3588J and similar hardware Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250814183344.59453-1-shimrrashai@gmail.com \
--to=shimrrashai@gmail.com \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®