Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp927927pxb; Thu, 12 Nov 2020 22:33:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJwhA95h/GRHpFoTdEwhTjuCKN/CyOr0tFAsJucqi2xkn5Uf2fBSXcMz7zY4IOA8qn6NFZ04 X-Received: by 2002:aa7:ccd2:: with SMTP id y18mr1033428edt.11.1605249206226; Thu, 12 Nov 2020 22:33:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605249206; cv=none; d=google.com; s=arc-20160816; b=Xogwv3+S7ljcEE2QvCUh6Td/8oZcRXRHmOvCdOYQt3N4Qe6451DRZg9Ky8+MQ2BOFU IH2Lzmv+/3Ea+m1g61C0muP4FW6ju3Zsm6mR2CklUCBrHWq1fQCBjHOmjMO1IBvpOqt3 3EiljHl2U0RT0Sjjz3wucXovvV4GwqzGLdZVOwmMv501RZT3DiAt/ryy0MK8ffnIPEHA 5XDPbs7A2bErvoa0gZcn5kkf192YzAjfAOG9e47tK5G4cbxlhoSIXsWSPn9pIXl9QLSY FP3aqH8U8Zas9NI+/CrJ5Fslye4jH/L4gfg3StYfOQY5ZYirFJHr4x//GhieRtb43xQK J7tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:ironport-sdr; bh=XPy6FLGUq6CiOMm4DIKLRltDEdl4/9UWUDlQReA6WnI=; b=0SET739/rds/6AnOkU/LSUPKKB/ZsYbXTnBzaHUbmEXa75o9kggvmT80xXSoDpR3yW RvV7W9Maa9HHd42f3K3w7TKoiDv7HPM/YVeNxRavS6UqyMjzKgvPyNfcnG9gy9YzjpZO y8CWk7YKdGTBdH0nfzgjZm4MUh5jTyS2zLKprL7dyYFdvVkDsxNu+LSXNiv1J4DZ4cSL Oes8H7p7WETnJeBW+KxgdaIMNRt08egNsULl4bRetPlx0EtMSnWjqGL/AsM6N3A8aXeb ydNM9l/fQ6lf6WMjuVRDK47Nxxukn9r3PlTyZe8VTttXwvYf/hvTu411sxMfQ6UqBQYL mTHA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g12si5646292edw.160.2020.11.12.22.33.02; Thu, 12 Nov 2020 22:33:26 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726272AbgKMGaS (ORCPT + 99 others); Fri, 13 Nov 2020 01:30:18 -0500 Received: from labrats.qualcomm.com ([199.106.110.90]:10406 "EHLO labrats.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726217AbgKMGaR (ORCPT ); Fri, 13 Nov 2020 01:30:17 -0500 IronPort-SDR: 6TctTulGF1gL+sBpL0IlknZ99Yw6dxVKYMIJu3fy+ScxCLq5NbEFjoVaF10nfo1U+4tLTLBiwA zofBxl78sY+ML/jMcf26hQi+tytcX87UyA6Z4Nqz4Gh/KhPe21AYNjvxPnPRje/HE/vbOvZeZF MfXXrLyyNiDNeJUZryNf5qbhWn6w8bNBFbf1CKiE+xHb2fyqA5Rq20fbNBoVGw6/VsiMKORGrB 1ciEvBo/ncQYojrCP/PompnbIIaTtIFieuF/Q4RX9oruKQMI7MravJAuXZskjI5/oo0xawuCH/ +BM= X-IronPort-AV: E=Sophos;i="5.77,474,1596524400"; d="scan'208";a="29276423" Received: from unknown (HELO ironmsg01-sd.qualcomm.com) ([10.53.140.141]) by labrats.qualcomm.com with ESMTP; 12 Nov 2020 22:30:17 -0800 X-QCInternal: smtphost Received: from wsp769891wss.qualcomm.com (HELO stor-presley.qualcomm.com) ([192.168.140.85]) by ironmsg01-sd.qualcomm.com with ESMTP; 12 Nov 2020 22:30:15 -0800 Received: by stor-presley.qualcomm.com (Postfix, from userid 359480) id E48A321787; Thu, 12 Nov 2020 22:30:15 -0800 (PST) From: Can Guo To: asutoshd@codeaurora.org, nguyenb@codeaurora.org, hongwus@codeaurora.org, ziqichen@codeaurora.org, rnayak@codeaurora.org, linux-scsi@vger.kernel.org, kernel-team@android.com, saravanak@google.com, salyzyn@google.com, cang@codeaurora.org Cc: Stanley Chu , Bart Van Assche , "James E.J. Bottomley" , "Martin K. Petersen" , Matthias Brugger , linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support), linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek SoC support) Subject: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled Date: Thu, 12 Nov 2020 22:30:08 -0800 Message-Id: <1605249009-13752-2-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1605249009-13752-1-git-send-email-cang@codeaurora.org> References: <1605249009-13752-1-git-send-email-cang@codeaurora.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If block layer runtime PM is enabled for one SCSI device, then there is no need to forcibly change the SCSI device and its request queue's runtime PM status to active in scsi_dev_type_resume(), since block layer PM shall resume the SCSI device on the demand of bios. Cc: Stanley Chu Cc: Bart Van Assche Signed-off-by: Can Guo --- drivers/scsi/scsi_pm.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/drivers/scsi/scsi_pm.c b/drivers/scsi/scsi_pm.c index 3717eea..278c27e 100644 --- a/drivers/scsi/scsi_pm.c +++ b/drivers/scsi/scsi_pm.c @@ -79,23 +79,22 @@ static int scsi_dev_type_resume(struct device *dev, scsi_device_resume(to_scsi_device(dev)); dev_dbg(dev, "scsi resume: %d\n", err); - if (err == 0) { - pm_runtime_disable(dev); - err = pm_runtime_set_active(dev); - pm_runtime_enable(dev); + if (scsi_is_sdev_device(dev)) { + struct scsi_device *sdev; + sdev = to_scsi_device(dev); /* - * Forcibly set runtime PM status of request queue to "active" - * to make sure we can again get requests from the queue - * (see also blk_pm_peek_request()). - * - * The resume hook will correct runtime PM status of the disk. + * If block layer runtime PM is enabled for the SCSI device, + * let block layer PM handle its runtime PM routines. */ - if (!err && scsi_is_sdev_device(dev)) { - struct scsi_device *sdev = to_scsi_device(dev); + if (sdev->request_queue->dev) + return err; + } - blk_set_runtime_active(sdev->request_queue); - } + if (err == 0) { + pm_runtime_disable(dev); + err = pm_runtime_set_active(dev); + pm_runtime_enable(dev); } return err; -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.