From patchwork Tue Apr 11 15:25:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Fitzgerald X-Patchwork-Id: 8026 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2673561vqo; Tue, 11 Apr 2023 08:48:09 -0700 (PDT) X-Google-Smtp-Source: AKy350ZAQJ92Flp/on8okGCiRKXkJqKbBkSzxLRv0IEl++E3dfaHa7Ph2qIm5Go+cX6cMCY/ZOOS X-Received: by 2002:a17:906:580a:b0:931:1e69:e1da with SMTP id m10-20020a170906580a00b009311e69e1damr11351364ejq.7.1681228089753; Tue, 11 Apr 2023 08:48:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681228089; cv=none; d=google.com; s=arc-20160816; b=dXepAIMbCtlwzcSqVLPfS62Voe7HDbqSkRIAnIvIdQj/saerrlzH/TzjF3dKIxzRbj emRCv0QmFPzArt2t2W9n9AJbZeVWK2vHeWZYEmQzBdswR+3+wT1tbEocYbQgEA/Jz/9H Sb2xaYB5wmIbKyIO222lyuby1mG5iFd6Ya+YVPcwY126Nt9AqCTtncHZdr+TEUZgNw+4 ZT7i3iHjcQS88z4os6D2vd1VrfVZBEdPKA+k+oFd/IxE8SWHg+IJq0gtYTnYY+e2msz7 59KJx32BrU2+KyGJv+0LrD9f+AOGOWKpgT422oZQqyz1gG3aHqYrXkTiHh69CoVI2lxq WASA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=IDUE8aPv5+jxNFKCCJKdWOof/bnjaMMvSIaTlA9bNcU=; b=SDCHxjp2JW9ghSlCGJVcIv8kqVGwGeTKWnmbLu1l5Ej4I94LbN6q9hi7kueEd44Jdq 61RBH+3Z6MgYgMevF2vbUTlgHIAOIM0qLqd2tP8b8EJC6VRT5oquY3ZXZLKmFJST5mf7 LTNUPGVAaGefJPuRYfjqErOocQ492TNVwtmWgd42t3+H4duhVrrDbL3uqFMLXvL2IwEo k998X0vu9ggjA3YkIAn3CfXmeNBY1Wl9dd1o5MJJ6AmBrrxNo4YcvIE0E/wmYtMria4o bYOwSK31q8+krsH3/mxfUHXhYQBppReAoSoClaW01mWT445emy0nXvCThqSyK6dvMgDl bbDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=oWNqFWyO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id du15-20020a17090772cf00b0093e18eb2c07si1403713ejc.227.2023.04.11.08.47.44; Tue, 11 Apr 2023 08:48:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=oWNqFWyO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230405AbjDKPZm (ORCPT + 99 others); Tue, 11 Apr 2023 11:25:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41776 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230412AbjDKPZj (ORCPT ); Tue, 11 Apr 2023 11:25:39 -0400 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E5F4E44A3 for ; Tue, 11 Apr 2023 08:25:36 -0700 (PDT) Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33B5cuXF012801; Tue, 11 Apr 2023 10:25:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=PODMain02222019; bh=IDUE8aPv5+jxNFKCCJKdWOof/bnjaMMvSIaTlA9bNcU=; b=oWNqFWyO+uHb5+jQtp/n51xZtSQ2V3Je/g3OXvXK0dMOTdOaCnDHXnQP7UKfV2T4tIsP nzY40WUDpoLJmqjXYE6BMHUEWYCtHgHVsgi7VqUyo/ib/nnwhfUuooVnuTgshoLI2NoF ptNwGulsTqjgUqmON11SP1eFWegZQId8QXS8knX1FB2wyCOgMW0l8Ff7WJI8wZqz103E wC4s1W4Sc6qeMeN9EgCw0vUiHtsutCarA9kRsue42CDDZTzxQLwMY5QdT7vev24DlsnD g5QgvmG1DjjmYj1OpqnkeSfhz+L0f7K8QjXAHeVasawOsmdxVCfQ5xvFFpk8m+XiIXZ5 oQ== Received: from ediex02.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3pu4pq54a3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 11 Apr 2023 10:25:29 -0500 Received: from ediex01.ad.cirrus.com (198.61.84.80) by ediex02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 11 Apr 2023 10:25:28 -0500 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by ediex01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Tue, 11 Apr 2023 10:25:28 -0500 Received: from edi-sw-dsktp-006.ad.cirrus.com (edi-sw-dsktp-006.ad.cirrus.com [198.90.251.127]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 40C7445; Tue, 11 Apr 2023 15:25:28 +0000 (UTC) From: Richard Fitzgerald To: CC: , , , Richard Fitzgerald Subject: [PATCH 0/6] ASoC: cs35l56: Add system suspend handling Date: Tue, 11 Apr 2023 16:25:22 +0100 Message-ID: <20230411152528.329803-1-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Proofpoint-GUID: 2QEWHzQlQzCpdtrnPdzQNRGUS7cRrJee X-Proofpoint-ORIG-GUID: 2QEWHzQlQzCpdtrnPdzQNRGUS7cRrJee X-Proofpoint-Spam-Reason: safe X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762895425492611081?= X-GMAIL-MSGID: =?utf-8?q?1762895425492611081?= This set of patches adds handling for system suspend. Patches 1..4 make some code changes that simplify the suspend implementation, mainly to avoid race conditions. There are two seperate aspects to suspend, and these have been done as two patches: - the main suspend-resume handling, - re-loading the firmware if necessary after resume. Richard Fitzgerald (6): ASoC: cs35l56: Remove quick-cancelling of dsp_work() ASoC: cs35l56: Use DAPM widget for firmware PLAY/PAUSE ASoC: cs35l56: Skip first init_completion wait in dsp_work if init_done ASoC: cs35l56: Always wait for firmware boot in runtime-resume ASoC: cs35l56: Add basic system suspend handling ASoC: cs35l56: Re-patch firmware after system suspend include/sound/cs35l56.h | 4 + sound/soc/codecs/cs35l56-sdw.c | 36 ++++ sound/soc/codecs/cs35l56.c | 335 ++++++++++++++++++++++++++------- sound/soc/codecs/cs35l56.h | 7 +- 4 files changed, 308 insertions(+), 74 deletions(-)