Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp375463rwb; Mon, 28 Nov 2022 22:54:59 -0800 (PST) X-Google-Smtp-Source: AA0mqf6thB+3e7N4YKTUhggS9P2dQbPyGAB2dlNtggP9SbSEC5LfcNZlnLKq+an/YuyYomicMGoD X-Received: by 2002:a17:902:be17:b0:188:fbc5:b734 with SMTP id r23-20020a170902be1700b00188fbc5b734mr36456778pls.170.1669704899055; Mon, 28 Nov 2022 22:54:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669704899; cv=none; d=google.com; s=arc-20160816; b=qzE5yyr5geCWpH9iIZRybqxQcXCYWycizWleYxkUfrH/YlLys3H9CgPuF8RyVxD0co AJX+Dadne+DPNl5yvPY9g5hdgr9xRVNaynjQ3QYHYLaMorWDT1EqJdiTMe4nxYfaRAx1 sdVVAnLmlcw6V+T4W/798vOXrECpECFByysjTcx+RfQA+pWbeX4yfcloshH4dNH57yjD QOPwRR4L8+CEAYrnYDOWpyDZuoK5LHPFfsF0C3hRG2qpjiGxMFa2nKEjamTQQQyzbFKP sWowUC9k9cxexl0L6naGLvfJD+qcIeUeo+G+lA6XNYCeblUDDjJ5s+BRGk8igbgH8uIe 7XyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=caj+s+czmNQi0XmGAmJvS2ybhS2pZZke9jRdHEJLPhY=; b=Eeczj2Vggrqt8Fi+uldhC9SM4pQIU44GQn0jVE384a1lHtUUIB3gLtt4Cy/eaCqj9p 9ynEXLFPEI+My3t3m5qTWXG054n45gjmI+Zb44nA9KuuFVs/90UKobFdOAaensQt/+ym 72kWPP3vyCNO1msWTLUJf/vPcBmPsXNbW4IcPI3zOMHpFlVumPVFMm2k9PbxQstQAl8p FBSK+soTYJo+56zUOiwUdf49Lu/f3X4KJ9rfv7HCLLBKnFEU3lHxQPMzypbXgAI8UTmc litGpfNbT/v12cHLfco/+zqX+9a7uF8dXwmCBTH22ec5k/lnJ8U4TXtFgEK4J7vUp4a4 zEHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=iI86H45L; 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=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y72-20020a638a4b000000b00477b64d8e5csi14969508pgd.160.2022.11.28.22.54.48; Mon, 28 Nov 2022 22:54:59 -0800 (PST) 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=@quicinc.com header.s=qcppdkim1 header.b=iI86H45L; 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=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229585AbiK2Ghu (ORCPT + 83 others); Tue, 29 Nov 2022 01:37:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229449AbiK2Ghr (ORCPT ); Tue, 29 Nov 2022 01:37:47 -0500 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E27610BF; Mon, 28 Nov 2022 22:37:41 -0800 (PST) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2AT4wgDc005078; Tue, 29 Nov 2022 06:36:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=qcppdkim1; bh=caj+s+czmNQi0XmGAmJvS2ybhS2pZZke9jRdHEJLPhY=; b=iI86H45LC9FR453Ijd+dvBe58idGPajCB0ZHu+PNNzqegJL41mTNo4wcC7fP+gB1KwBe FuitXRobIy1tVRjkltcSSG6koVLmWiLt7le4yVx1O8WxQPIYpkV+/bxq+Rb2bov6n7XH vXbFEM3jZiurEGf0VSpXMeDrJQyuGwWRHkK5XU+OdArvC6k0rF8m141cvFQtVWeE1o/o 7h4dwE/1PcnVb3CooaltGf1+70Ktpm8Xh3+BVJhH6sxFM/rT1pQJIJCi8NuQo4iKL16b B+qcek23Hk0NwRP6jxUXYFzc3oIuOfNPnWT+zNYXOhpDhge8tcgpmYR31huvIygosPIF GA== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3m56c68s0b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 29 Nov 2022 06:36:45 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 2AT6aiIb029608 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 29 Nov 2022 06:36:44 GMT Received: from hu-srivasam-hyd.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Mon, 28 Nov 2022 22:36:38 -0800 From: Srinivasa Rao Mandadapu To: , , , , , , , , , , , , , , , , CC: Srinivasa Rao Mandadapu Subject: [PATCH] ASoC: qcom: lpass-sc7280: Add system suspend/resume PM ops Date: Tue, 29 Nov 2022 12:06:24 +0530 Message-ID: <1669703784-27589-1-git-send-email-quic_srivasam@quicinc.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: xZ2XiQUcoNkUT8SkfIcv5q2dsdGpLfDU X-Proofpoint-GUID: xZ2XiQUcoNkUT8SkfIcv5q2dsdGpLfDU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_04,2022-11-28_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 mlxscore=0 phishscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 mlxlogscore=923 malwarescore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290042 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 Update lpass sc7280 platform driver with PM ops, such as system supend and resume callbacks. This update is required to disable clocks during supend and avoid XO shutdown issue. Signed-off-by: Srinivasa Rao Mandadapu Tested-by: Rahul Ajmeriya --- sound/soc/qcom/lpass-sc7280.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sound/soc/qcom/lpass-sc7280.c b/sound/soc/qcom/lpass-sc7280.c index 70c4df8..65a04d3 100644 --- a/sound/soc/qcom/lpass-sc7280.c +++ b/sound/soc/qcom/lpass-sc7280.c @@ -232,10 +232,27 @@ static int sc7280_lpass_exit(struct platform_device *pdev) struct lpass_data *drvdata = platform_get_drvdata(pdev); clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks); + return 0; +} + +static int sc7280_lpass_dev_resume(struct device *dev) +{ + struct lpass_data *drvdata = dev_get_drvdata(dev); + + return clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks); +} + +static int sc7280_lpass_dev_suspend(struct device *dev) +{ + struct lpass_data *drvdata = dev_get_drvdata(dev); + clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks); return 0; } +static const struct dev_pm_ops sc7280_lpass_pm_ops = { + SET_SYSTEM_SLEEP_PM_OPS(sc7280_lpass_dev_suspend, sc7280_lpass_dev_resume) +}; static struct lpass_variant sc7280_data = { .i2sctrl_reg_base = 0x1000, .i2sctrl_reg_stride = 0x1000, @@ -426,6 +443,7 @@ static struct platform_driver sc7280_lpass_cpu_platform_driver = { .driver = { .name = "sc7280-lpass-cpu", .of_match_table = of_match_ptr(sc7280_lpass_cpu_device_id), + .pm = &sc7280_lpass_pm_ops, }, .probe = asoc_qcom_lpass_cpu_platform_probe, .remove = asoc_qcom_lpass_cpu_platform_remove, -- 2.7.4