From: Jack Yu <jack.yu@realtek.com>
To: Syed Saba Kareem <syed.sabakareem@amd.com>,
"Mukunda,Vijendar" <vijendar.mukunda@amd.com>,
Cristian Timohi <cristiantimohi@gmail.com>,
"Flove(HsinFu)" <flove@realtek.com>
Cc: "venkataprasad.potturu@amd.com" <venkataprasad.potturu@amd.com>,
"linux-sound@vger.kernel.org" <linux-sound@vger.kernel.org>,
"Oder Chiou" <oder_chiou@realtek.com>,
"vkoul@kernel.org" <vkoul@kernel.org>,
"yung-chuan.liao@linux.intel.com"
<yung-chuan.liao@linux.intel.com>,
"pierre-louis.bossart@linux.dev" <pierre-louis.bossart@linux.dev>,
"broonie@kernel.org" <broonie@kernel.org>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Dommati, Sunil-kumar" <Sunil-kumar.Dommati@amd.com>,
Fish690103 <fish690103@realtek.com>,
"Mike Lin (林曉能)" <mikelin@realtek.com>
Subject: RE: [BUG] ASoC/AMD ACP70/RT721: ASUS TUF Gaming A14 FA401EA speakers silent and headphone jack buzzes on playback
Date: Fri, 4 Sep 2026 06:00:56 +0000 [thread overview]
Message-ID: <30fed968a6f54a6c81eca4ee23ea4166@realtek.com> (raw)
In-Reply-To: <bc542e80-e572-452b-81ba-53e57ed3126e@amd.com>
[-- Attachment #1: Type: text/plain, Size: 9237 bytes --]
Loop more
Hi Mukunda,
Regarding to speakers silent issue, a patch has been merged as below
[1/1] ASoC: rt721-sdca: Adjust latency control to fix no-sound issue
https://git.kernel.org/broonie/sound/c/a20afec40ea1
and for headphone buzzes issue on playback, could you merge the attached patch and check if buzzes issue can be fixed?
Regards,
Jack
> -----Original Message-----
> From: Syed Saba Kareem <syed.sabakareem@amd.com>
> Sent: Thursday, September 3, 2026 4:41 PM
> To: Mukunda,Vijendar <vijendar.mukunda@amd.com>; Cristian Timohi
> <cristiantimohi@gmail.com>; Jack Yu <jack.yu@realtek.com>; Flove(HsinFu)
> <flove@realtek.com>
> Cc: venkataprasad.potturu@amd.com; linux-sound@vger.kernel.org; Oder
> Chiou <oder_chiou@realtek.com>; vkoul@kernel.org;
> yung-chuan.liao@linux.intel.com; pierre-louis.bossart@linux.dev;
> broonie@kernel.org; lgirdwood@gmail.com; linux-kernel@vger.kernel.org;
> Dommati, Sunil-kumar <Sunil-kumar.Dommati@amd.com>
> Subject: Re: [BUG] ASoC/AMD ACP70/RT721: ASUS TUF Gaming A14 FA401EA
> speakers silent and headphone jack buzzes on playback
>
>
> External mail : This email originated from outside the organization. Do not
> reply, click links, or open attachments unless you recognize the sender and
> know the content is safe.
>
>
>
> On 9/3/26 11:11, Mukunda,Vijendar wrote:
> >
> >
> > On 9/2/26 22:13, Cristian Timohi wrote:
> >> [You don't often get email from cristiantimohi@gmail.com. Learn why
> >> this is important at https://aka.ms/LearnAboutSenderIdentification ]
> >>
> >> ****
> >> Resending as plain text, as the previous message was rejected by the
> >> vger.kernel.org mailing list due to an HTML MIME part.
> >> Apologies to recipients who received the previous copy directly.
> >> ***
> >>
> >> Hello,
> >>
> >> I'm reporting an audio issue on an ASUS TUF Gaming A14 FA401EA (Ryzen
> >> AI MAX+ 392) using AMD ACP70 SoundWire and a Realtek RT721 SDCA
> >> codec.
> >>
> >> I have reproduced the issue on a clean current vanilla 7.3-rc1
> >> kernel, so this does not appear to be Fedora-, PipeWire-, or
> >> desktop-specific.
> >>
> >> Current clean test environment
> >> ==============================
> >>
> >> Distribution:
> >> Fedora 45
> >>
> >> Kernel:
> >> 7.3.0-0.rc1.260901.786262be.417.vanilla.fc45.x86_64
> >>
> >> snd_acp_sdw_legacy_mach quirk:
> >> -1
> >>
> >> There are no remaining custom snd_acp_sdw_legacy_mach/modprobe
> >> overrides in the current reproduction environment.
> >>
> >> Hardware
> >> ========
> >>
> >> Laptop:
> >> ASUS TUF Gaming A14 FA401EA
> >>
> >> DMI product:
> >> TUF Gaming A14 FA401EA
> >>
> >> DMI board:
> >> FA401EA
> >>
> >> BIOS:
> >> FA401EA.304
> >>
> >> CPU/APU:
> >> AMD Ryzen AI MAX+ 392
> >>
> >> Audio:
> >> AMD ACP70 SoundWire
> >> Realtek RT721 SDCA
> >>
> >> The SoundWire bus exposes one peripheral:
> >>
> >> sdw:0:1:025d:0721:01: Attached
> >>
> >> I do not see TAS2783 devices enumerated on this unit.
> >>
> >> Known-good cases
> >> ================
> >>
> >> The laptop's built-in speakers worked correctly under the
> >> factory-installed Windows 11.
> >>
> >> USB audio also works correctly under Linux. I tested Corsair Virtuoso
> >> USB headphones and normal audio playback works.
> >>
> >> Therefore the issue appears specific to the internal AMD ACP70 ->
> >> SoundWire -> RT721 audio path.
> >>
> >> Actual behavior
> >> ===============
> >>
> >> Internal speakers:
> >> Completely silent.
> >>
> >> 3.5 mm headphone jack:
> >> No intelligible audio is produced.
> >> When the analog audio path becomes active, the headphones
> produce
> >> a continuous buzzing noise. The buzz stops when the playback/path
> >> is deactivated.
> >>
> >> Opening the desktop sound control panel can also trigger the buzzing
> >> while the analog audio path is active.
> >>
> >> ALSA playback devices
> >> =====================
> >>
> >> The amd-soundwire card exposes:
> >>
> >> device 0:
> >> SDW1-PIN0-PLAYBACK-SimpleJack rt721-sdca-aif1-0
> >>
> >> device 2:
> >> SDW1-PIN1-PLAYBACK-SmartAmp rt721-sdca-aif2-2
> >>
> >> Direct ALSA reproduction
> >> ========================
> >>
> >> Internal speakers:
> >>
> >> speaker-test -D hw:CARD=amdsoundwire,DEV=2 \
> >> -c 2 -r 48000 -F S16_LE -t wav
> >>
> >> The PCM stream starts normally without an ALSA error, but there is no
> >> physical speaker output.
> >>
> >> Analog headphones:
> >>
> >> aplay -D plughw:CARD=amdsoundwire,DEV=0 \
> >> /usr/share/sounds/alsa/Front_Left.wav
> >>
> >> No speech is heard. The headphone output only buzzes while the audio
> >> path is active.
> >>
> >> Zero-PCM test
> >> =============
> >>
> >> I also sent only zero-valued PCM samples:
> >>
> >> timeout 10s bash -c '
> >> dd if=/dev/zero bs=192000 2>/dev/null |
> >> aplay -D hw:CARD=amdsoundwire,DEV=0 \
> >> -t raw -f S16_LE -r 48000 -c 2
> >> '
> >>
> >> The headphone jack still buzzes while the zero-PCM stream is active.
> >>
> >> Therefore the buzz does not appear to represent corrupted application
> >> audio; merely activating playback is sufficient to produce it.
> >>
> >> Mixer / UCM
> >> ===========
> >>
> >> Speaker:
> >>
> >> Speaker Switch = on
> >> rt721 FU06 Playback Volume = 87,87
> >>
> >> Headphones:
> >>
> >> Headphone Switch = on
> >> rt721 FU05 Playback Volume = 87,87
> >>
> >> I also explicitly enabled the corresponding Speaker and Headphones
> >> UCM devices. This did not change the result.
> >>
> >> ASoC DAPM during speaker playback
> >> =================================
> >>
> >> I inspected debugfs while speaker-test on the SmartAmp PCM was
> >> actively running.
> >>
> >> All relevant widgets were ON:
> >>
> >> Speaker: On
> >> rt721 DP3 Speaker Playback: On
> >> stream DP3 Speaker Playback active
> >> rt721 DP3RX: On
> >> rt721 FU 21: On
> >> rt721 FU 23: On
> >> rt721 PDE 41: On
> >> rt721 SPK: On
> >>
> >> The DAPM graph therefore appears to activate the entire expected
> >> speaker path:
> >>
> >> DP3 Speaker Playback
> >> -> DP3RX
> >> -> FU 21 / FU 23
> >> -> SPK
> >> -> Speaker
> >>
> >> but the physical speakers remain silent.
> >>
> >> Kernel messages
> >> ===============
> >>
> >> RT721 attaches successfully.
> >>
> >> I see:
> >>
> >> rt721-sdca sdw:0:1:025d:0721:01:
> >> Driver needs fixing: Unsorted reg_defaults, sorting the copy
> >>
> >> On an earlier 7.2.x boot I also observed:
> >>
> >> soundwire sdw:0:1:025d:0721:01:
> >> PARITY error detected before INT mask is enabled
> >>
> >> I did not observe additional SoundWire/RT721 errors when starting or
> >> stopping playback.
> >>
> >> Kernels tested
> >> ==============
> >>
> >> The same issue was reproduced on:
> >>
> >> Fedora 44:
> >> 7.2.2-300.fc44.x86_64
> >>
> >> Fedora 45:
> >> 7.2.2-300.fc45.x86_64
> >>
> >> Vanilla mainline:
> >> 7.3.0-0.rc1.260901.786262be.417.vanilla.fc45.x86_64
> >>
> >> CachyOS kernel:
> >> 7.2.2-cachyos1.fc45.x86_64
> >>
> >> The current reproduction is on the clean vanilla 7.3-rc1 kernel.
> >>
> >> Previous experiments
> >> ====================
> >>
> >> Before testing clean mainline, I also built a Fedora 7.2.2 kernel
> >> locally and experimentally changed the RT721 speaker endpoint in:
> >>
> >> sound/soc/amd/acp/amd-acp70-acpi-match.c
> >>
> >> from:
> >>
> >> .aggregated = 0
> >> .group_id = 0
> >>
> >> to:
> >>
> >> .aggregated = 1
> >> .group_id = 1
> >>
> >> This did not change the behavior.
> >>
> >> I also tested that custom kernel with:
> >>
> >> options snd_acp_sdw_legacy_mach quirk=32768
> >>
> >> The kernel reported:
> >>
> >> amd_sdw amd_sdw: Overriding quirk 0x1 => 0x8000
> >>
> >> but there was still no speaker output.
> >>
> >> Those experimental overrides have been removed. The current vanilla
> >> 7.3-rc1 reproduction uses quirk=-1 and no custom modprobe options.
> >>
> >> Question
> >> ========
> >>
> >> Could this FA401EA variant require a different RT721-only topology,
> >> ACP70 configuration, SoundWire setup, or codec initialization quirk?
> >>
> >> The fact that all-zero PCM causes the analog headphone output to buzz
> >> while the stream is active may be particularly relevant.
> >>
> >> I'm happy to test patches or provide register/debug output.
> >>
> >> I can also provide full alsa-info, kernel journal, lspci output,
> >> SoundWire sysfs state, mixer state, and DAPM debugfs output.
> >
> > Could you please log a Bugzilla ticket adding ACPI dump, dmi
> > information and along with alsa info output?
> ++RTK Team
>
> Similar kind of issue reported in another mail thread, realtek is working on it.
>
> @jack could you please comment on it.
>
> >>
> >> Thank you.
> >> Cristian
> >
[-- Attachment #2: 0001-ASoC-rt721-sdca-Update-preset-for-all-functions.patch --]
[-- Type: application/octet-stream, Size: 10972 bytes --]
From 6c021b1c8709f3497a1298d02ae72f3a1f4efe2f Mon Sep 17 00:00:00 2001
From: Jack Yu <jack.yu@realtek.com>
Date: Fri, 4 Sep 2026 10:41:56 +0800
Subject: [PATCH] ASoC: rt721-sdca: Update preset for all functions
Improve preset on all functions for better performance.
Signed-off-by: Jack Yu <jack.yu@realtek.com>
---
sound/soc/codecs/rt721-sdca-sdw.c | 4 +
sound/soc/codecs/rt721-sdca.c | 174 ++++++++++++++++--------------
2 files changed, 99 insertions(+), 79 deletions(-)
diff --git a/sound/soc/codecs/rt721-sdca-sdw.c b/sound/soc/codecs/rt721-sdca-sdw.c
index eae7d662efae..a3924522def1 100644
--- a/sound/soc/codecs/rt721-sdca-sdw.c
+++ b/sound/soc/codecs/rt721-sdca-sdw.c
@@ -74,10 +74,12 @@ static bool rt721_sdca_mbq_readable_register(struct device *dev, unsigned int re
case 0x200003c:
case 0x2000046:
case 0x5810000:
+ case 0x5810033:
case 0x5810036:
case 0x5810037:
case 0x5810038:
case 0x5810039:
+ case 0x5b10017:
case 0x5b10018:
case 0x5b10019:
case 0x5f00045:
@@ -149,10 +151,12 @@ static bool rt721_sdca_mbq_volatile_register(struct device *dev, unsigned int re
case 0x2000084:
case 0x2000086:
case 0x5810000:
+ case 0x5810033:
case 0x5810036:
case 0x5810037:
case 0x5810038:
case 0x5810039:
+ case 0x5b10017:
case 0x5b10018:
case 0x5b10019:
return true;
diff --git a/sound/soc/codecs/rt721-sdca.c b/sound/soc/codecs/rt721-sdca.c
index b1c3dc060c24..7a166594775c 100644
--- a/sound/soc/codecs/rt721-sdca.c
+++ b/sound/soc/codecs/rt721-sdca.c
@@ -173,7 +173,10 @@ static void rt721_sdca_dmic_preset(struct rt721_sdca_priv *rt721)
RT721_RC_CALIB_CTRL0, 0x0b00);
rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL,
RT721_RC_CALIB_CTRL0, 0x0b40);
- regmap_write(rt721->regmap, 0x2f5c, 0x25);
+ regmap_write(rt721->regmap,
+ SDW_SDCA_CTL(FUNC_NUM_MIC_ARRAY, RT721_SDCA_ENT_USER_FU10,
+ RT721_SDCA_CTL_SAMPLE_FREQ_INDEX, 0), 0x11);
+ regmap_write(rt721->regmap, 0x2f5c, 0x01);
}
static void rt721_sdca_amp_preset(struct rt721_sdca_priv *rt721)
@@ -184,9 +187,6 @@ static void rt721_sdca_amp_preset(struct rt721_sdca_priv *rt721)
RT721_VREF1_HV_CTRL1, 0xe000);
rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
RT721_MISC_POWER_CTL31, 0x8007);
- regmap_write(rt721->mbq_regmap, 0x5810000, 0x6420);
- regmap_write(rt721->mbq_regmap, 0x5810000, 0x6421);
- regmap_write(rt721->mbq_regmap, 0x5810000, 0xe421);
rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
RT721_CH_FLOAT_CTL6, 0x5561);
rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_REG,
@@ -211,81 +211,97 @@ static void rt721_sdca_amp_preset(struct rt721_sdca_priv *rt721)
static void rt721_sdca_jack_preset(struct rt721_sdca_priv *rt721)
{
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_MISC_POWER_CTL31, 0x8000);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART,
- RT721_VREF1_HV_CTRL1, 0xe000);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_MISC_POWER_CTL31, 0x8007);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_GE_REL_CTRL1, 0x8011);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_UMP_HID_CTRL3, 0xcf00);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_UMP_HID_CTRL4, 0x000f);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_UMP_HID_CTRL1, 0x1100);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_UMP_HID_CTRL5, 0x0c12);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_JD_CTRL,
- RT721_JD_1PIN_GAT_CTRL2, 0xc002);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL,
- RT721_RC_CALIB_CTRL0, 0x0b00);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL,
- RT721_RC_CALIB_CTRL0, 0x0b40);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_UAJ_TOP_TCON14, 0x3333);
- regmap_write(rt721->mbq_regmap, 0x5810035, 0x0036);
- regmap_write(rt721->mbq_regmap, 0x5810030, 0xee00);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
- RT721_HP_AMP_2CH_CAL1, 0x0140);
- regmap_write(rt721->mbq_regmap, 0x5810000, 0x0021);
- regmap_write(rt721->mbq_regmap, 0x5810000, 0x8021);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
- RT721_HP_AMP_2CH_CAL18, 0x5522);
- regmap_write(rt721->mbq_regmap, 0x5b10007, 0x2000);
- regmap_write(rt721->mbq_regmap, 0x5B10017, 0x1b0f);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_CBJ_CTRL,
- RT721_CBJ_A0_GAT_CTRL1, 0x2205);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
- RT721_HP_AMP_2CH_CAL4, 0xa105);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_UAJ_TOP_TCON14, 0x3b33);
- regmap_write(rt721->mbq_regmap, 0x310400, 0x3043);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_UAJ_TOP_TCON14, 0x3f33);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_UAJ_TOP_TCON13, 0x6048);
- regmap_write(rt721->mbq_regmap, 0x310401, 0x3000);
- regmap_write(rt721->mbq_regmap, 0x310402, 0x1b00);
- regmap_write(rt721->mbq_regmap, 0x310300, 0x000f);
- regmap_write(rt721->mbq_regmap, 0x310301, 0x3000);
- regmap_write(rt721->mbq_regmap, 0x310302, 0x1b00);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
- RT721_UAJ_TOP_TCON17, 0x0008);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_DAC_CTRL,
- RT721_DAC_2CH_CTRL3, 0x55ff);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_DAC_CTRL,
- RT721_DAC_2CH_CTRL4, 0xcc00);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART,
- RT721_MBIAS_LV_CTRL2, 0x6677);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART,
- RT721_VREF2_LV_CTRL1, 0x7600);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_ENT_FLOAT_CTL2, 0x1234);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_ENT_FLOAT_CTL3, 0x3512);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_ENT_FLOAT_CTL1, 0x4040);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_ENT_FLOAT_CTL4, 0x1201);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_BOOST_CTRL,
- RT721_BST_4CH_TOP_GATING_CTRL1, 0x002a);
- regmap_write(rt721->regmap, 0x2f58, 0x07);
-
- regmap_write(rt721->regmap, 0x2f51, 0x00);
- rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
- RT721_MISC_CTL, 0x0004);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_MISC_POWER_CTL31, 0x8000);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART,
+ RT721_VREF1_HV_CTRL1, 0xe000);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_MISC_POWER_CTL31, 0x8007);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ 0x10, 0xffb7);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ 0x20, 0xffb7);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ 0x30, 0xffb7);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON13, 0x6048);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_GE_REL_CTRL1, 0x8011);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_UMP_HID_CTRL3, 0xcf00);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_UMP_HID_CTRL4, 0x000f);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_UMP_HID_CTRL1, 0x1100);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_UMP_HID_CTRL5, 0x0c12);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_JD_CTRL,
+ RT721_JD_1PIN_GAT_CTRL2, 0xc004);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL,
+ RT721_RC_CALIB_CTRL0, 0x0b00);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_RC_CALIB_CTRL,
+ RT721_RC_CALIB_CTRL0, 0x0b40);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON14, 0x333b);
+ regmap_write(rt721->mbq_regmap, 0x5810035, 0x8036);
+ regmap_write(rt721->mbq_regmap, 0x5810030, 0xee03);
+ regmap_write(rt721->mbq_regmap, 0x5810033, 0x6000);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
+ RT721_HP_AMP_2CH_CAL1, 0x4140);
+ regmap_write(rt721->mbq_regmap, 0x5810000, 0x0021);
+ regmap_write(rt721->mbq_regmap, 0x5810100, 0x8021);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
+ RT721_HP_AMP_2CH_CAL18, 0x5522);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
+ RT721_HP_AMP_2CH_CAL1, 0x4540);
+ regmap_write(rt721->mbq_regmap, 0x5b10017, 0x1b0f);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_CBJ_CTRL,
+ RT721_CBJ_A0_GAT_CTRL1, 0x2205);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON14, 0x3b3b);
+ regmap_write(rt721->mbq_regmap, 0x310400, 0x3043);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON14, 0x3f33);
+ regmap_write(rt721->mbq_regmap, 0x310401, 0x3000);
+ regmap_write(rt721->mbq_regmap, 0x310402, 0x1b00);
+ regmap_write(rt721->mbq_regmap, 0x310300, 0x000f);
+ regmap_write(rt721->mbq_regmap, 0x310301, 0x3000);
+ regmap_write(rt721->mbq_regmap, 0x310302, 0x1b00);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON17, 0x0008);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_DAC_CTRL,
+ RT721_DAC_2CH_CTRL3, 0x55ff);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_DAC_CTRL,
+ RT721_DAC_2CH_CTRL4, 0xcc00);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART,
+ RT721_MBIAS_LV_CTRL2, 0x6677);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_ANA_POW_PART,
+ RT721_VREF2_LV_CTRL1, 0x7600);
+ regmap_write(rt721->mbq_regmap, 0x910000, 0x00a1);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON13, 0x6048);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_ENT_FLOAT_CTL2, 0x1234);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_ENT_FLOAT_CTL3, 0x3512);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_ENT_FLOAT_CTL1, 0x4040);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT,
+ RT721_ENT_FLOAT_CTL4, 0x1201);
+ regmap_write(rt721->regmap, 0x2f58, 0x01);
+ regmap_write(rt721->regmap, 0x2f59, 0x01);
+ regmap_write(rt721->regmap, 0x2f51, 0x00);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
+ RT721_UAJ_TOP_TCON13, 0x6040);
+ regmap_write(rt721->mbq_regmap, 0x910001, 0x3256);
+ regmap_write(rt721->mbq_regmap, 0x910002, 0x0000);
+ regmap_write(rt721->mbq_regmap, 0x910003, 0x0000);
+ regmap_write(rt721->mbq_regmap, 0x900004, 0x7778);
+ regmap_write(rt721->mbq_regmap, 0x910202, 0x02e4);
+ regmap_write(rt721->mbq_regmap, 0x800002, 0xcc04);
+ rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
+ RT721_HP_AMP_2CH_CAL4, 0xa105);
+ rt_sdca_index_write(rt721->mbq_regmap, 0x0b, 0x01, 0x0000);
}
static void rt721_sdca_jack_init(struct rt721_sdca_priv *rt721)
--
2.54.0
prev parent reply other threads:[~2026-09-04 6:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 16:43 [BUG] ASoC/AMD ACP70/RT721: ASUS TUF Gaming A14 FA401EA speakers silent and headphone jack buzzes on playback Cristian Timohi
2026-09-03 5:41 ` Mukunda,Vijendar
2026-09-03 8:40 ` Syed Saba Kareem
2026-09-04 6:00 ` Jack Yu [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=30fed968a6f54a6c81eca4ee23ea4166@realtek.com \
--to=jack.yu@realtek.com \
--cc=Sunil-kumar.Dommati@amd.com \
--cc=broonie@kernel.org \
--cc=cristiantimohi@gmail.com \
--cc=fish690103@realtek.com \
--cc=flove@realtek.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mikelin@realtek.com \
--cc=oder_chiou@realtek.com \
--cc=pierre-louis.bossart@linux.dev \
--cc=syed.sabakareem@amd.com \
--cc=venkataprasad.potturu@amd.com \
--cc=vijendar.mukunda@amd.com \
--cc=vkoul@kernel.org \
--cc=yung-chuan.liao@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox