From: Takashi Iwai <tiwai@suse.de>
To: Devin Christensen <dchristensen8@proton.me>
Cc: linux-sound@vger.kernel.org, tiwai@suse.de, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] ALSA: hda/ca0132: Add Sound BlasterX AE-5 external RGB LED strip support
Date: Tue, 06 Oct 2026 15:54:39 +0200 [thread overview]
Message-ID: <87mrsrorxc.wl-tiwai@suse.de> (raw)
In-Reply-To: <20261005141244.2130023-1-dchristensen8@proton.me>
On Mon, 05 Oct 2026 16:13:12 +0200,
Devin Christensen wrote:
>
> The Sound BlasterX AE-5 and AE-5 Plus expose a 3-pin 5V addressable RGB
> header driven directly by the CA0113 PCIe-to-HD-Audio bridge. Rather
> than using the CA0132 DSP or MMIO GPIO, the CA0113 contains an
> autonomous HDA link sniffer that snoops a designated HDA DMA playback
> stream, extracts the 24-bit GRB color payload, and serializes it as
> 800 kHz single-wire NRZ pulses to the strip (WS2812B protocol).
>
> Expose the strip through volatile card control elements:
>
> "AE-5 LED Strip" (RW, BYTES): 300-byte RGB payload representing
> up to 100 addressable LEDs (3 bytes per LED).
> "AE-5 LED Strip Count" (RW, INTEGER): Active LED count (1..100).
>
> The controls are marked with IFACE_CARD and SNDRV_CTL_ELEM_ACCESS_VOLATILE
> so changes do not trigger unnecessary audio daemon wakeups or state
> restoration by alsactl.
>
> Writes allocate an idle HDA playback stream, format a 32 KB DMA buffer
> populated with repeating WS2812 frames (preamble, audio words per LED,
> and reset gap), configure the CA0113 BAR2 serializers and stream-tag
> pin mux, and pulse the stream long enough for the reset latch to fire.
> Access is serialized with a per-spec mutex, and the controls are only
> registered on QUIRK_AE5 devices.
>
> The strip transport uses snd_hdac_dsp_prepare() / snd_hdac_dsp_cleanup(),
> which require CONFIG_SND_HDA_DSP_LOADER. All strip-related code and struct
> fields are conditionally compiled under
> IS_ENABLED(CONFIG_SND_HDA_DSP_LOADER), with a no-op stub for
> ae5_add_strip_controls() when disabled.
>
> Signed-off-by: Devin Christensen <dchristensen8@proton.me>
Now you got a few interesting points spotted by Sashiko review.
https://sashiko.dev/#/patchset/20261005141244.2130023-1-dchristensen8%40proton.me
Could you take a look?
thanks,
Takashi
next prev parent reply other threads:[~2026-10-06 13:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 14:13 Devin Christensen
2026-10-06 13:54 ` Takashi Iwai [this message]
2026-10-06 15:25 ` [PATCH v4] " Devin Christensen
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=87mrsrorxc.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=dchristensen8@proton.me \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
/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®