Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp733327ybx; Thu, 7 Nov 2019 01:49:45 -0800 (PST) X-Google-Smtp-Source: APXvYqxBXwKs4K+TbBuAtYvO5ZkjvvlWZoia0t6epRLqabX57f0t0y5aVvL/OCnASbyv3jjrsedV X-Received: by 2002:a50:ea8a:: with SMTP id d10mr2364212edo.97.1573120184985; Thu, 07 Nov 2019 01:49:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573120184; cv=none; d=google.com; s=arc-20160816; b=U7K0ncvOLMFAOkeuKUKiNRUwACAPeRZ6oSPCMgSxYsU/xhVa8asphZ3LbGMkzxqK0K BjghG1F+1T8sEXINqLjqn5X5GjQ76IReV/hJtW6c2j+zYmtdyBJhArC+wYjvnbt9wQX4 +mMUV/zXvXyixP/Xjxls8pXXWO9E4Sf7Z58bmrwyXz8GI6VeVTT7bi9AejSZRLPACCFa BlUxzSeFFBLo6vdsj5CSNcsTak8rSFonLix2hDwNrWPm51cbE76DlJcJRoqsscL3UeMN fpt8lXNoekBLt2FQtGXsHSVkGpavHAJUOkYrKodQc3K81jj895tVzoA2hk9RgzPApQ5S iIAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature:dkim-signature; bh=jlECrQqzMHz44LBdbWGV4n3B2pcNbtodfLvTBcDva38=; b=fOhMWa5oVqjFTeJc3kF787gtMMDsFzEOJamfLTCSY0R38qOvgv1bQgnATLFfH/C3mT KlE7IbESimT1Vb120P0hjzeweDIlroDejc9kKD7SG+FZnJPUN6vJKAiJpQ69oIKRdHOK +XZSUGxnjqcavFCwV9HEeb54puhFaK3FEJ1GYQBghdlVQgOFlTneIQ0aJI8tBM2ji94R P+kSYU7/FeDpCK3lxdOYIz+3RC3CgY05lmEo9QVTEU9ApKGFMIsB2r3cW9PUriTRLBnb n7K7LNDshY3FnhkvNcYeerG3YSIevrN5gJL1o36mLEnWJIQTTtnX3EP1cyLa3n5q7nOd 6Pqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=WyLgxS3T; dkim=pass header.i=@codeaurora.org header.s=default header.b=ctjyyEhK; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e11si978070ejq.437.2019.11.07.01.49.19; Thu, 07 Nov 2019 01:49:44 -0800 (PST) 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=@codeaurora.org header.s=default header.b=WyLgxS3T; dkim=pass header.i=@codeaurora.org header.s=default header.b=ctjyyEhK; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387881AbfKGJsh (ORCPT + 99 others); Thu, 7 Nov 2019 04:48:37 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:60414 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727632AbfKGJsh (ORCPT ); Thu, 7 Nov 2019 04:48:37 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 67C0360A50; Thu, 7 Nov 2019 09:48:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1573120115; bh=sDQBDxXRZCeKsQ9VGvBn0JftH8Dvu3dtqOVJgd7P6j0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WyLgxS3TUyv52mYh1gGR4DYua/ykK0pNxS5epiS66S7dG2PZ7CjJ5QCd75SC6NQbt e/Uj/hpdrPQ5/NJjfax5lNNGYujkR6SMh3dPhAoCk2CfhduHJd460WUjFqlH1Bmyi7 2FNBloa2OuUOa6cw7NeRQ0w/egu9mLSCjxVpE9NU= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED,SPF_NONE autolearn=no autolearn_force=no version=3.4.0 Received: from pacamara-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: cang@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 41B6E60A23; Thu, 7 Nov 2019 09:48:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1573120111; bh=sDQBDxXRZCeKsQ9VGvBn0JftH8Dvu3dtqOVJgd7P6j0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ctjyyEhKV92rf8JKW36joQ+UKJ4yE6LsPta5eMin9sZnEfPeHCezOfu21A9Owe0ow o9nmr63L9bx3V0tdOdouWkBwUNWs0l1vFsgS5FylZ+W3EEGRuR3CgX5tACobbYOjhd Fs/FXu79kkRTgBWTjTaUi1ZSx9FTC8yLOlYxnTrs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 41B6E60A23 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=cang@codeaurora.org From: Can Guo To: asutoshd@codeaurora.org, nguyenb@codeaurora.org, rnayak@codeaurora.org, linux-scsi@vger.kernel.org, kernel-team@android.com, saravanak@google.com, salyzyn@google.com, cang@codeaurora.org Cc: Alim Akhtar , Avri Altman , Pedro Sousa , "James E.J. Bottomley" , "Martin K. Petersen" , Stanley Chu , Bean Huo , Tomas Winkler , Venkat Gopalakrishnan , Subhash Jadavani , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2 2/6] scsi: ufs: set load before setting voltage in regulators Date: Thu, 7 Nov 2019 01:47:53 -0800 Message-Id: <1573120078-15547-3-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1573120078-15547-1-git-send-email-cang@codeaurora.org> References: <1573120078-15547-1-git-send-email-cang@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Asutosh Das This sequence change is required to avoid dips in voltage during boot-up. Apparently, this dip is caused because in the original sequence, the regulators are initialized in lpm mode. And then when the load is set to high, and more current is drawn, than is allowed in lpm, the dip is seen. Signed-off-by: Asutosh Das Signed-off-by: Can Guo --- drivers/scsi/ufs/ufshcd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index c2de29f..c386c2d 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -7225,6 +7225,11 @@ static int ufshcd_config_vreg(struct device *dev, name = vreg->name; if (regulator_count_voltages(reg) > 0) { + uA_load = on ? vreg->max_uA : 0; + ret = ufshcd_config_vreg_load(dev, vreg, uA_load); + if (ret) + goto out; + if (vreg->min_uV && vreg->max_uV) { min_uV = on ? vreg->min_uV : 0; ret = regulator_set_voltage(reg, min_uV, vreg->max_uV); @@ -7235,11 +7240,6 @@ static int ufshcd_config_vreg(struct device *dev, goto out; } } - - uA_load = on ? vreg->max_uA : 0; - ret = ufshcd_config_vreg_load(dev, vreg, uA_load); - if (ret) - goto out; } out: return ret; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project