Re: [PATCH v2 0/6] ALSA: ctxfi: Add support for Onkyo SE-300PCIE
From: Harin Lee
Date: Mon Nov 24 2025 - 11:57:03 EST
Thanks for the suggestion.
Since this control only affects the routing between the RCA and Front
outputs (excluding S/PDIF), "Analog Playback Route" is the technically
correct name.
I will use "Analog Playback Route" as the ALSA control name and address
the points we discussed in v3.
Thanks,
Harin Lee
On 11/25/25 12:54 AM, Takashi Iwai wrote:
On Mon, 24 Nov 2025 11:22:32 +0100,
Harin Lee wrote:
Thank you for the review.
The SE-300PCIE features separate hardware routing and DACs for the
Hi-Fi RCA output and the 7.1ch Front output, unlike other X-Fi cards
where the Front port serves both purposes.
While ALSA resources typically map 1:1 to hardware, exposing a separate
mixer for the RCA port would likely confuse users and applications
regarding which device to use as the primary output. Therefore, the
"Dedicated Output Playback Enum" control is designed to let the user
select which physical output port (RCA or Front) is used for the
primary output.
If you could suggest a standardized ALSA Enum name for this control, or
any better method to handle this, please let me know.
So it chooses the exclusive output for the main playback streams?
Then it could be something like "Master Playback Route".
If it doesn't include the digital outputs like SPDIF, it could be
"Analog Playback Route" or whatever, too.
HTH,
Takashi
Thanks,
Harin Lee
On 11/24/25 5:38 PM, Takashi Iwai wrote:
On Sat, 22 Nov 2025 12:33:51 +0100,
Harin Lee wrote:
Hi Takashi,
The official Windows driver does not expose a specific mixer control
for this. It implicitly reserves RCA for stereo output and Front for
7.1ch surround, and simply appears as 'Speaker' device in the Control
Panel.
Please let me know if there are any additional points I should address
before I send v3.
Then maybe we should reconsider what exactly this control serves for.
It's for a dedicated control for what and how?
The dedicated mic stuff seems rather internal-only, so it wasn't
explicitly exposed. But when we expose this, it should look more
intuitive.
thanks,
Takashi
Thanks,
Harin Lee
On 11/22/25 6:29 PM, Takashi Iwai wrote:
On Sat, 22 Nov 2025 10:00:29 +0100,
Harin Lee wrote:
I noticed that 'rca_state' in patch 5 uses 'unsigned char'. While it is
safe due to the bounds check, I plan to switch it to 'unsigned int' for
strict correctness.
I also have two questions regarding conventions:
1. ALSA control name (on patch 5): Is "Dedicated Output Playback Enum"
acceptable, or would you prefer a simpler name?
I personally prefer a simpler one, but maybe it'd be a question how
this (or equivalent) control is called on Windows or other OS.
If it's also "Dedicated Output", then we can use it as is, too.
2. CA20K2 port logic (on patch 6): The condition
'if ((idx < 4) && ((hw->model != CTOK0010) || (idx < 3)))' handles
the non-standard RCA port mapping. Does this line require additional
comments or a helper function for better readability?
Sure, a more comment wouldn't hurt.
thanks,
Takashi
Please let me know if you would prefer me to send a v3.
On 11/22/25 12:22 AM, Harin Lee wrote:
I added support for the Onkyo SE-300PCIE (OK0010), a Creative X-Fi
CA20K2-based sound card with dual TI PCM1798 DACs, a single TI PCM1681
DAC for 7.1ch output, and a CS5364 ADC. This model differs
significantly from other CA20K2-based variants.
Since official driver support for this hardware was discontinued a long
time ago, this patch series enables the card to be used on modern
platforms.
This patch series was developed using QEMU vfio tracing, and PCIe BAR
dumps. Tested with analog output (up to 192kHz) and line/microphone
input (up to 96kHz) at various sample rates.
Changes in v2:
- Fix coding style issue (mixed declaration and code) in
dedicated_rca_put().
Harin Lee (6):
ALSA: ctxfi: Add hw parameter to daio_mgr_dao_init()
ALSA: ctxfi: Add ADC helper functions for GPIO
ALSA: ctxfi: Use explicit output flag for DAIO resources
ALSA: ctxfi: Refactor resource alloc for sparse mappings
ALSA: ctxfi: Add support for dedicated RCA switching
ALSA: ctxfi: Add support for Onkyo SE-300PCIE (OK0010)
sound/pci/ctxfi/ctatc.c | 97 ++++++++++++++++++++++++++----------
sound/pci/ctxfi/ctatc.h | 8 +--
sound/pci/ctxfi/ctdaio.c | 18 ++++---
sound/pci/ctxfi/ctdaio.h | 3 ++
sound/pci/ctxfi/cthardware.h | 4 +-
sound/pci/ctxfi/cthw20k1.c | 3 +-
sound/pci/ctxfi/cthw20k2.c | 79 ++++++++++++++++++++++-------
sound/pci/ctxfi/ctmixer.c | 73 +++++++++++++++++++++++++--
8 files changed, 223 insertions(+), 62 deletions(-)