Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Asus Zephyrus G14 - Cirrus CS35L56 amp not engaging
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
btalcox0715
n00b
n00b


Joined: 09 Feb 2013
Posts: 38

PostPosted: Sun May 12, 2024 9:52 pm    Post subject: Asus Zephyrus G14 - Cirrus CS35L56 amp not engaging Reply with quote

Hi there--

Getting Gentoo all installed on my Asus laptop, and it has a newly supported Cirrus speaker amp (CS35L56). I'm currently building off of the mainline kernel (6.9-r7) since support is so new and only included there. The problem I'm facing is that the amp isn't "engaging"--the sound is all tinny and thin. I faced the same issue initially on Arch, but once i moved to 6.9-rc7 and downloaded the latest firmware, the amp fully kicked in and sound was great.

I was fairly confident I had everything I needed selected in the kernel, but I'm definitely missing something somewhere since I can't see anything about the device loading firmware or modules, but I at least know it's possible since my Arch install is working :D

Code:

00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e8]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14e8]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e9]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14e9]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ed]
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
   Kernel driver in use: pcieport
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ee]
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
   Kernel driver in use: pcieport
00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ee]
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
   Kernel driver in use: pcieport
00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ee]
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
   Kernel driver in use: pcieport
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
   Kernel driver in use: pcieport
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
   Kernel driver in use: pcieport
00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
   Kernel driver in use: pcieport
00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
   Kernel driver in use: pcieport
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71)
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
   Kernel driver in use: piix4_smbus
   Kernel modules: i2c_piix4
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f0]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f1]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f2]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f3]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f4]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f5]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f6]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f7]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] [10de:28e0] (rev a1)
   Subsystem: ASUSTeK Computer Inc. Device [1043:33a8]
   Kernel modules: nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:22be] (rev a1)
   Subsystem: ASUSTeK Computer Inc. Device [1043:33a8]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader [10ec:525a] (rev 01)
   Subsystem: ASUSTeK Computer Inc. Device [1043:202f]
03:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
   Subsystem: Intel Corporation Device [8086:0080]
   Kernel driver in use: iwlwifi
   Kernel modules: iwlwifi
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal] [144d:a80c]
   Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
   Kernel driver in use: nvme
65:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix3 [1002:1900] (rev cb)
   Subsystem: ASUSTeK Computer Inc. Device [1043:33a8]
   Kernel driver in use: amdgpu
   Kernel modules: amdgpu
65:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640]
   Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel
65:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h (Model 74h) CCP/PSP 3.0 Device [1022:15c7]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Family 19h (Model 74h) CCP/PSP 3.0 Device [1022:15c7]
65:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b9]
   Subsystem: ASUSTeK Computer Inc. Device [1043:201f]
   Kernel driver in use: xhci_hcd
65:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ba]
   Subsystem: ASUSTeK Computer Inc. Device [1043:201f]
   Kernel driver in use: xhci_hcd
65:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2] (rev 63)
   Subsystem: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2]
   Kernel modules: snd_acp_pci, snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh, snd_sof_amd_acp63
65:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller [1022:15e3]
   DeviceName: Realtek ALC256
   Subsystem: ASUSTeK Computer Inc. Device [1043:1b13]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel
66:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ec]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14ec]
66:00.1 Signal processing controller [1180]: Advanced Micro Devices, Inc. [AMD] AMD IPU Device [1022:1502]
   Subsystem: ASUSTeK Computer Inc. Device [1043:20cf]
67:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ec]
   Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:14ec]
67:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c0]
   Subsystem: ASUSTeK Computer Inc. Device [1043:201f]
   Kernel driver in use: xhci_hcd
67:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c1]
   Subsystem: ASUSTeK Computer Inc. Device [1043:201f]
   Kernel driver in use: xhci_hcd
67:00.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #1 [1022:1668]
   Subsystem: ASUSTeK Computer Inc. Device [1043:20af]
   Kernel driver in use: thunderbolt

Code:

Module                  Size  Used by
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
snd_seq                98304  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
hid_asus               24576  0
snd_sof_amd_acp63      16384  0
snd_sof_amd_vangogh    16384  0
snd_sof_amd_rembrandt    16384  0
snd_sof_amd_renoir     16384  0
snd_sof_amd_acp        53248  4 snd_sof_amd_rembrandt,snd_sof_amd_vangogh,snd_sof_amd_acp63,snd_sof_amd_renoir
snd_amd_sdw_acpi       12288  1 snd_sof_amd_acp
snd_hda_codec_realtek   188416  1
snd_sof_xtensa_dsp     16384  1 snd_sof_amd_acp
amdgpu              11382784  15
soundwire_amd          28672  1 snd_sof_amd_acp
snd_hda_codec_generic   102400  1 snd_hda_codec_realtek
soundwire_generic_allocation    12288  1 soundwire_amd
snd_hda_scodec_component    12288  1 snd_hda_codec_realtek
snd_sof_pci            20480  4 snd_sof_amd_rembrandt,snd_sof_amd_vangogh,snd_sof_amd_acp63,snd_sof_amd_renoir
snd_hda_codec_hdmi     77824  2
snd_hda_scodec_cs35l56_i2c    12288  0
snd_sof               229376  2 snd_sof_amd_acp,snd_sof_pci
snd_hda_scodec_cs35l56    24576  1 snd_hda_scodec_cs35l56_i2c
snd_sof_utils          12288  1 snd_sof
snd_hda_cirrus_scodec    12288  1 snd_hda_scodec_cs35l56
snd_hda_intel          49152  3
snd_soc_cs35l56_shared    32768  2 snd_hda_scodec_cs35l56_i2c,snd_hda_scodec_cs35l56
soundwire_bus         102400  2 soundwire_generic_allocation,soundwire_amd
drm_exec               12288  1 amdgpu
snd_intel_dspcfg       16384  1 snd_hda_intel
amdxcp                 12288  1 amdgpu
snd_soc_cs_amp_lib     12288  2 snd_soc_cs35l56_shared,snd_hda_scodec_cs35l56
hid_multitouch         28672  0
snd_soc_core          380928  2 snd_sof,soundwire_amd
snd_hda_codec         196608  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
drm_buddy              20480  1 amdgpu
snd_hda_cs_dsp_ctls    12288  1 snd_hda_scodec_cs35l56
iwlmvm                581632  0
gpu_sched              65536  1 amdgpu
cs_dsp                 53248  3 snd_hda_scodec_cs35l56,snd_hda_cs_dsp_ctls,snd_soc_cs_amp_lib
snd_compress           20480  1 snd_soc_core
snd_hwdep              12288  1 snd_hda_codec
i2c_hid_acpi           12288  0
drm_ttm_helper         12288  1 amdgpu
regmap_i2c             12288  1 snd_hda_scodec_cs35l56_i2c
ac97_bus               12288  1 snd_soc_core
i2c_hid                28672  1 i2c_hid_acpi
asus_nb_wmi            28672  0
ttm                    98304  2 amdgpu,drm_ttm_helper
snd_hda_core          131072  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_acp_pci            12288  0
asus_wmi               81920  2 asus_nb_wmi,hid_asus
drm_suballoc_helper    12288  1 amdgpu
snd_pcm               180224  10 snd_sof_amd_acp,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_compress,snd_soc_core,snd_sof_utils,soundwire_amd,snd_hda_core
snd_acp_config         20480  5 snd_sof_amd_rembrandt,snd_sof_amd_vangogh,snd_sof_amd_acp63,snd_acp_pci,snd_sof_amd_renoir
platform_profile       12288  1 asus_wmi
snd_soc_acpi           12288  2 snd_sof_amd_acp,snd_acp_config
snd_timer              49152  3 snd_seq,snd_hrtimer,snd_pcm
iwlwifi               557056  1 iwlmvm
drm_display_helper    212992  1 amdgpu
snd                   135168  23 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_hda_scodec_cs35l56,snd_pcm,snd_hda_cs_dsp_ctls
snd_acp_legacy_common    16384  1 snd_acp_pci
i2c_algo_bit           12288  1 amdgpu
i2c_piix4              20480  0
i2c_designware_platform    12288  0
i2c_designware_core    32768  1 i2c_designware_platform
efivarfs               24576  1
Back to top
View user's profile Send private message
btalcox0715
n00b
n00b


Joined: 09 Feb 2013
Posts: 38

PostPosted: Sun May 12, 2024 10:11 pm    Post subject: Reply with quote

Here is the output from ARCH Linux where it does work:

Code:

[    7.978430] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[    7.988128] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: DSP system name: '10431B13-spkid0', amp name: 'AMP1'
[    8.003801] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: Reset GPIO busy, assume shared reset
[    8.011843] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[    8.021334] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: DSP system name: '10431B13-spkid0', amp name: 'AMP2'
[    8.034351] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: DSP1: Firmware version: 3
[    8.034356] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: DSP1: cirrus/cs35l56-b0-dsp1-misc-10431b13-spkid0.wmfw: Tue 05 Mar 2024 01:07:08 GMT Standard Time
[    8.280593] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.11.16, 41 algorithms
[    8.296070] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: DSP1: cirrus/cs35l56-b0-dsp1-misc-10431b13-spkid0-amp1.bin: v3.11.16
[    8.296073] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: DSP1: misc: C:\Users\gchen\Desktop\Asus_proj\CY24\GA403\240426\init\10431B13_240426_V0_A0-init.bin
[    8.422921] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.0: Calibration applied
[    8.423985] snd_hda_codec_realtek hdaudioC2D0: bound i2c-CSC3556:00-cs35l56-hda.0 (ops cs35l56_hda_comp_ops [snd_hda_scodec_cs35l56])
[    8.425285] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: DSP1: Firmware version: 3
[    8.425288] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: DSP1: cirrus/cs35l56-b0-dsp1-misc-10431b13-spkid0.wmfw: Tue 05 Mar 2024 01:07:08 GMT Standard Time
[    8.671611] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.11.16, 41 algorithms
[    8.687217] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: DSP1: cirrus/cs35l56-b0-dsp1-misc-10431b13-spkid0-amp2.bin: v3.11.16
[    8.687223] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: DSP1: misc: C:\Users\gchen\Desktop\Asus_proj\CY24\GA403\240426\init\10431B13_240426_V0_A1-init.bin
[    8.815855] cs35l56-hda i2c-CSC3556:00-cs35l56-hda.1: Calibration applied
[    8.816824] snd_hda_codec_realtek hdaudioC2D0: bound i2c-CSC3556:00-cs35l56-hda.1 (ops cs35l56_hda_comp_ops [snd_hda_scodec_cs35l56])


Code:

Module                  Size  Used by
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
rfcomm                102400  4
snd_seq               131072  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
ccm                    20480  6
cmac                   12288  3
algif_hash             12288  1
algif_skcipher         12288  1
af_alg                 36864  6 algif_hash,algif_skcipher
bnep                   36864  2
intel_rapl_msr         20480  0
amd_atl                40960  1
intel_rapl_common      45056  1 intel_rapl_msr
snd_sof_amd_acp63      16384  0
snd_sof_amd_vangogh    16384  0
snd_sof_amd_rembrandt    16384  0
snd_sof_amd_renoir     16384  0
snd_sof_amd_acp        73728  4 snd_sof_amd_rembrandt,snd_sof_amd_vangogh,snd_sof_amd_acp63,snd_sof_amd_renoir
snd_sof_pci            24576  4 snd_sof_amd_rembrandt,snd_sof_amd_vangogh,snd_sof_amd_acp63,snd_sof_amd_renoir
snd_sof_xtensa_dsp     16384  1 snd_sof_amd_acp
snd_sof               466944  2 snd_sof_amd_acp,snd_sof_pci
iwlmvm                720896  0
kvm_amd               204800  0
snd_sof_utils          16384  1 snd_sof
snd_pci_ps             28672  0
kvm                  1396736  1 kvm_amd
snd_amd_sdw_acpi       16384  2 snd_sof_amd_acp,snd_pci_ps
soundwire_amd          45056  2 snd_sof_amd_acp,snd_pci_ps
snd_hda_scodec_cs35l56_spi    12288  0
mac80211             1609728  1 iwlmvm
crct10dif_pclmul       12288  1
soundwire_generic_allocation    12288  1 soundwire_amd
snd_hda_codec_realtek   204800  1
crc32_pclmul           12288  0
polyval_clmulni        12288  0
soundwire_bus         143360  2 soundwire_generic_allocation,soundwire_amd
snd_hda_codec_generic   114688  1 snd_hda_codec_realtek
libarc4                12288  1 mac80211
polyval_generic        12288  1 polyval_clmulni
snd_hda_scodec_component    20480  1 snd_hda_codec_realtek
ptp                    45056  1 iwlmvm
gf128mul               16384  1 polyval_generic
snd_soc_core          483328  2 snd_sof,soundwire_amd
pps_core               32768  1 ptp
snd_hda_codec_hdmi     98304  2
ghash_clmulni_intel    16384  0
sha512_ssse3           53248  0
uvcvideo              176128  8
snd_compress           28672  1 snd_soc_core
sha256_ssse3           36864  0
snd_hda_intel          65536  3
sha1_ssse3             32768  0
videobuf2_vmalloc      20480  1 uvcvideo
ac97_bus               12288  1 snd_soc_core
uvc                    12288  1 uvcvideo
aesni_intel           360448  8
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_intel_dspcfg       40960  2 snd_hda_intel,snd_sof
videobuf2_memops       16384  1 videobuf2_vmalloc
btusb                  86016  0
snd_rpl_pci_acp6x      16384  0
snd_intel_sdw_acpi     16384  1 snd_intel_dspcfg
crypto_simd            16384  1 aesni_intel
videobuf2_v4l2         45056  1 uvcvideo
btrtl                  32768  1 btusb
snd_hda_scodec_cs35l56_i2c    12288  0
snd_acp_pci            12288  0
snd_hda_codec         225280  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
cryptd                 28672  3 crypto_simd,ghash_clmulni_intel
btintel                65536  1 btusb
snd_acp_legacy_common    16384  1 snd_acp_pci
videodev              397312  6 videobuf2_v4l2,uvcvideo
snd_hda_scodec_cs35l56    32768  2 snd_hda_scodec_cs35l56_i2c,snd_hda_scodec_cs35l56_spi
iwlwifi               602112  1 iwlmvm
snd_hda_core          151552  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hda_cirrus_scodec    16384  1 snd_hda_scodec_cs35l56
snd_pci_acp6x          20480  0
btbcm                  24576  1 btusb
videobuf2_common       98304  4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
vfat                   24576  1
snd_soc_cs35l56_shared    45056  3 snd_hda_scodec_cs35l56_i2c,snd_hda_scodec_cs35l56,snd_hda_scodec_cs35l56_spi
snd_pci_acp5x          20480  0
snd_hwdep              20480  1 snd_hda_codec
btmtk                  12288  1 btusb
amd_pmf                69632  0
snd_soc_cs_amp_lib     16384  2 snd_soc_cs35l56_shared,snd_hda_scodec_cs35l56
snd_rn_pci_acp3x       24576  0
fat                   110592  1 vfat
rapl                   20480  0
snd_pcm               212992  13 snd_sof_amd_acp,snd_hda_codec_hdmi,snd_pci_acp6x,snd_hda_intel,snd_hda_codec,snd_sof,snd_compress,snd_soc_core,snd_sof_utils,soundwire_amd,snd_hda_core,snd_pci_ps,snd_pcm_dmaengine
pcspkr                 12288  0
wmi_bmof               12288  0
acpi_cpufreq           32768  0
nvidia_wmi_ec_backlight    12288  0
mc                     94208  8 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
ucsi_acpi              12288  0
snd_hda_cs_dsp_ctls    20480  1 snd_hda_scodec_cs35l56
amdtee                 32768  0
bluetooth            1122304  34 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
thunderbolt           569344  0
sp5100_tco             20480  0
snd_acp_config         20480  9 snd_rn_pci_acp3x,snd_pci_acp6x,snd_pci_acp5x,snd_sof_amd_rembrandt,snd_sof_amd_vangogh,snd_sof_amd_acp63,snd_acp_pci,snd_pci_ps,snd_sof_amd_renoir
typec_ucsi             73728  1 ucsi_acpi
snd_timer              53248  3 snd_seq,snd_hrtimer,snd_pcm
cs_dsp                 90112  3 snd_hda_scodec_cs35l56,snd_hda_cs_dsp_ctls,snd_soc_cs_amp_lib
cfg80211             1376256  3 iwlmvm,iwlwifi,mac80211
snd_soc_acpi           16384  3 snd_sof_amd_acp,snd_acp_config,snd_pci_ps
ecdh_generic           16384  2 bluetooth
typec                 114688  1 typec_ucsi
snd                   159744  23 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_hda_scodec_cs35l56,snd_pcm,snd_hda_cs_dsp_ctls
k10temp                16384  0
i2c_piix4              36864  0
crc16                  12288  1 bluetooth
snd_pci_acp3x          20480  0
amd_sfh                53248  1 amd_pmf
soundcore              16384  1 snd
ccp                   180224  2 kvm_amd,amdtee
roles                  16384  1 typec_ucsi
tee                    45056  2 amd_pmf,amdtee
serial_multi_instantiate    16384  0
joydev                 24576  0
mousedev               24576  0
amd_pmc                45056  0
mac_hid                12288  0
pkcs8_key_parser       12288  0
crypto_user            20480  0
loop                   45056  0
fuse                  229376  3
dm_mod                229376  0
nfnetlink              20480  1
ip_tables              36864  0
x_tables               69632  1 ip_tables
xfs                  3289088  1
libcrc32c              12288  1 xfs
crc32c_generic         12288  0
amdgpu              13877248  19
amdxcp                 12288  1 amdgpu
i2c_algo_bit           20480  1 amdgpu
drm_ttm_helper         12288  1 amdgpu
ttm                   110592  2 amdgpu,drm_ttm_helper
drm_exec               12288  1 amdgpu
gpu_sched              69632  1 amdgpu
drm_suballoc_helper    12288  1 amdgpu
drm_buddy              20480  1 amdgpu
nvme                   65536  4
rtsx_pci_sdmmc         36864  0
drm_display_helper    274432  1 amdgpu
hid_multitouch         32768  0
nvme_core             258048  5 nvme
mmc_core              282624  1 rtsx_pci_sdmmc
xhci_pci               24576  0
hid_generic            12288  0
crc32c_intel           16384  1
rtsx_pci              147456  1 rtsx_pci_sdmmc
cec                    94208  1 drm_display_helper
xhci_pci_renesas       24576  1 xhci_pci
nvme_auth              28672  1 nvme_core
i2c_hid_acpi           12288  0
i2c_hid                40960  1 i2c_hid_acpi
hid_asus               32768  0
usbhid                 81920  1 hid_asus
nvidia_drm            122880  2
nvidia_uvm           6643712  0
asus_nb_wmi            28672  0
asus_wmi               98304  2 asus_nb_wmi,hid_asus
sparse_keymap          12288  1 asus_wmi
i8042                  57344  1 asus_wmi
nvidia_modeset       1605632  1 nvidia_drm
serio                  28672  2 amd_pmc,i8042
platform_profile       12288  2 amd_pmf,asus_wmi
rfkill                 40960  10 iwlmvm,asus_wmi,bluetooth,cfg80211
video                  77824  5 nvidia_wmi_ec_backlight,asus_wmi,amdgpu,asus_nb_wmi,nvidia_modeset
wmi                    36864  4 video,nvidia_wmi_ec_backlight,asus_wmi,wmi_bmof
nvidia              60506112  10 nvidia_uvm,nvidia_modeset
Back to top
View user's profile Send private message
btalcox0715
n00b
n00b


Joined: 09 Feb 2013
Posts: 38

PostPosted: Mon May 13, 2024 11:17 pm    Post subject: Reply with quote

I’ve got some progress here, and it makes sense (as it generally does with kernel config)—I’m missing something. With the GA release of 6.9.0, I switched to gentoo-sources-6.9.0 and recompiled—no change (to be expected). I tinkered for most of the day googling and researching my hardware, reading through the kernel source, etc but still could not get this thing to be recognized. I finally took the nuclear approach and grabbed the default gentoo kernel config, compiled the kernel, generated an initramfs with Dracut, booted and voila it works! I figured maybe it had something to do with providing an initramfs, so I generated one for my manually configured kernel, but no change.

How do I work backwards from here? I have a massively bloated kernel and initramfs that works, and something in here is making this device work—what’s the best way to isolate what is causing it to kick in?

Thanks in advance!
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4316
Location: Bavaria

PostPosted: Tue May 14, 2024 2:07 am    Post subject: Reply with quote

For a manual kernel configuration, I always recommend booting our Gentoo dist-kernel (or Ubuntu LiveCD or ArchLinux) and using “lsmod” to check which modules have been loaded (*). These should then also be activated in the manual kernel configuration. Unfortunately, there are some options that have not been configured as <m>odule, but statically <*> and therefore do not appear in the list of “lsmod”. One of the most important options for an AMD notebook is e.g:
Code:
Processor type and features  --->
    [*] AMD ACPI2Platform devices support

because it enables some other modules (maybe also sound). Another one is:
Code:
Device Drivers  --->
    [*] IOMMU Hardware Support  --->
        [*]   AMD IOMMU support
        <*>     AMD IOMMU Version 2 driver
        [*]   Support for Interrupt Remapping

("AMD IOMMU Version 2" was removed with 6.7; so if you have 6.9 its okay when you miss it). With 6.7 came also a new option for AMD systems:
Code:
Device Drivers  --->
    [*] USB support  --->
        [*]     AMD PCI USB host support (NEW)

(but maybe not necessary for sound)

If nothing helps: Compare your .config with the default config ... dont mind all options which are enabled as module (because you have already enabled every module you have found in "lsmod" of arch) ... check only the statically enabled options ... especially options for Prozessor and PCI (and sound of course) ... you can skip: networking, network devices, filesystems, security, library and kernel hacking.

Also check with "dmesg" your systemlog. Maybe you will see that some drivers want load firmware. When using SOF you will need usually also sys-firmware/sof-firmware.

*) see here: https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
btalcox0715
n00b
n00b


Joined: 09 Feb 2013
Posts: 38

PostPosted: Tue May 14, 2024 3:53 pm    Post subject: Reply with quote

pietinger wrote:
For a manual kernel configuration, I always recommend booting our Gentoo dist-kernel (or Ubuntu LiveCD or ArchLinux) and using “lsmod” to check which modules have been loaded (*). These should then also be activated in the manual kernel configuration. Unfortunately, there are some options that have not been configured as <m>odule, but statically <*> and therefore do not appear in the list of “lsmod”. One of the most important options for an AMD notebook is e.g:
Code:
Processor type and features  --->
    [*] AMD ACPI2Platform devices support

because it enables some other modules (maybe also sound). Another one is:
Code:
Device Drivers  --->
    [*] IOMMU Hardware Support  --->
        [*]   AMD IOMMU support
        <*>     AMD IOMMU Version 2 driver
        [*]   Support for Interrupt Remapping

("AMD IOMMU Version 2" was removed with 6.7; so if you have 6.9 its okay when you miss it). With 6.7 came also a new option for AMD systems:
Code:
Device Drivers  --->
    [*] USB support  --->
        [*]     AMD PCI USB host support (NEW)

(but maybe not necessary for sound)

If nothing helps: Compare your .config with the default config ... dont mind all options which are enabled as module (because you have already enabled every module you have found in "lsmod" of arch) ... check only the statically enabled options ... especially options for Prozessor and PCI (and sound of course) ... you can skip: networking, network devices, filesystems, security, library and kernel hacking.

Also check with "dmesg" your systemlog. Maybe you will see that some drivers want load firmware. When using SOF you will need usually also sys-firmware/sof-firmware.

*) see here: https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration


Thank you for the direction! This was actually a really good (albeit time consuming :D) exercise. It helped me confirm that I was good from a module perspective as well as gaining familiarity of the various config options that are generally enabled by default on dist kernels. While I was doing this, I had actually received a response back from an inquiry I had made to a Cirrus engineer. His information made a light bulb go off--I distinctly remember seeing something regarding "serial bus multi instantiate" in my dmesg on the kernel that worked. Searched the kernel config and sure enough, found a CONFIG_SERIAL_MULTI_INSTANTIATE. To my delight, it was set to "n". Enabling this, recompiling, rebooting and it fired right up!

Summarizing for the sake of future readers: the CS35L56 Cirrus Amp in the 2024 Zephyrus G14 (GA403U) requires the CONFIG_SERIAL_MULTI_INSTANTIATE to be enabled in order for it to fire up and load it's firmware!
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4316
Location: Bavaria

PostPosted: Tue May 14, 2024 5:55 pm    Post subject: Reply with quote

btalcox0715 wrote:
Enabling this, recompiling, rebooting and it fired right up!

Happy to hear that !

btalcox0715 wrote:
Thank you for the direction!

You are very Welcome ... and ... Thank you also for your feedback ! :D It will surely help other users and we get more experience with different hardware.

btalcox0715 wrote:
Summarizing for the sake of future readers: the CS35L56 Cirrus Amp in the 2024 Zephyrus G14 (GA403U) requires the CONFIG_SERIAL_MULTI_INSTANTIATE to be enabled in order for it to fire up and load it's firmware!

Such information would be important also in our Gentoo Wiki (as soon as we have a page for it). Again, many thanks back to you.
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum