From: Takashi Iwai <tiwai@suse.de>
To: "Geoffrey D. Bennett" <g@b4.vu>
Cc: Takashi Iwai <tiwai@suse.de>, Takashi Iwai <tiwai@suse.com>,
linux-sound@vger.kernel.org
Subject: Re: [PATCH 0/3] ALSA: scarlett2: Fix 2i2 Gen 4 direct monitor on firmware 2417
Date: Mon, 27 Apr 2026 14:20:48 +0200 [thread overview]
Message-ID: <87cxzkzja7.wl-tiwai@suse.de> (raw)
In-Reply-To: <ae0tEsi8dKm1akJd@m.b4.vu>
On Sat, 25 Apr 2026 23:07:30 +0200,
Geoffrey D. Bennett wrote:
>
> Hi Takashi,
>
> Firmware 2417 for the Scarlett 4th Gen 2i2 moved the direct monitor
> gain parameters, breaking that control's functionality.
>
> The driver already has per-device scarlett2_config_set tables
> describing each parameter's offset, but only one table per device, so
> there was no way to express "this offset changed at firmware version
> N". This series adds that capability and uses it to fix the 2i2 Gen 4.
>
> Patches
> -------
>
> 1/3: Replace the device info's single config_set pointer with a
> config_sets array of {from_firmware_version, config_set} entries, and
> resolve the running config_set at probe time once the firmware version
> has been read. Each device gets a single entry matching its previous
> min_firmware_version (or 0), so this is a no-op preparation step.
>
> 2/3: Drop the now-redundant min_firmware_version field from
> scarlett2_device_info; config_sets[0].from_firmware_version carries
> the same meaning. No functional change.
>
> 3/3: Add a second 2i2 Gen 4 config_set with DIRECT_MONITOR_GAIN at the
> new offset, gated on firmware >= 2417. All other offsets are
> unchanged.
>
> Patch 1 is a prerequisite for patch 3. Patch 2 isn't a strict
> dependency, but it removes a now-redundant field, so patch 3's Cc:
> stable trailer names both 1 and 2 as prereqs by subject (please
> substitute SHAs at apply time). Patch 2 can be dropped from the stable
> backport if you'd prefer.
>
> Tested
> ------
>
> Verified on a Scarlett 2i2 4th Gen by writing to Monitor 1 Mix A Input
> 01 and observing with usbmon:
>
> - Firmware 2128, patched driver: write targets offset 0x2A0
> - Firmware 2417, patched driver: write targets offset 0x2A4
> - Firmware 2417, unpatched driver: write targets offset 0x2A0 (bug)
>
> Regards,
> Geoffrey
>
> Geoffrey D. Bennett (3):
> ALSA: scarlett2: Allow selecting config_set by firmware version
> ALSA: scarlett2: Fold min_firmware_version into config_sets
> ALSA: scarlett2: Update offsets for 2i2 Gen 4 firmware 2417
Applied all to for-next branch now. Thanks.
Takashi
prev parent reply other threads:[~2026-04-27 12:20 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-25 21:07 [PATCH 0/3] ALSA: scarlett2: Fix 2i2 Gen 4 direct monitor on firmware 2417 Geoffrey D. Bennett
2026-04-25 21:16 ` [PATCH 1/3] ALSA: scarlett2: Allow selecting config_set by firmware version Geoffrey D. Bennett
2026-04-25 21:16 ` [PATCH 2/3] ALSA: scarlett2: Fold min_firmware_version into config_sets Geoffrey D. Bennett
2026-04-25 21:17 ` [PATCH 3/3] ALSA: scarlett2: Update offsets for 2i2 Gen 4 firmware 2417 Geoffrey D. Bennett
2026-04-27 12:20 ` Takashi Iwai [this message]
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=87cxzkzja7.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=g@b4.vu \
--cc=linux-sound@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.