[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALiyAo=awTsGQnGH5UPB7dF5QsZ2AFkKv5LcJkJRXV9sv51iqQ@mail.gmail.com>
Date: Wed, 20 Nov 2024 23:02:13 +0530
From: Hridesh MG <hridesh699@...il.com>
To: Takashi Iwai <tiwai@...e.de>
Cc: Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>, Jonathan Corbet <corbet@....net>,
Stefan Binding <sbinding@...nsource.cirrus.com>, Kailang Yang <kailang@...ltek.com>,
Simon Trimmer <simont@...nsource.cirrus.com>, Joshua Grisham <josh@...huagrisham.com>,
Richard Fitzgerald <rf@...nsource.cirrus.com>, linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
Shuah Khan <skhan@...uxfoundation.org>
Subject: Re: [PATCH 1/2] ALSA: hda/realtek: Fix headset mic on Acer Nitro 5
> Is alc_fixup_headset_mode() called by the quirk chain?
> When this is set up via quirks, alc_update_headset_mode() gets called
> at initialization and this should detect the headset type. At that
> point, alc_headset_mode_ctia() would be called if the proper type gets
> detected.
Thanks for pointing me in the right direction, I believe I've managed
to find the root problem. I've set it up via quirks to call
alc_update_headset_mode(), when I plug in any earphone,
alc_determine_headset_type() incorrectly determines that the type is
OMTP despite it being CTIA (I've confirmed this on a friend's laptop).
Adding my codec to a case in alc_determine_headset_type() for my codec
seems to fix this issue.
After the headset is detected as CTIA, I also had to add my codec to a
case in alc_headset_mode_ctia() to set the process coefficient to
0xD689 (as written in my original patch) to finally pick up the mic
input.
I hope this is a satisfactory approach, if it is not, please let me
know. I'll make an attempt to understand the cases and process
coefficients before sending v2.
Powered by blists - more mailing lists