From nobody Sun Apr 5 18:17:29 2026 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (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 0F6EB262808; Mon, 23 Feb 2026 16:06:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.152.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771862815; cv=fail; b=RO8n/3SU8U2aq6ao3rus0d/o0ivxUZ1lRTG4CC1OORNbqECkWPnMgJ6C4rSN8iWhN+xS1wNFv46eoHY0uIrrGbngCl6NbRKCUZbE3zXEMDYgeNTdCGYYSRXsQtH2I2sqZSOh1JzUjM727OqY1NtdMvcn5ihikkofZnq2CGZcT0g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771862815; c=relaxed/simple; bh=MApMvZdv7BW6xQK7/ckZbpiQx0CZcQQiM97EEwFSdLg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=He6t/Gc5In+rBOYN/PuxpSAYtuqd0/J+IX+vwCRZuEhlNKd7IVw05mEI5VNq+Wg6vLOLVracUMo+14KrpbrCbmtAPJfgAbd9E82kDpVBvCLjtrFet04gtD1i1Aqno83gfm4UAp9j9zbDbA8P/0MJbHtoSUoe575iF71EQ+ifIq0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=ojIaSqyX; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=IhNk1n1n; arc=fail smtp.client-ip=67.231.152.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="ojIaSqyX"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="IhNk1n1n" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61NFCX8Z2143434; Mon, 23 Feb 2026 10:06:51 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=ram+dUApqM/Ry+U2+AkNqKqMQ+8R0aC6Wek9IWPvb64=; b= ojIaSqyXGdid4UGxxnVUnMafmsH20XZdwBsZhDpzs9UQSVNe/1/PlN/IfJjn81AL lelicHVUkC4GMza8spPky79HiNkMCcxn/JvcP5PCGQvC4eZV7w42imW2wuxXKFFz APfRFRYg50iOPqLkIgz6QJHhG1gf3jBfD9+8HGYCQ+hrI/wtln84Na/x30qQZfkx EbhJ5yoF5SdcWGmslXVT8/meFXkbMzX2uViBj3vavyh5RFgb3pvvZFJwIpnPovmy 0Fgkw+BVpQx60kPYpUsk7fKyv1KOzrF+HH9OOqXeUaBITUf3TI7Q6aPkA8UDh7Zd 7Q2dbxInqNeq+E7ehoDfAw== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11021079.outbound.protection.outlook.com [52.101.62.79]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4cfa0j1rs6-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Feb 2026 10:06:50 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qlsVaSjkQALg71rtKi7gnF1MbbUHC68ZB3NkUWMT5+ug96vD+1OL+yShfDCRmzKkHzf2WEGeCry53MpJHMIX5qTnTeexiid/LuC1BtePyqgvyV5TWb4Sy3XHWHu7mMyX6sm8X7MGlAYscr24PqeruRDJabKfUAjWR6SwvLPKr2pjKmdxj+o+AOL4eFNGN5xH7tv3QYDQYXUNhQT+9Y6hqHQDwjQobrxWgDOFQge6t2ulYgx+s/+iYBI0Xqf5YzFBKA8+0aGDCnqEInEa5ilF0w7NEQ0AuERZn1Cjpn2UJbKz2tyoGOAMY3PqISDnihYx7fMI354WWwfDlMmyEcK+gg== 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=ram+dUApqM/Ry+U2+AkNqKqMQ+8R0aC6Wek9IWPvb64=; b=wGxnYLc77oiKdLdlJsw9O0+0k89Ai7mxeloRKZm9f1bP5COUdalieUAuDiqVP/j9q6+99xaB21kWKd2Yd8Fl6XvJ0Inka05t57NSxji9CV81uhKTA8umj92iZlNhDSxbUY1FkSJXvK+bfj97HEHSJQ0pHiPNWWsMMtkCjiXNogAeY+nbLL4XznHSSjorTWio6vWzwCSPcF7W3RdejaKdF5py+6zo3ejLnCub7a1dRYn8/6C06jA0jEvu7vzq43a0FI/IkC6q2LG+7WDoXUPu6Kpcjj5XlJBRyuHfuGvCL2VfCaCCPY/ABq7y3uqO9r0BhQjjoK35TMBUmq7P1L8E9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ram+dUApqM/Ry+U2+AkNqKqMQ+8R0aC6Wek9IWPvb64=; b=IhNk1n1nrvo6czntCNOYlOvicLohSUFS5ROIW18k1zX8oOOKIUuclbdDbq4CZaw8y/th6FjwlJxkK30TINVA/wph80Sl/a9Y62GvOJnO9UWkPjahBaVcGIvOSgVybFF0Ndz838r6Sx9xGsGspC1s7DrLuGa0ERrMYR8IZ9Xzizc= Received: from SA1P222CA0190.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::27) by BL1PPF0770E4D24.namprd19.prod.outlook.com (2603:10b6:20f:fc04::e86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.21; Mon, 23 Feb 2026 16:06:38 +0000 Received: from SA2PEPF00001509.namprd04.prod.outlook.com (2603:10b6:806:3c4:cafe::39) by SA1P222CA0190.outlook.office365.com (2603:10b6:806:3c4::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.21 via Frontend Transport; Mon, 23 Feb 2026 16:06:34 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: Fail (protection.outlook.com: domain of opensource.cirrus.com does not designate 84.19.233.75 as permitted sender) receiver=protection.outlook.com; client-ip=84.19.233.75; helo=edirelay1.ad.cirrus.com; Received: from edirelay1.ad.cirrus.com (84.19.233.75) by SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Mon, 23 Feb 2026 16:06:36 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id DBB2A406542; Mon, 23 Feb 2026 16:06:34 +0000 (UTC) Received: from lonswws02.ad.cirrus.com (lonswws02.ad.cirrus.com [198.90.188.42]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id B4E9782024B; Mon, 23 Feb 2026 16:06:34 +0000 (UTC) From: Stefan Binding To: Mark Brown Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, Stefan Binding Subject: [PATCH v1 1/3] firmware: cs_dsp: Add API to hibernate the DSP Date: Mon, 23 Feb 2026 16:05:30 +0000 Message-ID: <20260223160614.754934-2-sbinding@opensource.cirrus.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260223160614.754934-1-sbinding@opensource.cirrus.com> References: <20260223160614.754934-1-sbinding@opensource.cirrus.com> 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-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|BL1PPF0770E4D24:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a327f0d-f0e8-4961-fd07-08de72f58592 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|61400799027|376014|54012099003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?SE7hB+FodMXx2VsIbjwIR1V8t+MZ8SZSGXdCGGo0GD1jDsviP4LqwACHOPzj?= =?us-ascii?Q?nEb8bARe2VYTeAuurYkBE3PVkpAPRf7XlIOtUs7nWCzsEXfNKVrvCWLQHt6C?= =?us-ascii?Q?rL4ueswqoZlQ8YTtm8Ux0ZoI400ls5EM7HCa41AMgDyIN2fDAoz8rF2FrukX?= =?us-ascii?Q?0uQ0IICJ+6sm3RU1YVd+NsF9uDcG+9tNLZL9gZbd3eS4uoywb3Ca9ymsQbF4?= =?us-ascii?Q?LtfbzQnyjVjsJPks0IOD4Vg57udHpKHHCR279/5g9FAd44vpYZbJAKEb7xia?= =?us-ascii?Q?tPw10cSDxHA3nTbriQb6/pDQfcFVNDMH8PTlD/Svmj9+Seb2fZRD+XfqUHLc?= =?us-ascii?Q?4AH30CQgoQCU8MP4ZvTxnRh79RsuZ7gynRGJhkYvTsX9EBZbvE1OhlIgYBtZ?= =?us-ascii?Q?E8ao73oqribpM8lgKNLrcb6G9OMoOzFpGuhMwjrF4+LLUqebrgMeObTJahWI?= =?us-ascii?Q?qnyJPsQLe7LqyKNMBVYltOQkVKLGSPiVE2A+/0WOLC3DUhhtadPEfACb1DKT?= =?us-ascii?Q?SemYlel0jlVxZJpuE7Oh4jx0zmCHJUkzdJlAx210vbuarJkV/qruKiDg3IHl?= =?us-ascii?Q?SGVtMg7gJDuAaKWquYrrb/QzzffM9UM143D1QoV8ucoIcwTY2tkn2Q3dvL7j?= =?us-ascii?Q?kNixwyTQQoiZ19QR+zTxyTD/uVRVAJnhRvUeFv+FPiRwyelVz4m0+uWjA+GY?= =?us-ascii?Q?ybW4gvKNrSaGrD4QmSIa71zkYjvqekc8e/v2Axli4BQZaG5rgHEnGWCWteag?= =?us-ascii?Q?OrZnA3P1lnR6F2Qp2I7FN2/XkIvjgpNaBKhsJDUoQ15F8IsV3LmXVYdcXZKb?= =?us-ascii?Q?7Wp8r/QVG39cYeAHGS1/UNaARkJ1odG9Gr37lJ1ABxSbfYnumhWgBNUUmGkf?= =?us-ascii?Q?LRhqZceJzyIFk7nkzt2seb/X0SripWiIa70hV0Bcov0TzUuL5DQIcm3futQ8?= =?us-ascii?Q?ZnUAIozcqY6NYWHcC2bPQKt+TQ/TfNjP7yKquHYEGH1fttqp+JU01OzahpbO?= =?us-ascii?Q?bEJmJeUYjgVvD7dF+OyBfir6ZP5+AMuWvZrv6WAQ821OlOyoiS8e7RXji7jI?= =?us-ascii?Q?yntm6Jye0Xay7kRr5klCNm0EzcVvVeH71+1YIba78HDVCT934zWLhNjg1WNH?= =?us-ascii?Q?P7qe6vsJHdP3Qn0TLXqFhzxxIQ3zx2Da6l/RrR0rdtNIypBG2rSvSYJIfOtR?= =?us-ascii?Q?+k94xxgPI09nhl6t9KPyNDp5+18lXohLNXw11VqxKC8DsAPBlUDw6+MWJSyJ?= =?us-ascii?Q?djGpWiTvj2r/hWhaAnvCvEIWJfyP8FxKhnOy8aGXNOsqzacqlPpMxViehwnu?= =?us-ascii?Q?nRx0Jz5w8T6XcHK9e09S7E1feEwH/Hd/L5DWUledcwAcG/pVd3NNXMpz7axk?= =?us-ascii?Q?q1RZ2uAnJ2iXfoM4ADUF8lNnVz/5lFjVopzx5XouzkVajq+0hpRvy+o+0o96?= =?us-ascii?Q?cbC35ccTAT95xiaOmJEfuZDj7+YKdq4PJCEeHX9pfwan3TPzoahcBRlNZlUb?= =?us-ascii?Q?FGyPT98pGZsrQutJSJQa2osIpuOlScj6IsSLp1d1X+z/+GEp7zeougzr3urB?= =?us-ascii?Q?JRyhHXvWkFhxDWhVxisxOJRV2IDJ4KAkKcNIgTho6UZ5pyBiES7YzmOed7I1?= =?us-ascii?Q?sny4XNyPjZP97/jG+1kE9rH8rhniUqCJA7zIsC9mlvrCAH1aW1F5uNrIlTlh?= =?us-ascii?Q?kXHxcA=3D=3D?= X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(61400799027)(376014)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wfQK6VcxOKZjvvCaa7715kbE3rhhSe8l8pRtY1diPMtHK+EUUYAEXVuvri02GwbdUI86pQ36pDalP68nkhit71zMIb0vvoIMMeGJf6OuCdD4pjqPsbTN7p9k7Woy/CmE0xy0XLLDv54Nj3caQmcun1mlphRXEtJr9EoIXZ16RP4ExJxkXX+uVpsNR/qRpo7JNpzpQc3Hc25Jr8HHQwO8rrEHKYp9c94EGcUloRMfNjme4/W6Ks5VwnROV3AsN36+TRHNgzN2QrneffMIZ2EU5FwYnAcGpvanHJZS8hvAUOjv2bFNXEClCvnuGOdgaPxNizUyCFuiri2thk7ugnafpnb38p6rhWXMsqO2g4oVHzyeB+RkA2obiVaOefDUZysZNWjScroSM9Lq1KT8G0lXld5l6tWmfBmToLK5CIBCaV2dTG6kg+JoO5L6VrXWmLk1 X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2026 16:06:36.3907 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5a327f0d-f0e8-4961-fd07-08de72f58592 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-SA2PEPF00001509.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PPF0770E4D24 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDEzOCBTYWx0ZWRfX8Cf3gSYaELd7 ffBrV41HEgOrtX5PJ7wY0NydGmbJcOWgTLogCffq/oxntDmu/Ixv7ZhD+sQOhdgDIit8G257RNs MpEMNWP8iSCu2rFwFmCSTK3H2QJP32KVYwaRahXkg+XbMIPFGE/8AeIq7weIe45u0Ibyd4qqaUV zwQGolkK3ur6ujTHkNWsXMGe/d/pQvsbvp7dL4Qq1FtZMhleBbSJjntqYjP/AAN7GGQKz9n0yAQ Z4L95PTifEBfbsRU+So/eYDJb9Bd8EZURNywDi43jKqf9u2+N6FTkA+kp6muUbPRRqUc/0Fjnq3 pLDnzPGy5kooSJh72rsvgRGIGn65nUlYHPfTu3wYIpRykPa9eB6ztaLeEA3ZtjQXgE1dcAwsgD5 JVKRzctD75+4xemLhF0xFyga+dmfe7J8yrD4kciQNvQ+opACSixVC4GdCV815547WMqlHk5/0Mw fV0zbe28DKOr+nN9oxg== X-Authority-Analysis: v=2.4 cv=Q/7fIo2a c=1 sm=1 tr=0 ts=699c7b1a cx=c_pps a=pfd1m+JhmiCErHYdEUHeAQ==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=HzLeVaNsDn8A:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=OYxLIzEmPA8roSr139EA:9 X-Proofpoint-GUID: mwb6lOVFiqKZ1maQJGMj7KZj32O59-R4 X-Proofpoint-ORIG-GUID: mwb6lOVFiqKZ1maQJGMj7KZj32O59-R4 X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" For some parts, the DSP is kept running when in low power mode (hibernation), leaving the firmware ALSA controls enabled, but the registers are inaccessible. Attempts to access volatile firmware controls whilst in this state would produce errors in the kernel log due to a regmap_raw_read() into DSP registers whilst the regmap is in cache_only. To remove this error log, add a hibernating flag to indicate that the controls are inaccessible, so we no longer try to read or write to the registers whilst the regmap is in cache_only. This would still produce an error when trying to read or write to these controls, but this would be a different error (-EPERM instead of -EBUSY), and would not produce a spurious error log in the kernel. Upon wake from hibernation, the control caches are re-synced to the hardware, if the DSP is running. Signed-off-by: Stefan Binding Reviewed-by: Richard Fitzgerald --- drivers/firmware/cirrus/cs_dsp.c | 49 +++++++++++++++++++++++--- include/linux/firmware/cirrus/cs_dsp.h | 3 ++ 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/drivers/firmware/cirrus/cs_dsp.c b/drivers/firmware/cirrus/cs_= dsp.c index b4f1c01e3b5b..aed1b4214621 100644 --- a/drivers/firmware/cirrus/cs_dsp.c +++ b/drivers/firmware/cirrus/cs_dsp.c @@ -515,6 +515,7 @@ void cs_dsp_init_debugfs(struct cs_dsp *dsp, struct den= try *debugfs_root) =20 debugfs_create_bool("booted", 0444, root, &dsp->booted); debugfs_create_bool("running", 0444, root, &dsp->running); + debugfs_create_bool("hibernating", 0444, root, &dsp->hibernating); debugfs_create_x32("fw_id", 0444, root, &dsp->fw_id); debugfs_create_x32("fw_version", 0444, root, &dsp->fw_id_version); =20 @@ -703,7 +704,7 @@ int cs_dsp_coeff_write_acked_control(struct cs_dsp_coef= f_ctl *ctl, unsigned int =20 lockdep_assert_held(&dsp->pwr_lock); =20 - if (!dsp->running) + if (!dsp->running || dsp->hibernating) return -EPERM; =20 ret =3D cs_dsp_coeff_base_reg(ctl, ®, 0); @@ -827,7 +828,7 @@ int cs_dsp_coeff_write_ctrl(struct cs_dsp_coeff_ctl *ct= l, } =20 ctl->set =3D 1; - if (ctl->enabled && ctl->dsp->running) + if (ctl->enabled && ctl->dsp->running && !ctl->dsp->hibernating) ret =3D cs_dsp_coeff_write_ctrl_raw(ctl, off, buf, len); =20 if (ret < 0) @@ -920,12 +921,12 @@ int cs_dsp_coeff_read_ctrl(struct cs_dsp_coeff_ctl *c= tl, return -EINVAL; =20 if (ctl->flags & WMFW_CTL_FLAG_VOLATILE) { - if (ctl->enabled && ctl->dsp->running) + if (ctl->enabled && ctl->dsp->running && !ctl->dsp->hibernating) return cs_dsp_coeff_read_ctrl_raw(ctl, off, buf, len); else return -EPERM; } else { - if (!ctl->flags && ctl->enabled && ctl->dsp->running) + if (!ctl->flags && ctl->enabled && ctl->dsp->running && !ctl->dsp->hiber= nating) ret =3D cs_dsp_coeff_read_ctrl_raw(ctl, 0, ctl->cache, ctl->len); =20 if (buf !=3D ctl->cache) @@ -1108,6 +1109,44 @@ static int cs_dsp_create_control(struct cs_dsp *dsp, return ret; } =20 + +/** + * cs_dsp_hibernate() - Disable or enable all controls for a DSP + * @dsp: pointer to DSP structure + * @hibernating: whether to set controls to cache only mode + * + * When @hibernate is true, the DSP is entering hibernation mode where the + * regmap is inaccessible, and all controls become cache only. + * When @hibernate is false, the DSP has exited hibernation mode. If the D= SP + * is running, all controls are re-synced to the DSP. + * + */ +void cs_dsp_hibernate(struct cs_dsp *dsp, bool hibernate) +{ + mutex_lock(&dsp->pwr_lock); + + if (!dsp->running) { + cs_dsp_dbg(dsp, "Cannot hibernate, DSP not running\n"); + goto out; + } + + if (dsp->hibernating =3D=3D hibernate) + goto out; + + cs_dsp_dbg(dsp, "Set hibernating to %d\n", hibernate); + dsp->hibernating =3D hibernate; + + if (!dsp->hibernating && dsp->running) { + int ret =3D cs_dsp_coeff_sync_controls(dsp); + + if (ret) + cs_dsp_err(dsp, "Error syncing controls: %d\n", ret); + } +out: + mutex_unlock(&dsp->pwr_lock); +} +EXPORT_SYMBOL_NS_GPL(cs_dsp_hibernate, "FW_CS_DSP"); + struct cs_dsp_coeff_parsed_alg { int id; const u8 *name; @@ -2498,6 +2537,7 @@ int cs_dsp_adsp1_power_up(struct cs_dsp *dsp, goto err_ena; =20 dsp->booted =3D true; + dsp->hibernating =3D false; =20 /* Start the core running */ regmap_update_bits(dsp->regmap, dsp->base + ADSP1_CONTROL_30, @@ -2776,6 +2816,7 @@ int cs_dsp_power_up(struct cs_dsp *dsp, dsp->ops->disable_core(dsp); =20 dsp->booted =3D true; + dsp->hibernating =3D false; =20 mutex_unlock(&dsp->pwr_lock); =20 diff --git a/include/linux/firmware/cirrus/cs_dsp.h b/include/linux/firmwar= e/cirrus/cs_dsp.h index 0ec1cdc5585d..4e3baa557068 100644 --- a/include/linux/firmware/cirrus/cs_dsp.h +++ b/include/linux/firmware/cirrus/cs_dsp.h @@ -179,6 +179,7 @@ struct cs_dsp { =20 bool booted; bool running; + bool hibernating; =20 struct list_head ctl_list; =20 @@ -354,4 +355,6 @@ int cs_dsp_chunk_write(struct cs_dsp_chunk *ch, int nbi= ts, u32 val); int cs_dsp_chunk_flush(struct cs_dsp_chunk *ch); int cs_dsp_chunk_read(struct cs_dsp_chunk *ch, int nbits); =20 +void cs_dsp_hibernate(struct cs_dsp *dsp, bool hibernating); + #endif --=20 2.43.0 From nobody Sun Apr 5 18:17:29 2026 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (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 4242523A99E; Mon, 23 Feb 2026 16:06:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.152.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771862805; cv=fail; b=cB9A0yMlaj4F1E/0UDhguNKj9C6EROBw9ao8uw5hAbCLGFjaz5Gslq91dCCOxozTtxi9nz82X7REEXBeXVptMIgqKAxPognMecPSd54G9EQWBOgkKEvAOy4Vx7bcF541ItxnHsHNRJt1BFbGfw6fgRRN6UT/NY2iKYCS8iEdAFw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771862805; c=relaxed/simple; bh=Gia1CDKsWRIKD6FzfWD5JGafKKlgoeoIsDgaH1ZjPXw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=B2wPfu19S6e8JKsAivXdHkt8KvsYFM3OVhWivS5ToCgdeNshDPQ80G0oFXcv0EYIhWHokNfUr7nJn1V9Uyu6HYXEdOOOe49epuHzRzkjvxWF41Y6ish+oS1WgYPq8ayy/oD/XBhUcFKbt9RKjFvo0VfFy5rLVY89DFxMY9dlYzw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=d+e8wF8W; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=w5hWACLM; arc=fail smtp.client-ip=67.231.152.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="d+e8wF8W"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="w5hWACLM" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61NFCkWd2143558; Mon, 23 Feb 2026 10:06:41 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=lqeA/wJu1VJc6zSGuLSkCm63qp30hybfY4gQjsoAMZY=; b= d+e8wF8Wx5sR+1/PiUDchSWeatKEgoCPS+7UTjWJ/wS34nmAXuODuoRMJdCNH2xX yF8YHeQkkvQA0J19ppmx3PscakZYePwLw1f07H7LSynVSJJfvuT9/1nTQisKwDui 0gbfQnUm/FbyXSuRgzfnQ4bo0MVwGpESWrH9OH4qUmj03zGbx6Ts2EHa9J17nzeh yoz+G6otgfAP8gFQOcZa6/c+wWto4Qd924QqTQWdknHduMR/Qag2W1rEDx+SCnCZ FvjkHdUBckm2PHDMyUh8x35lyDn/ON2h9T9TUgLGZ8upXzx3crQqYvk1wqD2ZSpj A1BMlUv7ygLfyRKWN8wRdA== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11021125.outbound.protection.outlook.com [52.101.62.125]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4cfa0j1rrs-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Feb 2026 10:06:40 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kXBH0jvtIiLies03ANux4SqN7hztJ9zV7bIssMvwGF5T5lUzKRbwjLp1c5O9kAOLgEaaT3aACB0qQeP5SR2vxHiauc+xzLAxZUsZ4ZhBEh/Py6RmekwiZ7T/2xkwO/RHhHsxoG2n+qujT5wcl3c7MG0svVzax2stOb1t+14ICLy4pZRYA8YnhvrHZWzEKM+pUL7ZE+67aAAXylsAC7IB033k6FCZWj5A91kDF31LMLKyaCmym8M140klEjmWlBvdaxUhYrHuaIF88vtcTBgECotkuW1+lhgWItj9XHjzhPz4fn3m7d1LwdcGfiYq7rzD3t3EuQ0AJBpwn85l6sUY3g== 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=lqeA/wJu1VJc6zSGuLSkCm63qp30hybfY4gQjsoAMZY=; b=AdvGd+xR+4z3cLkzEm+4eoRe/xn61yF5fvJiGguW5S6GmF9uE3LCj1cfkvWVD70OhWsoAxIS8XEgVkIXVheoYpMJPP8X+CyBb9/mS8l+JrCEZc24jSZi+RTQoqUG/y9XKA7eE9iMSt4xMWuPGRExX3KWT5Kt1vklvnW18hDAiXjqVtqlgaeWkgeBLIBnbagDveDicSz/bbanNttWpW2PnOwU/gyehT5/E2TpkwsG1rJYCgh+JwhIj3b7gH+QZe3jPP2hwYTmRkcS8YpKE8hVhqgbhJHMykbjx4w6+ghTgqCee3lKm+5K8fyUWlcfh0h5yzHXxbTAyVjDmlhGuspM3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lqeA/wJu1VJc6zSGuLSkCm63qp30hybfY4gQjsoAMZY=; b=w5hWACLMGUtPXLsoPvuLdafV+VyhIkBEqsWZ46TNm3VAKAQV9L0YuwIOISXYywknrwL31EnHB+L8zffr5E0PQTVIU/FpvwqM8Rav7cd/rlsegZcwvktclFJN9dOnobqJDZJDet8D2XfTUnTT5+CO7ulfiKZea/gZmHhK7kaklKY= Received: from SA1P222CA0085.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:35e::28) by PH7PR19MB5990.namprd19.prod.outlook.com (2603:10b6:510:1dd::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.21; Mon, 23 Feb 2026 16:06:36 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:806:35e:cafe::84) by SA1P222CA0085.outlook.office365.com (2603:10b6:806:35e::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.21 via Frontend Transport; Mon, 23 Feb 2026 16:06:32 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: Fail (protection.outlook.com: domain of opensource.cirrus.com does not designate 84.19.233.75 as permitted sender) receiver=protection.outlook.com; client-ip=84.19.233.75; helo=edirelay1.ad.cirrus.com; Received: from edirelay1.ad.cirrus.com (84.19.233.75) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Mon, 23 Feb 2026 16:06:36 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 126EC406543; Mon, 23 Feb 2026 16:06:35 +0000 (UTC) Received: from lonswws02.ad.cirrus.com (lonswws02.ad.cirrus.com [198.90.188.42]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id E026882024B; Mon, 23 Feb 2026 16:06:34 +0000 (UTC) From: Stefan Binding To: Mark Brown Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, Stefan Binding Subject: [PATCH v1 2/3] ASoC: codecs: wm_adsp: Allow wm_adsp to hibernate without stopping DSP Date: Mon, 23 Feb 2026 16:05:31 +0000 Message-ID: <20260223160614.754934-3-sbinding@opensource.cirrus.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260223160614.754934-1-sbinding@opensource.cirrus.com> References: <20260223160614.754934-1-sbinding@opensource.cirrus.com> 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-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|PH7PR19MB5990:EE_ X-MS-Office365-Filtering-Correlation-Id: 019a24f8-a85a-4bb7-3540-08de72f58567 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700013|61400799027|54012099003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KTXOEG+TpN6x6uE0mcorkeR4Iof9CDIKJpx+gsGPoJDYL9WZEjK/1nVRnO7V?= =?us-ascii?Q?Iu7rVs4SNeMkHIWSHhhjodDLP0EgUIlJ07h0qTiKDRgM7YLxR/fdVAN/1BQd?= =?us-ascii?Q?+BUXgRmgRMy+4JBlyaPJgTet/OBcYFlldrylLCEw3qus+jGrx96iKpL+S0dX?= =?us-ascii?Q?nXamlayL/hYZsP9XkD7Bmp66qeOPCasXNTwp48b2NcYRslMi5MYLFdKgL7XF?= =?us-ascii?Q?8B1ANRn19noPtVuSjPJCTQXvJS2Ah91Z6tW0v6PBTCVRAfe7f7GjG9+lx9pl?= =?us-ascii?Q?g899PvKf0jZ7WgBP7cNaxgYwQU7vBWeeJtJgv17dSIhFD7sTFg4dO/qgbaem?= =?us-ascii?Q?lLFLmZ5hlG92steGA2QQcqHOWSPvr/TIppoQi5kkyk4nPw23KtRZ6deuABAY?= =?us-ascii?Q?1PdDjgo+VEllUx6wsxlVtCn9R/eKCiiwKD4vvBL1dPzs8G0/vU28Bp1rzgNI?= =?us-ascii?Q?2180vW+vTDmuI2pSkJCP+um/ToQdgfjPBAP8qAaEfKzOs41hYXXVJx1PhHJF?= =?us-ascii?Q?ws0u4uffDIRzDMJsK0XBQzAOQhwQnFhilzaPASDSBDPr7qzYKbbsr8++T1ZZ?= =?us-ascii?Q?c8nkhcJxVQAA7bS4c+aRCHzxLN/hH7iL7Ty7Szz5bG8sMujLvnbSsXZEk8Gl?= =?us-ascii?Q?m73n54QS1HoivEV+0OAF0bXUn5gQZ4tvRM9oocItIuCCR+mDWulwssOYaNaF?= =?us-ascii?Q?KilDVPnSzQNnIDU/4U9gbK+y0eIApgwAxEpSXu6SeT1SNFSnqLRaeu2/TNwM?= =?us-ascii?Q?5lSTIjWbjx2GREN08wrnnBOrhmJg3zSH7RGNnShvvkwH/BAhccof+bPzCWGz?= =?us-ascii?Q?KLp5cqvYsapp4XpZo6HwkgN2E2OnxSFWtC1wubigqd8Xh6dhh3D6L+Ap3s5w?= =?us-ascii?Q?GgNywIuS2ZfQZ4IESz1h0KPVJliQr2ZFrSh2uaOKH0oML+81DDHJP+Vwsp11?= =?us-ascii?Q?kjjdmeRU+r9Ri6QFYgXTNKe/JId1QRwS7pBRt6JoOyJPmpIrdq4NGuFpMoEC?= =?us-ascii?Q?kNo/lKvPZF1KE3HUD8/AAY9g3Q20GZ+CIWTokBunc1Hen8lVfCFSszsAiUd2?= =?us-ascii?Q?p/2yUFLgkrdUO6FiZEttVgGmjnQpcJIGgc5ccJakphan60vrrNtu1NQZN+qK?= =?us-ascii?Q?R6oNWkSMyNGnDkzvi0rFS/is6g5R0xakZYDHzhTCFkDJGTa/g6XlloxQ8HDI?= =?us-ascii?Q?HcjyrPJrifEke0L+ffIRbhShFydjuAZIxqYk9wDKc4Xh3DEOJa/yP3dyWsFL?= =?us-ascii?Q?Fcb6k7HnnHvtWPZuJYnhjMJ3tlaPp5VnJlmG9ldiHgfrKuxXkIN0FNWNAXeL?= =?us-ascii?Q?v12mbbZ6RjhatvG6nKSc5m38aIWaNzhgn2AcaQpOheWql59GGhM0v7XE3wKx?= =?us-ascii?Q?Rxh1NUHVL8U45oukUxq6B4FbyNdYDY1usV6azii7tut3LcXlLIPyPeCLLptL?= =?us-ascii?Q?TEQrienacN2BoF21FxB6ZcvnKn66mKPNdIcVnnsCQNhrBQXyrNSoH8MEIn8+?= =?us-ascii?Q?zdPYQ2JGFUCGEOdhWCHu0eWXyq8SPrmsfKhGHO5EPBXA2bBiyEZ+1i40/HGK?= =?us-ascii?Q?vKmXwmJpCbLwjGOv2sZJBFHr70jKKmX1qOfir/IcGe72q59ktCN+RF4n7WS2?= =?us-ascii?Q?wC7RpTS3RhEDoR2Ti1LaNxez07L2o2drAABVx5seJu+IOYhgv5ViH5tHae8T?= =?us-ascii?Q?tskb6g=3D=3D?= X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(61400799027)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0KtAT2/9sfzMQJVHS8YPvdlRuft1PNT4iguJQs/oKmRKazoIxTm2U2N+Y+pfU1oZIKskUMAU7Xl4ESpW2v6CHWdPxZ/8EgbVIOhwwjflARZ26aXMM9HoHptGaYYdOa5Y5ll0NT6TXhFok9Q5NLNJCCKPGJn2qQsHinCoVYwAG+Tb82wVQ4tP5x1+k4B5k7Kv6/WJDze44Cg9c+tXvB7Md9DuOjDpElalyq1HC2J/DU6flDFhGj+NIomY5UHygBFZ0rXf5fu8OwssWeTvoNutAE4Si1GwRZughgK8Q3Uq9OB345z+QLfL9OB7h7DhqUR7+vaOk1I7FZQTJFfDvvvT7Gv7KF8oM1ZqEu0HgjZdpvQRfJlLyncBRhldQpBAA73DLC0ZIyP4yg3nEFJNxQsHbnmhujjeJaGuepeZqsUBD/Oem+z0nCi7GPSEgy8o7xJ9 X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2026 16:06:36.1118 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 019a24f8-a85a-4bb7-3540-08de72f58567 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR19MB5990 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDEzOCBTYWx0ZWRfX1EjGSKwqZnS/ w725T8nO9x+VgU4o3JGXhULV5AV2gE1IXM+viH1IhD2M6fyugqozBwaGpFTSF2wwj7N06JPYfnk lQ39BOBeDnQpgCMshOGUBmD3hqkhOtbjdslQn/fZXVf7TctBNsuGS96skoMz2ICyQRIXBWN7exP j7bM7RU0jNA6hM6/7jYfL2HXPjMjRumTJRmuPgohTjo0hp6zLRxUMLQCAkKRsKakTwIFF31f5W1 LxvU5HdumJ+8O/OkhwZXH/CGBsAcMVR7KqGuf3a33SrwIR/jvUxvvnIUnl1bqJX6UsGAq+dlqUx naq5UgoMNs9mJKocw8SK/8I2VPI6ABN49i+y7/UOf8JPq5d3C47PLVNX8KBHTWiLq6etjzMwWU8 6Sfiklact2h8buLbK+Sn8EqaDIJiY2j26/ZEY3QD+ytAzZ444z89JHvpw6DmH+D1eS3Pe5RoFOg NJ4vw40qYTlwSTi7p8A== X-Authority-Analysis: v=2.4 cv=Q/7fIo2a c=1 sm=1 tr=0 ts=699c7b10 cx=c_pps a=63eZqvGvmDVpXZrU3nJVyw==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=HzLeVaNsDn8A:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=sbEEYNrql6nwSTcRNn8A:9 X-Proofpoint-GUID: 3vndVj8jqIhRKOovMtbKpA3deRWIGZhF X-Proofpoint-ORIG-GUID: 3vndVj8jqIhRKOovMtbKpA3deRWIGZhF X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Some parts do not stop the DSP core before runtime suspend, however, this leaves the DSP controls enabled and accessible whilst the part is suspended and the regmap is cache_only. Add new APIs to allow for the DSP to hibernate when the part is suspended, and the DSP is not shut down. Signed-off-by: Stefan Binding Reviewed-by: Richard Fitzgerald --- sound/soc/codecs/wm_adsp.c | 6 ++++++ sound/soc/codecs/wm_adsp.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c index 2e23848e1dce..d95b54275b5e 100644 --- a/sound/soc/codecs/wm_adsp.c +++ b/sound/soc/codecs/wm_adsp.c @@ -1100,6 +1100,12 @@ void wm_adsp_stop(struct wm_adsp *dsp) } EXPORT_SYMBOL_GPL(wm_adsp_stop); =20 +void wm_adsp_hibernate(struct wm_adsp *dsp, bool hibernate) +{ + cs_dsp_hibernate(&dsp->cs_dsp, hibernate); +} +EXPORT_SYMBOL_GPL(wm_adsp_hibernate); + int wm_adsp_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { diff --git a/sound/soc/codecs/wm_adsp.h b/sound/soc/codecs/wm_adsp.h index 8035fda71f8d..a9118be793d7 100644 --- a/sound/soc/codecs/wm_adsp.h +++ b/sound/soc/codecs/wm_adsp.h @@ -103,6 +103,7 @@ irqreturn_t wm_halo_wdt_expire(int irq, void *data); =20 int wm_adsp_run(struct wm_adsp *dsp); void wm_adsp_stop(struct wm_adsp *dsp); +void wm_adsp_hibernate(struct wm_adsp *dsp, bool hibernate); int wm_adsp_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event); =20 --=20 2.43.0 From nobody Sun Apr 5 18:17:29 2026 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) (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 241E71F09B3; Mon, 23 Feb 2026 16:06:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771862804; cv=fail; b=eEXLHRDwpD9h39JDdkJphCNwuWPfYDs1wEXSHeBOZGrcqn32bVV0TKBEyAJccroPrNcNfWW52UcdvRAd1GTMzG+vAfTrs0fTPNMswhYyZ6Os029qxr7zZXq5ztRPkvrwogV9Fd6DQ/JmOTGqrXdKRBwUlo6nk1XAETGjWqexvVo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771862804; c=relaxed/simple; bh=bkzmzrd5Oe7A72a+qZJ9HDtuNfZAoeV1Kz/XVxT/zlM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UJ7rNvluZ0FfCeUuG4yKnRQ58im1HGCiRCyLzaBAV7X3VXgub6ckA2y/DXXuNR4DHsMX73tfeqxQYkyhlQTuz8wr8rttD7E9bWkyiFV7Z1DVoFpL9HHNV18CaRl4iCmLqcoNkghg+ztzKg9WXoOZ24HI2RSJzj+h/wzCm9H7sCk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=U75Lpn8g; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=E3c6rPba; arc=fail smtp.client-ip=67.231.149.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="U75Lpn8g"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="E3c6rPba" Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61NF9Ssc1991961; Mon, 23 Feb 2026 10:06:40 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=TC1ogmsrhMbfRwPG6I9PCfc/VYOm6XyFz62MJrOX9zM=; b= U75Lpn8gxXYTrBUUzAO8tqB0dVyqVdXt/C2/HUbVqd7cSbgu9TQ1myvgkCLi4T2E xFgZZ5DzCraPORQMQjfz9YHkAHX9h3fbCznCuT3sL8PKjwcA/NayjKP7YoLPKAR/ yDlIOpH6lR3smN/70WRUhmcyY5hQE0dtpTAlCSHQKeLxm8r3dE5prhnQWh6DyU/5 vpen8Lkkvt4rC+Ahzs+q7gzvhpj3djVM+ciKzEGAo2On5muPcwsGPZ3JeDrbDRYs uvfdX5t9mPRgOZGmPBxjD9wlkJ+DlGbECNg4pcmaZ4vSqiyySCM1jItffS1pT6YE /RZP6xYd6i1Os2xxw9q6uw== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11021119.outbound.protection.outlook.com [52.101.52.119]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4cfb019r01-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Feb 2026 10:06:40 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bPv3NL1RC7NyPd9cbDvPU+LH/Sonl2c2sGZv6CwfFkfj8O+q7195b8EA9qHph/fbCBiqs9mv3R1h+fyrvOEGmQymOS3rmjlydGWCmVuaWCOsKXqxSa11gqxfDhETaswajcjedzemSa2WFMFy01EEaJmUQsAdwZy6HEtKuwiPQQqXMYnkoh8n9Q9pmASmTF5VHlGAzc2fP4A6E0psNCYdwjNi0Ed/D5djPSryZjVUVhdpUfi1uoIyvBicmxIZVhSul4nT0QpguljBBiXtD6Vk/Dpkf7Vvy53N3C0hyqYQK290NbBSSmrZbsSUrIjND7p5I6iopI/Wu31zMBf4k9j8tQ== 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=TC1ogmsrhMbfRwPG6I9PCfc/VYOm6XyFz62MJrOX9zM=; b=koS5CixLeqHugIkTkt7wijLxJfDyGXgrtVTx6w053p7iliA3oPtGX1JA086dYFe5lwTS/v3MSXQ3CSKwxTjAHsGVseNXg5PrNAfcx8hW9MTv8WvIK79HU2rJYtQneTNt/TCNN/pBft0pop56pJ4jpanDOs5EOMHnqjHZOYNy9nQQYsZ1hmotCrA/RiOmdAlciFAfBhHUfqns+BTsOgjvj90HuzqxEwdB0k6jrFXREFxjJP5A8fLBdGcdvCC80AMlnh4NpPqE4Po4SkJX14cWZ1q27RJcvuHupvRHm8fEawkWzl2wWvscp0bujA+FvYeiRFG0iTl7D91j5GT1AJmFVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TC1ogmsrhMbfRwPG6I9PCfc/VYOm6XyFz62MJrOX9zM=; b=E3c6rPbaxsm8wLNlj0E/mnVTP2w8zafGGQWH4v3nX3S87yjIDbZNnybagufwr3uAz7Lld95H5hGm3regRPcYUXhEF2ZchoCQj0Rbge9bLjkaa+7InA17XZpZSlxUO2EcfBxjjwBmlO15oNTVZ0WNChjeBwgoeaECqQOS2W+T/Qo= Received: from SJ0PR13CA0188.namprd13.prod.outlook.com (2603:10b6:a03:2c3::13) by SA3PR19MB9552.namprd19.prod.outlook.com (2603:10b6:806:496::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.21; Mon, 23 Feb 2026 16:06:38 +0000 Received: from BY1PEPF0001AE18.namprd04.prod.outlook.com (2603:10b6:a03:2c3:cafe::df) by SJ0PR13CA0188.outlook.office365.com (2603:10b6:a03:2c3::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.21 via Frontend Transport; Mon, 23 Feb 2026 16:06:30 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: Fail (protection.outlook.com: domain of opensource.cirrus.com does not designate 84.19.233.75 as permitted sender) receiver=protection.outlook.com; client-ip=84.19.233.75; helo=edirelay1.ad.cirrus.com; Received: from edirelay1.ad.cirrus.com (84.19.233.75) by BY1PEPF0001AE18.mail.protection.outlook.com (10.167.242.100) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Mon, 23 Feb 2026 16:06:36 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 3DBBB406545; Mon, 23 Feb 2026 16:06:35 +0000 (UTC) Received: from lonswws02.ad.cirrus.com (lonswws02.ad.cirrus.com [198.90.188.42]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 17BA082024B; Mon, 23 Feb 2026 16:06:35 +0000 (UTC) From: Stefan Binding To: Mark Brown Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, Stefan Binding Subject: [PATCH v1 3/3] ASoC: cs35l41: Hibernate wm_adsp on runtime suspend Date: Mon, 23 Feb 2026 16:05:32 +0000 Message-ID: <20260223160614.754934-4-sbinding@opensource.cirrus.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260223160614.754934-1-sbinding@opensource.cirrus.com> References: <20260223160614.754934-1-sbinding@opensource.cirrus.com> 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-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY1PEPF0001AE18:EE_|SA3PR19MB9552:EE_ X-MS-Office365-Filtering-Correlation-Id: e2597be4-1ddb-4db4-35a8-08de72f585f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|82310400026|36860700013|376014|54012099003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cdGzVyYwjgTnr5IKsj5bYELBFRHI3sz3/JfAMuogK/XWPJurTSA4p0RKIPSw?= =?us-ascii?Q?CqHoLf6GyGtdik5WSmuEu9tBI7U+Le+jUAstPXLSAMxhBmTuLFXXfq6GCGe7?= =?us-ascii?Q?QujCs4HvhjAYwX1HoeRnCq3zgvUFBfxML0rA0fBbOvTAHHRCCqCzATw2l+na?= =?us-ascii?Q?AUj3nnD/J3Kh5H8m6V0QOC/dPZnumlK+nF4UAPyMeTK8hBARn1pzn7uuo/5Z?= =?us-ascii?Q?XJU1yU24fkFHmSBbCBTYItPEeRBdmgKShkXBFszyzUQ6Vi21U4tF4E4j4egD?= =?us-ascii?Q?e3tnDEnaPBYbs9SvLTDTzgsx7/s74pREl6lG/9v8vMWMkGWp72XAdjOpof1s?= =?us-ascii?Q?bczrODVvMoP9mxAg/loJ5ogim4pnjN8el+DZHWMp+bQrFUQlqnJ4QRtjbMHx?= =?us-ascii?Q?2UDCc4He/hFN0q/IwPfC85F3nMWFI9Ze+RF4ipTXuyrkUs+aHX1vwviDKEwY?= =?us-ascii?Q?wFsiJTLXBcrT0gO90PQzuUpo7XUJG9uQEogooLyDu9htiUPoc/MHJfv7cw0u?= =?us-ascii?Q?D+D0mE/l7kjvq/AcYNWRpWFbjs27/7eBgT1f8yAJYAHkbTckSgktpwAIVGqp?= =?us-ascii?Q?3cTd9geTle18P3lwFjUEq9OudxMR/A0V0YWzJrhUQ09vmV0BsMGHmeCP6LpD?= =?us-ascii?Q?kV/q8eyPDt25umQABDRuDyzE04HXBVJtW3SL7LRkXMFUvjihy8jVZmEjsZts?= =?us-ascii?Q?+80NFo4Nk8pETdInJNTggpbUNcJ+R7pTk/x9ngzvugo0qM/OKHZZNPUlhfJB?= =?us-ascii?Q?gQVVHkpxT/qcKUblGxMEPCbB/57W6VF4HaaooVw7oBAlqkNGmN3KF7hVBR3V?= =?us-ascii?Q?EZ3SOYyDSJ/5GtH1lx5ffVEsDVCH1VNrAvjhQd5NymkuT/mNdvvZm78iEtgP?= =?us-ascii?Q?8ujUBWDd0rRZisUDjdIbSbXBO3aZ6c1YQqFQ/iENFe/5mDyt4YDg0fhqEpIY?= =?us-ascii?Q?n06FZdGsSeXdBmHEVB5NitEvYJBEaIb4lC5YdU0ASH5P4dYIa+YU2xbMlW26?= =?us-ascii?Q?vTWZZMc4ykvA9aHO1TaPZ4DYM+0X29xJZ0uXWY1VVi1HUdKyn3ZlRV5ycrrb?= =?us-ascii?Q?DhzRvs01E+fZt6FrrIch+UzWLtnCamOGpoR64wEu/DVuI7jubnjxuGc1F1nw?= =?us-ascii?Q?MMgEHJvXtivBgs5FItOAKLOukqCHHBaMuXzuAkZKG9+NF9vcSEoNC0oG0p/J?= =?us-ascii?Q?E/0Qarmf34Nnfg2k8Izwtahp7V1g/MJaiYdMKROX4GyMO/lx19yszKdSDbsy?= =?us-ascii?Q?QqNHVgcmsQTyT0uClR0prkV1kGNneyCHnII2WXq9lk6IK0C9aLMWDdW95iYB?= =?us-ascii?Q?zXIWLuyCLt0x3RBj6GyvHWM7mCLADMIEc97MB6e0q2nor+4Gs/uC3CVhOMoH?= =?us-ascii?Q?c2c6DfvMd6pLStnWa1LkINTgHfTlLwgawgGW0njoPI5T51BcmqxwQcxxtNuA?= =?us-ascii?Q?Jhxqr3UfSZMmyB+7Nnh0v1LoirDQZkrrFkSLHWJH9KuQBFZISyftS9EjOnAV?= =?us-ascii?Q?GUJZBlGNQJC9yXyOgZgda5p+I3O2bodEldToe4WbG3eSerRCsGrvIrqWbnGC?= =?us-ascii?Q?9oZbhAiH27JDp5aRgEReLIyZXkj2hntVueKkHS7d4GXODME6NS9430lzjTe5?= =?us-ascii?Q?h4GJaHdZFH++TQihMif8HIqSB7Gw9hAHR6H3vn7hqX7qqQle/7RaP+nUgYDK?= =?us-ascii?Q?pQdBZQ=3D=3D?= X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(61400799027)(82310400026)(36860700013)(376014)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hFybME7MquKV37Ug4bnwy7wbKpCfSC+nX8pHn7qThsZykXHaGj8BoOZiZmP+L87RexEqZ2h5ZjSB0fLDKaLjF5+NBRf0VO6D5mLzB4gtst2UIzOuaqFbujbM3drNyRXTlYKBNwu1HubXSY6TFr1UhHBUnychdT8qM3/bBIlTwl6VCmwm9tP6jhWq0VM1rX7A15mNFOpqzeKU1NLLxnQmPMCr6oU118SE/7dDqC8al1LAe/9GGRIGJ4AOdQ9K9Fsefz1glKx2ZbC9qXjg68e8scOlXUbK8PLJlHZFcR1c0X65sSDcrcsCOovhkdX3BEKOuPlVkVPlXMvTLA7LxTqAtxwWTz/v+osWa2gRC0kplWHgoVc6yebLd+5qU4sNXI1QFryEHyTtkWiwYSWZ+GSp5tENCqIB9kQ3xyZ5E8BGtvvrad5vq+k1erip1Q4r6WlM X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2026 16:06:36.9923 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e2597be4-1ddb-4db4-35a8-08de72f585f5 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-BY1PEPF0001AE18.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR19MB9552 X-Proofpoint-ORIG-GUID: KcLrF1h5kwQLH4Ja_U0Xtz3ebri567wo X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDEzOCBTYWx0ZWRfX6B81abzcBEa1 E82SZ3lYWFeA90lqaZx6YDkM5nHu3QkDazkpBX8GAfAyCSV7smexB3fO9A+jfLiKZhNHTr6c+Nl QLWaRrLqws2+f+R3JctUodU21il4BZOmg55KQypo1tBbvlWrSvMnWqDF2i51bA323SKURfk/4nt WLVcclOUAGBcUBxbjpvBEGecfcWTLXaSFA/FvHQ0LoOqFU0h42KtH2AXenfkcb1MCno5jczkA8m 1kN4Ds/Yit/tiO/wsce84YVmjnQMJTivWpdYa4Z5K4/0wZ+RN1zVoqTCyt27BPTM34OhMbPf99/ wGBTzSH1aQ1uxgLenPu/+Ek3vaJtXmDLl06w9YS28/gJUIIGXMYHE9RPEvsz9d9eXXU6tDxbpqU yV3kNJtXKKQNvyIguFwyvGI4+21BpxkboyC6i1qcXTKGOwc7opSsnCevFKAWW1RpTc6179slSuF AaXl68S7TfWQEpkxY/w== X-Authority-Analysis: v=2.4 cv=V99wEOni c=1 sm=1 tr=0 ts=699c7b10 cx=c_pps a=Sttmeoj8PKbKCQDeSgXeRg==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=HzLeVaNsDn8A:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=mmtDOMPXX2ZRX6g6iDEA:9 X-Proofpoint-GUID: KcLrF1h5kwQLH4Ja_U0Xtz3ebri567wo X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" When the CS35L41 driver suspends, it is put into hibernation, and the regmap goes into cache_only, but the firmware is still running, and wm_adsp is not stopped. If userspace attempts to read a firmware control, it will perform a regmap_raw_read() and this will produce an error in the kernel log. To prevent spurious errors, put the DSP into hibernation which prevents access to the hardware for the ALSA controls. Signed-off-by: Stefan Binding --- sound/soc/codecs/cs35l41.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c index ee56dfceedeb..b2a076706c79 100644 --- a/sound/soc/codecs/cs35l41.c +++ b/sound/soc/codecs/cs35l41.c @@ -1404,6 +1404,7 @@ static int cs35l41_runtime_suspend(struct device *dev) if (!cs35l41->dsp.preloaded || !cs35l41->dsp.cs_dsp.running) return 0; =20 + wm_adsp_hibernate(&cs35l41->dsp, true); cs35l41_enter_hibernate(dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type); =20 regcache_cache_only(cs35l41->regmap, true); @@ -1432,10 +1433,14 @@ static int cs35l41_runtime_resume(struct device *de= v) cs35l41_test_key_unlock(cs35l41->dev, cs35l41->regmap); ret =3D regcache_sync(cs35l41->regmap); cs35l41_test_key_lock(cs35l41->dev, cs35l41->regmap); + + wm_adsp_hibernate(&cs35l41->dsp, false); + if (ret) { dev_err(cs35l41->dev, "Failed to restore register cache: %d\n", ret); return ret; } + cs35l41_init_boost(cs35l41->dev, cs35l41->regmap, &cs35l41->hw_cfg); =20 return 0; --=20 2.43.0