From nobody Tue Jun 16 20:37:15 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011012.outbound.protection.outlook.com [52.101.62.12]) (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 12E44154425 for ; Wed, 29 Apr 2026 05:42:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777441345; cv=fail; b=Oq8UFPxFhAQy6sOmjyULLCsaN6oEGzHyderHMk0zOZR6gYjqWvPW+NvwM/89bDRiYhWzKPoRAPDEoJjK4IOqsc2Op5Fbr08E+f2BVIhMWgWOOL0i9a9+WQ/DOtVLvAliNNCS7u9tQ/DK0aOLkelafrR/Rh79zI4jldvqOCjl8Xo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777441345; c=relaxed/simple; bh=hOoPOE17LlFhgnMOFzacU1ZLPEujuA+l/HWxXgCDFEE=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=DRqnPJ+St3t92K0+i3dpgouhd7Sd9w9X4arDNDN6Wcni4sKcgBxaw8TBX4YwIGEVVR16G9PfE212y6xQYbu16qPYmLYSUVagi2VwHqUt1xoCoKrVvnuolCkqO8950pM7EcXGuwm87cGu3FcyJvSYYe66Kn5rTL4341n3lVsje9Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=tYNsh79Y; arc=fail smtp.client-ip=52.101.62.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="tYNsh79Y" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t54k38FjcbLcquE5CYpnyo0/ZMHolJv6O6VUbwrm6tZa9Day5NEIZyntJLWMgLBHEC9zh3DyZNaX26eb7z08WrNTckmGiP6AFDo+3VzA6q905KBEz/fK/2H2VyNtebIklVKFMLg44vmYTPXumN+AxxdhTVpL2IrPMv+kXwPiDAfL9UntXuLHGptLdRqW4pbsMybzBtPF1Lf6aHEkKgKWAPt/1bBP1pxP0Z17nnHH8Ck7+fshXAq/lpf4JnJwzYv1YVJvt1oVu+uvGQAtLQeRSbBcm1EnNTIPZ2gK1ELxqwSRZTE57MDITSSfo1ZfoKulqRgdRprEkp9Ye+aImRzQkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zLj6tvATaY57a06jlgafQktobJewc00RFsgJLywNqps=; b=cRw0I4aoxs928cW3x9MWfNliLE/mbMMGODNl9sAarMmT6vBjX8FpDyv5kvWH3S8cAX9GJtF/XVpjXYpBSf/JUOfLyujcTOMEM1HK6VqQWGM72crTLQiaw3Q+etMlxlCQGgqWkvOKeMwUS5aWUaWIbKVxVcKKuI1LciDqxTudqTKkz21oQVbQCzpP6fOZZ6RHOG58jnJ3L3mWDdI/FhiaOMFpydVON3qHyswSvL6Z7HnpFnQx91N57jPvdsXp0BWzSkl/0GNQNcFMFITWLPfTL13tO3ijC+neWZqxxsc9TwUF8COHO0dLaGUr5GAv2ByTExHy3prPz5BbzxnJXvGt/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.195) smtp.rcpttodomain=139.com smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zLj6tvATaY57a06jlgafQktobJewc00RFsgJLywNqps=; b=tYNsh79YAa3OgyGuEkedaBe2UWKLOYyyLRMAvD4Y7s8933XEzqbWTn01unLsHypr8UchTx5721ZIAhAZwiRSRVOfpAGqZTcmcSq8hQwhomVHPYdPaf/TVNLGHodeOWE94A6fWRTm9rf1Au0z69ZlDlfwJ+Pz3HiI1JwLPf+F6Pc= Received: from CH0PR03CA0202.namprd03.prod.outlook.com (2603:10b6:610:e4::27) by CH3PR10MB6903.namprd10.prod.outlook.com (2603:10b6:610:151::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Wed, 29 Apr 2026 05:42:20 +0000 Received: from CH1PEPF0000AD7F.namprd04.prod.outlook.com (2603:10b6:610:e4:cafe::9f) by CH0PR03CA0202.outlook.office365.com (2603:10b6:610:e4::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.28 via Frontend Transport; Wed, 29 Apr 2026 05:42:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.195; helo=lewvzet201.ext.ti.com; pr=C Received: from lewvzet201.ext.ti.com (198.47.23.195) by CH1PEPF0000AD7F.mail.protection.outlook.com (10.167.244.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.18 via Frontend Transport; Wed, 29 Apr 2026 05:42:20 +0000 Received: from DLEE210.ent.ti.com (157.170.170.112) by lewvzet201.ext.ti.com (10.4.14.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 29 Apr 2026 00:42:19 -0500 Received: from DLEE207.ent.ti.com (157.170.170.95) by DLEE210.ent.ti.com (157.170.170.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 29 Apr 2026 00:42:19 -0500 Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE207.ent.ti.com (157.170.170.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Wed, 29 Apr 2026 00:42:19 -0500 Received: from LT5CG31242FY.dhcp.ti.com ([10.250.161.26]) by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 63T5gFBi2698193; Wed, 29 Apr 2026 00:42:16 -0500 From: Shenghao Ding To: CC: , , , , , <13564923607@139.com>, <13916275206@139.com>, Shenghao Ding Subject: [PATCH v1] ALSA: hda/tas2781: Fix incorrect bit update for non-book-zero or book 0 pages >1 Date: Wed, 29 Apr 2026 13:42:06 +0800 Message-ID: <20260429054206.429-1-shenghao-ding@ti.com> X-Mailer: git-send-email 2.33.0.windows.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7F:EE_|CH3PR10MB6903:EE_ X-MS-Office365-Filtering-Correlation-Id: 650eb964-36c7-4c27-6104-08dea5b214b9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: Xh60aD0HFlk6DC/FLRmb8p3V0WI3gRhL0bCJqYH/VGIwL30e+USL1mjtAdattlRJDVVSU1fBbcaNMUNiBVUSA2J4vYIWkKKzHm1LXMOzSS2+GdG2L2QR3rghLBD5c41Wl7TCanH3fYVWlEzU1Kh9/O0uUtp3OvwxeO/8X+EDiMf8HE7qmMJyQK/G+TqMM9/C2CyWQaUIKEuD36J0fSNRINRcYYiV4Tmu9C3Q56WjZ+wzCOSfLYbRlQF8RjGWInj/EmwQ17RjYbTJLU7wEf/1e4Fc2b+g+Q8Y4NOReGaTZ+qvnJ2EvPWnbbOw66H2rYjtNuDaSJ5E2B6ekoQZ8eZg7VEgPrt0+cVIOuPHdufEqYpCjrdLVG1ynkFZsPydxITSY5nrTMlx33h9JU8JmHr7NPozsws3u48n5wEs+DHAMoeL2lX1CQVf9bzy66ZeOhVuUj4zxx7veO8j6N28ul/12+WZAThgPlR2pjbafBTTigwVMn7VxTkmoh5UIfRdGkVEcQ95VHgPrzvuiY45I9kuUL2FRHZbOR6mhhkzwx62U9GCGkoZDmjXdTpIQAfkHGHkvfun8E9cBDzexM98pRw/sqFHga3cVFDSzz0wBj6JKvbRcAuylY5P/mBlyLvQgukCeYsLei29WD6kP5CiTFbjHDx9mNCgJFdGMo0a8F8YFYNy5494hJ6BAKszSDLrAyeYWT1QMdijvdeamsVWiBC5oUb46NcFjy5PH0mqVaH6fpLXHSfRY1rH88qj2oaJ3x6DoULr8Q5XQ8/PEfJZRkc0mg== X-Forefront-Antispam-Report: CIP:198.47.23.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet201.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(56012099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cGicT+EUsurubx35d80TKbKIxOtx0jIDImEmpLmoSZiNg6TIv2Qh+3B6dNMQPt3/L7DKTQep0iTy2nVkafIXJMIyCsE2dMYdjWWIyREVzZf7iLoFneCdB39iv+hzWTMDmvlzXCKqKqMvX3Sg8Sf1x/QOfy36qt251I4RJbpff8O9530tY5qk1M4slkxk4tsRGvC44jYeguN3I4owJg5A9KqH2ZDVlZTSD1ePtr43rzgEOWWHLhHDRNDhTIkym+YKkY10vpIcAuBCSzk2Gg7s/8vP5oeEUwJeaGpxuC+piVZxGK9b/u6Q8+je1i5n0yDLJtBErIRaLd0UPKJw+LmQsfusoaxUcC5YbQ4LGSVfDLuD5C5McENZL7mQeuk7BEl2etpqHWYdq3Vbz7v4mg0rheaIWOULeeLOdiktatPHB9/evF8Agkz+gAgxfpQnF9LX X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2026 05:42:20.2740 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 650eb964-36c7-4c27-6104-08dea5b214b9 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.195];Helo=[lewvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD7F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6903 Content-Type: text/plain; charset="utf-8" In TAS2781 SPI mode, when accessing non-book-zero or page numbers greater than 1 in book 0, an additional byte must be read. The first byte in such cases is a dummy byte and should be ignored. Fixes: 9fa6a693ad8d ("ALSA: hda/tas2781: Remove tas2781_spi_fwlib.c and lev= erage SND_SOC_TAS2781_FMWLIB") Signed-off-by: Shenghao Ding --- sound/hda/codecs/side-codecs/tas2781_hda_spi.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sound/hda/codecs/side-codecs/tas2781_hda_spi.c b/sound/hda/cod= ecs/side-codecs/tas2781_hda_spi.c index 560f2385212d..0e4f3553f273 100644 --- a/sound/hda/codecs/side-codecs/tas2781_hda_spi.c +++ b/sound/hda/codecs/side-codecs/tas2781_hda_spi.c @@ -132,10 +132,18 @@ static int tasdevice_spi_dev_update_bits(struct tasde= vice_priv *tas_priv, int ret, val; =20 /* - * In our TAS2781 SPI mode, read/write was masked in last bit of - * address, it cause regmap_update_bits() not work as expected. + * In TAS2781 SPI mode, when accessing non-book-zero or page numbers + * greater than 1 in book 0, an additional byte must be read. The + * first byte in such cases is a dummy byte and should be ignored. */ - ret =3D tasdevice_dev_read(tas_priv, chn, reg, &val); + if ((TASDEVICE_BOOK_ID(reg) > 0) || (TASDEVICE_PAGE_ID(reg) > 1)) { + unsigned char buf[2]; + + ret =3D tasdevice_dev_bulk_read(tas_priv, chn, reg, buf, 2); + val =3D buf[1]; + } else { + ret =3D tasdevice_dev_read(tas_priv, chn, reg, &val); + } if (ret < 0) { dev_err(tas_priv->dev, "%s, E=3D%d\n", __func__, ret); return ret; --=20 2.43.0