Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp982226ybt; Wed, 17 Jun 2020 19:52:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4O1V116m9U6/dQz8XhTT4cNjUJRB4hy140AZDbhRs7AWTJr4zVCLV9NdcHE1ZADXtfTbX X-Received: by 2002:a17:906:d143:: with SMTP id br3mr1969109ejb.548.1592448747485; Wed, 17 Jun 2020 19:52:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592448747; cv=none; d=google.com; s=arc-20160816; b=RpH5IRNvk/TDXqkpePMQ9WsD/9i5XLKxzLR47fFoE9YWeQwa45MyACLqokHpiT7WE9 N5LqyQk2fYff1LONC9IYXHOM3YCrSSdg6nsTwFuWx8ZOxh78+7bgf5pZeyhQYw6czz6a mda6H0iGldhsTPMKHVi0r9uLX+NZQJbq4JChbohytJqfr+PKXsvyszwLziy/wK3Qhswk W9CL2wYGXc+j+xrAM/UxhpoqLUjXtXcl1fGLwMvDpjGPRVCZqsPx+C7E2PvGUSua4+yW QMqpuj6GmmKqh0EAjFJ3zk99Hfl9E4RW+q28eyHM0Drz7OmqjpMTL6tmWp8f7cQpUWR6 Nnhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=cWqHU/WdvZMpnGDmFlf6Fn/D6HfbelwGSKAMkukjktk=; b=KWaXu79zD8NlPhyIwqn5JoYBIk738FhvUtUnqMzkON1lL4BYwV/hSGuQ3ujPqFHGFs 7vqkArAe45jmpPNC6J8XChfPS0cYN3XPQJgN/+N/D4yX2v4+HFIy0JVWwIe8xLpVbieD f9O9OGqs6QQzrdyfGkUFLgq+KS1yr9VmVukdJOqgnW5QqadM3CvEHHE/Ynv83GPC2jCf QxhuGo8KuQ6/vhMvvMADzy+dHcB+xqPlfBVH3moau6LXB9SCsMTVSMI+dE52r7GRhba8 B+rqU+CQsuewidVgw8FwSb5fsZe3EPbTtEQSvj4Erqgy584N5eXQqzO0+fUvE3kir2gj 55Jw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GKLacmhr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o5si1169760edv.67.2020.06.17.19.52.05; Wed, 17 Jun 2020 19:52:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GKLacmhr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728379AbgFRCu1 (ORCPT + 99 others); Wed, 17 Jun 2020 22:50:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:35546 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728061AbgFRBJT (ORCPT ); Wed, 17 Jun 2020 21:09:19 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 121BC21D7B; Thu, 18 Jun 2020 01:09:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442559; bh=4qBR61r3nM6bdJZcmW6Y39cAB3ZUpIlI9O50ZJzCDrE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GKLacmhr/x34DIiETgiaYugUxWvufWTR/Z9iiLlAMrFySa6H6lc+okRCRo9Dr8Jom 4CY4fLbFdVNNMm1inSaAPBvVJx4Kuy5vAmOPsHSctALYEQzhJmOxueMGVDeKu5Z2Zd i9Hl9zWP1mcVYf64NGIFvsh+5sSUqT92Y64bNt0o= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniel Baluta , Kai Vehmanen , Pierre-Louis Bossart , Ranjani Sridharan , Mark Brown , Sasha Levin , sound-open-firmware@alsa-project.org, alsa-devel@alsa-project.org Subject: [PATCH AUTOSEL 5.7 055/388] ASoC: SOF: Do nothing when DSP PM callbacks are not set Date: Wed, 17 Jun 2020 21:02:32 -0400 Message-Id: <20200618010805.600873-55-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Daniel Baluta [ Upstream commit c26fde3b15ed41f5f452f1da727795f787833287 ] This provides a better separation between runtime and PM sleep callbacks. Only do nothing if given runtime flag is set and calback is not set. With the current implementation, if PM sleep callback is set but runtime callback is not set then at runtime resume we reload the firmware even if we do not support runtime resume callback. Signed-off-by: Daniel Baluta Signed-off-by: Kai Vehmanen Reviewed-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Link: https://lore.kernel.org/r/20200515135958.17511-2-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/sof/pm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c index c410822d9920..01d83ddc16ba 100644 --- a/sound/soc/sof/pm.c +++ b/sound/soc/sof/pm.c @@ -90,7 +90,10 @@ static int sof_resume(struct device *dev, bool runtime_resume) int ret; /* do nothing if dsp resume callbacks are not set */ - if (!sof_ops(sdev)->resume || !sof_ops(sdev)->runtime_resume) + if (!runtime_resume && !sof_ops(sdev)->resume) + return 0; + + if (runtime_resume && !sof_ops(sdev)->runtime_resume) return 0; /* DSP was never successfully started, nothing to resume */ @@ -175,7 +178,10 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) int ret; /* do nothing if dsp suspend callback is not set */ - if (!sof_ops(sdev)->suspend) + if (!runtime_suspend && !sof_ops(sdev)->suspend) + return 0; + + if (runtime_suspend && !sof_ops(sdev)->runtime_suspend) return 0; if (sdev->fw_state != SOF_FW_BOOT_COMPLETE) -- 2.25.1