From: Richard Fitzgerald <rf@opensource.cirrus.com>
To: Navon John Lukose <navonjohnlukose@gmail.com>, david.rhodes@cirrus.com
Cc: broonie@kernel.org, tiwai@suse.com, linux-sound@vger.kernel.org,
patches@opensource.cirrus.com, linux-kernel@vger.kernel.org
Subject: Re: ALSA: hda/cs35l56: same calibration condition logged at dev_info() and dev_err()
Date: Mon, 14 Sep 2026 11:09:25 +0100 [thread overview]
Message-ID: <4621b455-9460-4f45-88d7-303b6243ad45@opensource.cirrus.com> (raw)
In-Reply-To: <20260914000308.108995-1-navonjohnlukose@gmail.com>
On 14/09/2026 1:03 am, Navon John Lukose wrote:
> Documentation/sound/codecs/cs35l56.rst says "Failed to write calibration"
> has the "same meaning and cause as 'Calibration disabled due to missing
> firmware controls'". The latter is a dev_info(). The former is a dev_warn()
> with a dev_err() from cs_amp_write_cal_coeff() ahead of it.
The documentation is giving advice about the *typical causes* of the
errors that can usually by fixed by the end user (like missing
firmware). However, I can reword this to say that in most cases they
indicate the same problem, though not necessarily.
The former is a dev_warn() because the driver attempted to do something
that should succeed, but it unexpectedly failed (though is not a fatal
error).
The latter is a dev_info() because the driver skipped doing something
that would fail, and is informing that it has skipped.
For most users, in most cases, the root cause will be one of the two
listed in the documentation:
* The driver did not find a suitable wmfw for this hardware
or
* The amplifier has already been patched with firmware by something
previously
> Rebinding the HDA components without re-probing the i2c driver takes the
> loud path, 4 of 4 attempts here:
>
> cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: Failed to write to 'CAL_R': -1
> cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: Failed to write calibration: -1
>
> list_empty() is false because the controls cs_dsp_power_down() disabled at
> unbind are still on ctl_list, so the dev_info() branch is skipped.
>
> The calibration is intact. CAL_CHECKSUM, CAL_STATUS, CAL_R and CAL_AMBIENT
> in DSP YM are unchanged across a failing rebind on both amps. On a speaker
> amplifier "Failed to write calibration" reads as a protection failure.
This is the second possible cause listed in the documentation:
* The amplifier has already been patched with firmware by something
previously
> I lost around 5 hours chasing this down, believing this to be an actual
> bug.
Warnings are warnings. They don't mean there is a bug in the code.
Some interpretation of the meaning is usually required, and AI isn't
always good at doing this.
The documentation does say that you can get this warning if the
firmware was already patched.
next prev parent reply other threads:[~2026-09-14 10:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 0:03 Navon John Lukose
2026-09-14 10:09 ` Richard Fitzgerald [this message]
2026-09-14 13:41 ` Navon John Lukose
2026-09-28 10:56 ` Takashi Iwai
2026-09-28 11:22 ` Navon John Lukose
2026-10-26 17:14 ` Richard Fitzgerald
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=4621b455-9460-4f45-88d7-303b6243ad45@opensource.cirrus.com \
--to=rf@opensource.cirrus.com \
--cc=broonie@kernel.org \
--cc=david.rhodes@cirrus.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=navonjohnlukose@gmail.com \
--cc=patches@opensource.cirrus.com \
--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®