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(-)
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(-) -- 2.52.0
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? 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? 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(-) >
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(-) > > >
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. 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(-) >>> >>
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(-) > >>> > >> >
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. 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(-) >>>>> >>>> >>
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(-) > >>>>> > >>>> > >> >
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(-) >>>>>>> >>>>>> >>>> >>
© 2016 - 2025 Red Hat, Inc.