From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F6B6C001DE for ; Mon, 24 Jul 2023 09:01:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232112AbjGXJBA (ORCPT ); Mon, 24 Jul 2023 05:01:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231752AbjGXJAl (ORCPT ); Mon, 24 Jul 2023 05:00:41 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2F0F18F for ; Mon, 24 Jul 2023 02:00:40 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 61B3D20596; Mon, 24 Jul 2023 09:00:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1690189239; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=3UEOejG3eAwInBAx5GadtQ9ckeym5ILp69OeEXZM21c=; b=yBHIhzs9qqfBFuuClPw2939wY9vIdy6kHapczmUpkkQIZ0wHojtCHmNGW5IIOw217jDtcl WjT2Jer+e76/xG22/5Evh5CIMWJa7fMQqWL6R+jbV3D7zQmlmK5rMV5ZLxsdZOL9ovUa7n tpO/kTWaBHYk8pgsNUKhITx6shk1iYQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1690189239; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=3UEOejG3eAwInBAx5GadtQ9ckeym5ILp69OeEXZM21c=; b=Ba6g30PTt3ZKTGRghwbmETKH+2hesUDpfv5yAjqUev4FME3PLz0gNWWY3/BjWpkg9jP0lt Gr2uV6rssdNUu6Bg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2B5F113476; Mon, 24 Jul 2023 09:00:39 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 9baQCbc9vmRLGAAAMHmgww (envelope-from ); Mon, 24 Jul 2023 09:00:39 +0000 Date: Mon, 24 Jul 2023 11:00:38 +0200 Message-ID: <87jzupwuo9.wl-tiwai@suse.de> From: Takashi Iwai To: Stefan Binding Cc: Mark Brown , Jaroslav Kysela , Takashi Iwai , , , Subject: Re: [PATCH v2 00/11] Fix support for System Suspend for CS35L41 HDA In-Reply-To: <20230721151816.2080453-1-sbinding@opensource.cirrus.com> References: <20230721151816.2080453-1-sbinding@opensource.cirrus.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 21 Jul 2023 17:18:05 +0200, Stefan Binding wrote: > > There have been a couple of customer reports of intermittant issues after > system resume, where sometimes the DSP firmware stops responding. > Investigations into this issue show that there is a race between receiving > a prepare from the HDA core, and the firmware reload which is started by > the system resume. This can causes the Global Enable on the CS35L41 to be > enabled during the firmware load, which can sometimes cause issues in the > DSP. > > The existing system resume behaviour also did not resume the audio, if > audio was previously playing when it was suspended. > In addition, during investigation, it was found there were additional > problems in the System Resume sequence, as well as the Playback sequence > with External Boost, where the driver does not correctly follow its > enable sequence for this mode. This can cause additional issues such as > pops and clicks. > > This chain intends to correct the sequences for playback and system > suspend/resume so that the driver: obeys the external boost enable sequence; > resumes audio on system resume; and avoids the race condition on firmware > load and playback during system resume. > > Changes since v1: > - Split patch 1 into 2 separate patches > - Combine Patches 6 and 9 > > Stefan Binding (11): > ALSA: cs35l41: Use mbox command to enable speaker output for external > boost > ALSA: cs35l41: Poll for Power Up/Down rather than waiting a fixed > delay > ALSA: hda: cs35l41: Check mailbox status of pause command after > firmware load > ALSA: hda: cs35l41: Ensure we correctly re-sync regmap before system > suspending. > ALSA: hda: cs35l41: Ensure we pass up any errors during system > suspend. > ALSA: hda: cs35l41: Move Play and Pause into separate functions > ALSA: hda: hda_component: Add pre and post playback hooks to > hda_component > ALSA: hda: cs35l41: Use pre and post playback hooks > ALSA: hda: cs35l41: Rework System Suspend to ensure correct call > separation > ALSA: hda: cs35l41: Add device_link between HDA and cs35l41_hda > ALSA: hda: cs35l41: Ensure amp is only unmuted during playback Applied all patches now to for-next branch. thanks, Takashi