Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp6183275yba; Wed, 1 May 2019 07:31:25 -0700 (PDT) X-Google-Smtp-Source: APXvYqyOFPfCAYhGppTzUMskz4sDAHqIJNCOLINIEN/fx5jFEn3VeCUIVyPn74CvgZfrSh64pWXs X-Received: by 2002:a63:2d41:: with SMTP id t62mr1898367pgt.113.1556721085536; Wed, 01 May 2019 07:31:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556721085; cv=none; d=google.com; s=arc-20160816; b=qK5MOKM8UO1wQTsD5v+9rlkFk7F2NW+feqcWpS5i7FZmMCvcx+Gm/jG5rz6JN0tOCA cimaqO7OMJmJvLVnae77txiSojsGVquRR6dHTsQy0GU6VT4m/rvOlGV78GIxiaT1RcH4 qXoGbeCTmvBZnRwxKyAJ8UgjZq1BCpBdjsraYT9tqfNyTQBAUh8TB21f4piNfBQoO2I5 J4VoF9mi/z1f4f4oQeRP+QWarRO0jc3Bd7lpllahLmbrNlOu4TbFi/aoJHx9ZoHBlb+G 8V9ifMsByAsVLqgYsAISXcBK5eT6sST1C+2VojBfH236R35aROw4hfKGIW4jikzbPXxi 29HQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:mime-version:message-id :date:subject:cc:to:from; bh=xzT+9ba+DceKVlRkNgzKqIKE7WlhmlwTc7GlIb8E9ro=; b=PpfIyH8DH5jlGQ6BVyjfQ0R8Q2p0MeLNovEzOtNuJiowLLINfkwmcc8asrmUBpd8cw K/UCwt4ZWk6CHajFAHEtEtykBl3ndFxCYc/S+rjJhfVtYLx53/2WeONTWWO2j4Y2pd+5 hEohTXsa7j5ON0KWvaFDjwKATCyB2YS/zYZp+lJLewM3Q54O4lLF3gNxjcLy4i/9P4iH nJPlWpXqDRqdbeZjzm7lrCBDA7CpsnZln2+otZNR53Q2M/bR4G0EzCaSvUbI+66EhdQd ZY8+1mt1NUkleGiWDVArtLTR2LDZHLT5ydtnFQhUDs+Wvcb9HPImeyeuHEIozHBNOlbK GSGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=IaT2UBQz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j27si10925415pgj.24.2019.05.01.07.31.06; Wed, 01 May 2019 07:31:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=IaT2UBQz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726733AbfEAO3w (ORCPT + 99 others); Wed, 1 May 2019 10:29:52 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:9719 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726555AbfEAO3w (ORCPT ); Wed, 1 May 2019 10:29:52 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate15.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Wed, 01 May 2019 07:29:20 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Wed, 01 May 2019 07:29:51 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Wed, 01 May 2019 07:29:51 -0700 Received: from HQMAIL108.nvidia.com (172.18.146.13) by HQMAIL103.nvidia.com (172.20.187.11) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 1 May 2019 14:29:50 +0000 Received: from hqnvemgw01.nvidia.com (172.20.150.20) by HQMAIL108.nvidia.com (172.18.146.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 1 May 2019 14:29:50 +0000 Received: from moonraker.nvidia.com (Not Verified[10.21.132.148]) by hqnvemgw01.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Wed, 01 May 2019 07:29:50 -0700 From: Jon Hunter To: Liam Girdwood , Mark Brown CC: , , , Jon Hunter Subject: [PATCH] ASoC: max98090: Fix restore of DAPM Muxes Date: Wed, 1 May 2019 15:29:38 +0100 Message-ID: <1556720978-13233-1-git-send-email-jonathanh@nvidia.com> X-Mailer: git-send-email 2.7.4 X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1556720960; bh=xzT+9ba+DceKVlRkNgzKqIKE7WlhmlwTc7GlIb8E9ro=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: X-NVConfidentiality:MIME-Version:Content-Type; b=IaT2UBQzynNCN/2eXAVNDVLxSkZSDCAzS0LclJG1c3uS6XbayGWgg7i1NAGp7RZMF PEEvqulVMyj29lGIme6Oxtgfoq0dEDr90f94ooyYI486Py/IdmcAS1wliKT5wuUAZj 1jva8sARGHkQqAYL61yFpXxKs0Z2uDxW3QLm8sslA0kNo61Q3wABU/1eKw7+OFK2+c I+GfliL5FUFPU5DwhBb/1WlFaYWFy7njqV9XNFUYGJHkhaal3prKpFKyrNsDN+I8x8 k3gT7XPbrwG/46mL4qobH9/wdExfoo1Hn0vxIcJplCsyX+3EyeZxAft7IGkNPh0pcY wiRkdWGYy1PQA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The max98090 driver defines 3 DAPM muxes; one for the right line output (LINMOD Mux), one for the left headphone mixer source (MIXHPLSEL Mux) and one for the right headphone mixer source (MIXHPRSEL Mux). The same bit is used for the mux as well as the DAPM enable, and although the mux can be correctly configured, after playback has completed, the mux will be reset during the disable phase. This is preventing the state of these muxes from being saved and restored correctly on system reboot. Fix this by marking these muxes as SND_SOC_NOPM. Note this has been verified this on the Tegra124 Nyan Big which features the MAX98090 codec. Signed-off-by: Jon Hunter --- If this is the correct fix for this issue, can we tag this for stable? Or I can re-send with the stable tag. However, wanted to send out for review first. sound/soc/codecs/max98090.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index 30c242c38d99..7619ea31ab50 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c @@ -1194,14 +1194,14 @@ static const struct snd_soc_dapm_widget max98090_dapm_widgets[] = { &max98090_right_rcv_mixer_controls[0], ARRAY_SIZE(max98090_right_rcv_mixer_controls)), - SND_SOC_DAPM_MUX("LINMOD Mux", M98090_REG_LOUTR_MIXER, - M98090_LINMOD_SHIFT, 0, &max98090_linmod_mux), + SND_SOC_DAPM_MUX("LINMOD Mux", SND_SOC_NOPM, 0, 0, + &max98090_linmod_mux), - SND_SOC_DAPM_MUX("MIXHPLSEL Mux", M98090_REG_HP_CONTROL, - M98090_MIXHPLSEL_SHIFT, 0, &max98090_mixhplsel_mux), + SND_SOC_DAPM_MUX("MIXHPLSEL Mux", SND_SOC_NOPM, 0, 0, + &max98090_mixhplsel_mux), - SND_SOC_DAPM_MUX("MIXHPRSEL Mux", M98090_REG_HP_CONTROL, - M98090_MIXHPRSEL_SHIFT, 0, &max98090_mixhprsel_mux), + SND_SOC_DAPM_MUX("MIXHPRSEL Mux", SND_SOC_NOPM, 0, 0, + &max98090_mixhprsel_mux), SND_SOC_DAPM_PGA("HP Left Out", M98090_REG_OUTPUT_ENABLE, M98090_HPLEN_SHIFT, 0, NULL, 0), -- 2.7.4