From nobody Wed Jan 7 22:55:08 2026 Received: from comms.puri.sm (comms.puri.sm [159.203.221.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D03E6AD24; Mon, 5 Jan 2026 03:02:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.203.221.185 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767582139; cv=none; b=YZWIYeKqBX2nE6FId6eQn77LZ/zjm0KF1SQWsbzwbWVijYcQZ4UyFT6haaoQ0Jfh9MMPsWg0MHpEE97GgHSalEoMe7isWIVPthkZURYDJqYp5lgRTrbhbQojyRDH7S4nDIEfVESiB2cjGsknxq5oCMQo57HWpSKXGE7GQWibrBs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767582139; c=relaxed/simple; bh=MPPG80PySyuGNcKziBA/WqMsI63UkAvo4Yv3+TQYRJQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jQrnxpfQRXWTYa2CqPQdZQMbLAuW473z559FaxelV8JI40+HSTuOOrA22GiaZp1s7REBPnypsXW4VrCSrCbhqXDw4x0SYvwMnjYUxrCRfLrcxbdD+Q79qR2zThAhK3O3zEzPq+sfdzY8zdieX0fXjNDN93t+1L38gZ4dmrgfrx0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm; spf=pass smtp.mailfrom=puri.sm; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b=N5jrinrn; arc=none smtp.client-ip=159.203.221.185 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=puri.sm Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b="N5jrinrn" Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 19D45E27C0; Sun, 4 Jan 2026 18:52:41 -0800 (PST) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavis, port 10024) with ESMTP id zUTIX4qHxUGE; Sun, 4 Jan 2026 18:52:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1767581560; bh=MPPG80PySyuGNcKziBA/WqMsI63UkAvo4Yv3+TQYRJQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=N5jrinrn0VeXtXWh1Ze+oPk4ym+HlvyHOGMgoLOIfbypmSo6TFfz+ueIvRCmQYSk+ as4nnycS9Fzx18KYdRAxAEXLu0SCfSOjrkIrl6eL7Ln5nkqCrtuU/nfm82CCsRqu+3 e4kl1u9HOQWxfV0xH6Z26WkkpuBUVk2g+qzS0nUj+ikH+aTaBQPoQZ51VAMIavih3x HoMlrlQdZAAEi3SoKVG7+x1M7M2CmA35Vf5K+LxVSJ1BwbMvNsMxsYeISvaqC21dvA 1OwweQ1x43uQLO0n043iiUFguyFhfk1aYXeHYvYywFj8zbMSuKZhSNogv1mla6FWre PIEVKriBKHAag== From: Sebastian Krzyszkowiak Date: Mon, 05 Jan 2026 03:51:54 +0100 Subject: [PATCH 1/4] ASoC: wm8962: Add WM8962_ADC_MONOMIX to "3D Coefficients" mask Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-wm8962-l5-fixes-v1-1-8e047171da2d@puri.sm> References: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> In-Reply-To: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: patches@opensource.cirrus.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@puri.sm, Sebastian Krzyszkowiak X-Developer-Signature: v=1; a=openpgp-sha256; l=835; i=sebastian.krzyszkowiak@puri.sm; h=from:subject:message-id; bh=MPPG80PySyuGNcKziBA/WqMsI63UkAvo4Yv3+TQYRJQ=; b=owEBbQKS/ZANAwAKAejyNc8728P/AcsmYgBpWyd0dVz4UubzNLtyHuU3v0o6Mu0srgtbwxmlc nwcwRdPIKqJAjMEAAEKAB0WIQQi3Z+uAGoRQ1g2YXzo8jXPO9vD/wUCaVsndAAKCRDo8jXPO9vD /2xiD/9adcrVdUy1BYEL8wSdC7feNpYGfTCa9PfNmDl8tCNzk7awoOWBil5MzqyXYKEtcDc8bxa gO7jLIArTDgpp6YGGT6WXes0GhlAKjTgsCu8Go3edmKG+RoZ801XHXl36dRIG+1qwPk85pDQ0P9 yfyOXa7z+rKtpPDU+piXlF5b7YSZbSS+MBwCkoGqY4zSTuvcEW8NaV+JfdtMqJh4H71qVOghw+k rqllDrLACQuYwecX7H6XpZZ0UK/uE/VqaOQqDQDh/j55I2OefkOahgPbe2VhtSMaaiUHXd9yjDK kmNOX8t2TcC0AOjE+zsk78JS8qGGcptYG2fB4w9FfnOWvmIvzaEstBecRn8Wj6yYHAGCxqrYStR tr2K+zPFSP0o8Cq2eXv1Nk0ntAKulJo2Tfu01xvochxKO8tcAsj7n9QHDHBZCK4npk6xaY2rDuw pDB2SiwRcQcIkOs6SYWLHQ9osWUGAu+5sfg/X8FSJjduCHdZjpmEH+L/WHxksKJsZczY8IK/2+Y tDq/ZZAgCJMT44p49V1hatFO8v9qIrlR6IYM1WXnXsDZoyBrJYZfPfPjIyA7HgCWzY+bItMt3ZL PZUTYtf+ivjc+TV1OqddKNMv23NGxnKZmByKos/EygUOYdXdpYo2g2YKNYuWspNFb7FtP0nxwgy R+JWmx3gH2eE9aA== X-Developer-Key: i=sebastian.krzyszkowiak@puri.sm; a=openpgp; fpr=22DD9FAE006A11435836617CE8F235CF3BDBC3FF This bit is handled by a separate control. Signed-off-by: Sebastian Krzyszkowiak --- sound/soc/codecs/wm8962.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index e9e317ce6898..1040740fc80f 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -1760,7 +1760,7 @@ SND_SOC_BYTES("EQR Coefficients", WM8962_EQ24, 18), =20 =20 SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0), -SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA= ), +SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA= | WM8962_ADC_MONOMIX), =20 SOC_SINGLE("DF1 Switch", WM8962_DF1, 0, 1, 0), SND_SOC_BYTES_MASK("DF1 Coefficients", WM8962_DF1, 7, WM8962_DF1_ENA), --=20 2.52.0 From nobody Wed Jan 7 22:55:08 2026 Received: from comms.puri.sm (comms.puri.sm [159.203.221.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D046B42AA3; Mon, 5 Jan 2026 03:02:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.203.221.185 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767582139; cv=none; b=bxcpT0fROFKWHImAaoeqM+y2gzJ6yuycB7jINBNUUGKrfa3e0Cv4M6ISEkpuqUymBTzDtcZns4vXPUGA+vA4oTgVrDHlHsg/t0flPbXxgGpZDr/xQRX8PY6ufiTji02999k+Eln2Ww8QQIrmoZ/qW/vC+TDoJXsxw0JNW8GR4Kc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767582139; c=relaxed/simple; bh=zi9x3EPPEK4Yh40bqI+3+mLaNvPm7zKYWzZHed95l70=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aQVfYkCb6KUC48T3mD1b2HlRptaAZ7fy7cI7kKj63g/m4Wq8BSfaDnPKvFGGMCKkzL6YHsaLWOYu8cURmcnayuRErJW1yyZeyU2zKlvz9ScG6xu7PvviQnIc2q5VcgOMC4w+o7clMxFO5xWmP/0YpVWm7LOtbyeNOLYNlqxyLYk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm; spf=pass smtp.mailfrom=puri.sm; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b=N5IKHCxK; arc=none smtp.client-ip=159.203.221.185 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=puri.sm Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b="N5IKHCxK" Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 2B198E27C4; Sun, 4 Jan 2026 18:52:43 -0800 (PST) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavis, port 10024) with ESMTP id 0UksAOopzHXo; Sun, 4 Jan 2026 18:52:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1767581562; bh=zi9x3EPPEK4Yh40bqI+3+mLaNvPm7zKYWzZHed95l70=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=N5IKHCxKjH+8AzqdN/dqkiPSv4/V2gqroHdoNOqpr91vhwM5zgOGIx2igaPKsNFmf GQonP4yZoPD4+/3X6R+AkjtkvQBoAXGjiJKZwdjBzEbF+dQmjZsRYBbgAVIeFftHGp CZSPfX9N2FSY7Z6Jpfi7IPwN27F4i+KtdKr+tu7YYlSSJLR0HtsM0e9cpIUrLIaVC3 phkPd3nNGCNgKuuNRYesHf98XOViAPjyJnfxuoPKnPukIoRGisssVvtssARN1N/rQZ liyhctHqoTfPtzmlXvAcVtBpyIWGivQ0vregYeZLMRFhOx1FBnuYc9OfzJvSTbOg4N nrjvpKO0fSdcA== From: Sebastian Krzyszkowiak Date: Mon, 05 Jan 2026 03:51:55 +0100 Subject: [PATCH 2/4] ASoC: wm8962: Don't disable SYSCLK if it's enabled via DAPM Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-wm8962-l5-fixes-v1-2-8e047171da2d@puri.sm> References: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> In-Reply-To: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: patches@opensource.cirrus.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@puri.sm, Sebastian Krzyszkowiak X-Developer-Signature: v=1; a=openpgp-sha256; l=1081; i=sebastian.krzyszkowiak@puri.sm; h=from:subject:message-id; bh=zi9x3EPPEK4Yh40bqI+3+mLaNvPm7zKYWzZHed95l70=; b=owEBbQKS/ZANAwAKAejyNc8728P/AcsmYgBpWyd0nWf4MQoWaGUt+luUBoIBdMSTw7f0Ge1FR tWSHRLKDSGJAjMEAAEKAB0WIQQi3Z+uAGoRQ1g2YXzo8jXPO9vD/wUCaVsndAAKCRDo8jXPO9vD /xMsD/9v5qBB+6lX0cGDO5oPr5GaGVhDSuBZDo2nOkMyF6eDvYdQ/uj3e+eOeFCrfSyfC8RW2rE OQIFW4l9gMsRmxgK2GfHIm39WnGcPl+/QdRliShn5nh6RX5l6zH1PStqfxWch65/+eLvXhCANte TTe6eQ779yy6KG9HNr5pIq2m9MxkuZgFfMsfuvv5ggfYXVIgURM3bIXrjz+1muoXa5bv5s1/a4K 7INsbG13Uvsl1cnher8R257xOHoDLAwGIoGXhdEw1xjZRYT8Rhvr6XFt0h+lV8r6O1LJ0gPvSPf o7DPAcwfhu4RdBc2cknA+JuqxQleyllUzUAx2wcBhR7bO/jMmp6I47LbjM8EyjjHfRQCyC3rKnC W8821bOvrBz+yef6EvvLF43CrZIgH/6+OCBfG73UGLa+BSPRrbdl8depVG/VWUWPb5PBPCFk0cT XNpDZ3jhGBUb08QLf+Lt7m9tOWNirseqhjQVNTTnUSwmzPwjRXqLJLyjCzz+5tOox2haAFVqKb5 H0dM63DjXLaqbrDvo3SSKZCfoJsJn6hNSbPNNOijw8y4g5HVeQ6ZH8rDZzIlbEmPFnVWzVnBwbL qyjjkyQyUW2M//nbA2d0bCv4p9/MRvBWWYNdbYh0Sl5bqIW3W/cuJLjSlE86lNKM8+RL9gaattS pDNpfytlcZCO0WA== X-Developer-Key: i=sebastian.krzyszkowiak@puri.sm; a=openpgp; fpr=22DD9FAE006A11435836617CE8F235CF3BDBC3FF If SYSCLK pin is enabled via DAPM, wm8962_configure_bclk may turn it off behind DAPM's back, making it assume that the clock is still enabled even if it actually isn't, which can end up with it not being enabled for playback or capture when it's needed. Signed-off-by: Sebastian Krzyszkowiak --- sound/soc/codecs/wm8962.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 1040740fc80f..843b8c6b40a4 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2520,7 +2520,8 @@ static void wm8962_configure_bclk(struct snd_soc_comp= onent *component) usleep_range(500, 1000); dspclk =3D snd_soc_component_read(component, WM8962_CLOCKING1); =20 - if (snd_soc_dapm_get_bias_level(dapm) !=3D SND_SOC_BIAS_ON) + if (snd_soc_dapm_get_bias_level(dapm) !=3D SND_SOC_BIAS_ON + && !snd_soc_dapm_get_pin_status(dapm, "SYSCLK")) snd_soc_component_update_bits(component, WM8962_CLOCKING2, WM8962_SYSCLK_ENA_MASK, 0); =20 --=20 2.52.0 From nobody Wed Jan 7 22:55:08 2026 Received: from comms.puri.sm (comms.puri.sm [159.203.221.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC4F014A8E; Mon, 5 Jan 2026 02:52:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.203.221.185 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767581567; cv=none; b=W4GR1vJOhDrToD2OwTmfg1FH4kF2JoUspm0blEQEHrh0+YarIySUkyIUFlZ+xm78HqrAhTyA7qfK7zEdkzNX0XzIEqcVZuR6F6b3phG0CPUq9+merqwUHbS2SJ5LUN/oQJ00d8W1fRsGrzqxOuerMs6mmEUziaUbmjC9KHTHQoU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767581567; c=relaxed/simple; bh=Ihi1/3FQbf8+c123/VfTZPL88wj1LxemPR2Lj4RLjvk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uqn4qqmtQbiBGn4kB1u3UgVUE6hlV0LoUNmBzsMWeA/UsUf3iFzaDMvlK2G2bAawn53Fhsne3mGzt6eEFoVrGVg9RI2rxMilIaJiuTeKQYruLwZDfqlKNa+7BXd4W+NDZ4yf63SvwlOxZm3oww6/vckbRqIL/sCdg/ULxkuXgOM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm; spf=pass smtp.mailfrom=puri.sm; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b=IYDJEn4t; arc=none smtp.client-ip=159.203.221.185 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=puri.sm Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b="IYDJEn4t" Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 44F87E27DD; Sun, 4 Jan 2026 18:52:45 -0800 (PST) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavis, port 10024) with ESMTP id e2fxmsRPZFyH; Sun, 4 Jan 2026 18:52:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1767581564; bh=Ihi1/3FQbf8+c123/VfTZPL88wj1LxemPR2Lj4RLjvk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=IYDJEn4tv4jPrFF9BdeCo/2dTGC0F8wqoOMfJXVFwK/usQIFrSZbvOd+cF27jIfw8 mYl0nIA1KaKZVbBINjWtxs+GNaUu9jaAErV5AYDuWv4fNXfG70k24vRdgZpwjJP+YN sXwtPk+PlMktE3zVbL9J/SJoXvlYYf3cXMJR0IdRO8FyiHOSYZQ/jF4Ok2uxG8bNOS fb+MnvoXB0Zdu4xYLTFCo7WSemhvhV0NhUhvZw+2RqN7761JETmhqitBBkLyyYT4dv nYNMU7jGnpk7YGCrOiFgU5GuZM3Q1pfal0iEQWpApDiks2tCTMVzLZXnRWj7wTHXKK lM84KVKnzx1NA== From: Sebastian Krzyszkowiak Date: Mon, 05 Jan 2026 03:51:56 +0100 Subject: [PATCH 3/4] ASoC: wm8962: Don't report a microphone if it's shorted to ground on plug Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-wm8962-l5-fixes-v1-3-8e047171da2d@puri.sm> References: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> In-Reply-To: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: patches@opensource.cirrus.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@puri.sm, Sebastian Krzyszkowiak X-Developer-Signature: v=1; a=openpgp-sha256; l=1365; i=sebastian.krzyszkowiak@puri.sm; h=from:subject:message-id; bh=Ihi1/3FQbf8+c123/VfTZPL88wj1LxemPR2Lj4RLjvk=; b=owEBbQKS/ZANAwAKAejyNc8728P/AcsmYgBpWyd02aNmP27Ei3p5zBmk+Czf5jq/Wz9cz4KaS lMJhfCqHKqJAjMEAAEKAB0WIQQi3Z+uAGoRQ1g2YXzo8jXPO9vD/wUCaVsndAAKCRDo8jXPO9vD /2R6EACubUuKKTMGrlaM2TbetEU35+tQ4jPWECzjBYkSbkyV0HAmbOACta3M8iWHj+MLbD4vCQX V/joWdu1sb8SGoU0n/vlBXPEhnb1cYZM2EOfP/d5OC2D8uhB+Z11gqGMK946t4e/7QcPZR9sA3a rsF2O7/IdM4v3yukGNHJFNxBQrkNYl+MfmNy7Us6vOmj3pvTDzwfH2Np3Z0ZGDrxe4NwsCYHbi/ ekRWzW00RI4hRRycL5j8Fj9xh4+r1TyG1p311TXbODIFjYmRKFeCdw01nl/+8Q0GXddvYx12i3D Zd7CctZwySfnaWaAVt6ujN7cb5sC30x3XqioyLiHVmf2jDAkwQwZN8tdQF3NwvLLMVz0lIavGnJ +QA2KZ0Isp6MHVUq+7Nyigmudb7oefu6mCx/zPHninBBYZq9ZiSSpZjVWxA+d568+q8LIPIdW0t XnsQrJ3nUi/Xae082HxUHNCBl6KoUOs5X1TAcYXypa26qtDNKLr5fYCpiX6heXbJtzTDIBCIuBa KiNZnIAbTKh7X3C5dO3P3RDTvF0tAOyObKmkM8EmHwDp53fpn121XlFot9oytZIt45vRGnLheNm XiZ6Dg4sxGO4wS723j0kIkhICGuGjD0oGhru0cZ27fQOhXWEffnGmH/sjbBl+p4Tsu6XnM91usR CNwzygfjjPQDFCA== X-Developer-Key: i=sebastian.krzyszkowiak@puri.sm; a=openpgp; fpr=22DD9FAE006A11435836617CE8F235CF3BDBC3FF This usually means that a TRS plug with no microphone pin has been plugged into a TRRS socket. Cases where a user is plugging in a microphone while pressing a button will be handled via incoming interrupt after the user releases the button, so the microphone will still be detected once it becomes usable. Signed-off-by: Sebastian Krzyszkowiak --- sound/soc/codecs/wm8962.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 843b8c6b40a4..dd73b4dc1b97 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -67,6 +67,8 @@ struct wm8962_priv { struct mutex dsp2_ena_lock; u16 dsp2_ena; =20 + int mic_status; + struct delayed_work mic_work; struct snd_soc_jack *jack; =20 @@ -3082,8 +3084,16 @@ static void wm8962_mic_work(struct work_struct *work) if (reg & WM8962_MICSHORT_STS) { status |=3D SND_JACK_BTN_0; irq_pol |=3D WM8962_MICSCD_IRQ_POL; + + /* Don't report a microphone if it's shorted right after + * plugging in, as this may be a TRS plug in a TRRS socket. + */ + if (!(wm8962->mic_status & WM8962_MICDET_STS)) + status =3D 0; } =20 + wm8962->mic_status =3D status; + snd_soc_jack_report(wm8962->jack, status, SND_JACK_MICROPHONE | SND_JACK_BTN_0); =20 --=20 2.52.0 From nobody Wed Jan 7 22:55:08 2026 Received: from comms.puri.sm (comms.puri.sm [159.203.221.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C40E82EBDD0; Mon, 5 Jan 2026 02:52:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.203.221.185 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767581569; cv=none; b=rQQ0r5HVgr5HBHfKdZIHdk7EuQ8A85dNF96EHBK/CeT7lDZbU0H3b+UlTH47GVfKZNs/rRWZo/m/Hx2JXaFZ5U1/7GWqg408R+gah5jJRU0u5V2hOKdxWYUUzQLEms5nL0W7SJm0j4kgv7M+HpJn9L8VjpVuoX1iUD8+cCakomw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767581569; c=relaxed/simple; bh=I+p2kXXsP7IpiWWwmySXWCxbRExD53OdyEq1epRLdsQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ofW82dXLfSg35t6pe48kinF2tU6Z5I0pTTDaYPTbS38qZapMIdprdMqUUA+kQ6y/3j+Kb3yVUTTPWu9Ykcz8sz2Ljl6TQ7veJbr7ULQmhbgLRRBbU3gZ95w0NwGAHPgpzmXTxcCPL7b+tvz3phhXpo4yTxuUyrRTCF2W6w78bw8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm; spf=pass smtp.mailfrom=puri.sm; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b=S3PCPqvl; arc=none smtp.client-ip=159.203.221.185 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=puri.sm Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=puri.sm Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=puri.sm header.i=@puri.sm header.b="S3PCPqvl" Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 4EB23E27A6; Sun, 4 Jan 2026 18:52:47 -0800 (PST) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavis, port 10024) with ESMTP id 4ragx-Tyzw5j; Sun, 4 Jan 2026 18:52:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1767581566; bh=I+p2kXXsP7IpiWWwmySXWCxbRExD53OdyEq1epRLdsQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=S3PCPqvlEctzzKVcXhPGLtbuzO1twRKA9swFuaBXlu6If2eSSUbufX5XN//3rI1TQ UnZJDd0pOjAVC305kboo8DRUl2F0K5lML1MHuEOO3lboouaxmbNpJhFvzki/E8yacT VfKTwrrPWrTWv95ZnhstC95RwL3hZQy9N7+stiKRr/a3P/TZtnOE3wLhdzFVHT0gxQ X25IS/JV3rwI+hDqaUuZz9I5pm1AjzmtwFCKqZG1XX8KqMCHkF9+YPucsjXTK1KCYY ajdomNgZ+s6RY6gCQ/Ztd7Og38YNHmFE0PSAlYclHNdVyVUJyvuDPk4b6MSKl+QDO1 dgwQ9JD6EecYA== From: Sebastian Krzyszkowiak Date: Mon, 05 Jan 2026 03:51:57 +0100 Subject: [PATCH 4/4] ASoC: wm8962: Don't mark WM8962_ADDITIONAL_CONTROL_4 as volatile Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-wm8962-l5-fixes-v1-4-8e047171da2d@puri.sm> References: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> In-Reply-To: <20260105-wm8962-l5-fixes-v1-0-8e047171da2d@puri.sm> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: patches@opensource.cirrus.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@puri.sm, Sebastian Krzyszkowiak X-Developer-Signature: v=1; a=openpgp-sha256; l=1278; i=sebastian.krzyszkowiak@puri.sm; h=from:subject:message-id; bh=I+p2kXXsP7IpiWWwmySXWCxbRExD53OdyEq1epRLdsQ=; b=owEBbQKS/ZANAwAKAejyNc8728P/AcsmYgBpWyd0A4Ii/9KR8J7l5Kp88uaOZZHs4p3zA+W++ 6IfbKquxraJAjMEAAEKAB0WIQQi3Z+uAGoRQ1g2YXzo8jXPO9vD/wUCaVsndAAKCRDo8jXPO9vD /yLAD/4zDRRHhkugpIrd9Sn787B+8vg9jjSo5DA6qDigleTqwR4gIa6MW4xpwbilVCygq9x9p++ UnW++BUGpt58r7o21/55wJhkw7gbeLbl8geYgRqhXvRKwRj3DguR7vttmQ/+fLj0kENKAPebk/c Tg7aURmfg0+QCCxzeZQSnqwIs+iPwTjAYlN6I+r84aOj106ec+jijyBJdhqO83EHbOUzcXMSCgE VjoxPEkNto3AxO3+ThNrxEeJNDTRao72ckAQobj4ecoy2BpR++lnWbC6/xnjciCMrrbnVIFxwiz pK4j9EOUNx4Zg18ZdAVY3aLIMwGcINCVnOozx2hugnAAI0JppG5KShuDVUsVe2j0C1nL9DvtpCS v7D7ol3vYF5bK+LTVSTnSgpDzYezq2X9ckQOoXo1evshJB2EFxJ/JZ5iL2iMkpUUPFp2pEV5EwX AFG7zBhK+kLmMoYwGZZ55A8OVidkXK8T74HWdO4jpXndUmeTdatiYTaF70uy1LRSO/EcW38HK8P kRYWRMo6BUFnob4Jxo0hzmjQvrtrBeGMZw6vdqMreUWZxQjCAYzn+98k/2U7e2Fw32KcI/tOFVl qzVdoU/i6WtdZq9jGesWfjcmUJseVJE31VPDi3PgqtxP8LuseF0UwoEy0Jv3waJUtQtWhIBS2HQ inN3kKgXnvQON9g== X-Developer-Key: i=sebastian.krzyszkowiak@puri.sm; a=openpgp; fpr=22DD9FAE006A11435836617CE8F235CF3BDBC3FF Only some bits of that register are actually volatile, so to prevent issues with caching let's simply bypass the cache explicitly when we access these particular bits. This fixes mic-cfg value not being reapplied after runtime resume. Signed-off-by: Sebastian Krzyszkowiak --- sound/soc/codecs/wm8962.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index dd73b4dc1b97..22101284c095 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -793,7 +793,6 @@ static bool wm8962_volatile_register(struct device *dev= , unsigned int reg) case WM8962_CLOCKING1: case WM8962_SOFTWARE_RESET: case WM8962_THERMAL_SHUTDOWN_STATUS: - case WM8962_ADDITIONAL_CONTROL_4: case WM8962_DC_SERVO_6: case WM8962_INTERRUPT_STATUS_1: case WM8962_INTERRUPT_STATUS_2: @@ -3074,7 +3073,9 @@ static void wm8962_mic_work(struct work_struct *work) int irq_pol =3D 0; int reg; =20 + regcache_cache_bypass(wm8962->regmap, true); reg =3D snd_soc_component_read(component, WM8962_ADDITIONAL_CONTROL_4); + regcache_cache_bypass(wm8962->regmap, false); =20 if (reg & WM8962_MICDET_STS) { status |=3D SND_JACK_MICROPHONE; --=20 2.52.0