Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1180525ybv; Wed, 5 Feb 2020 22:59:58 -0800 (PST) X-Google-Smtp-Source: APXvYqxTZCRbt0AwuGC/j81anUqTCbEPI51mjf8gTxr4+y7rhpuMTT+aA8WNQ6OAux0u6MDNyRLy X-Received: by 2002:a05:6830:145:: with SMTP id j5mr27835755otp.242.1580972397855; Wed, 05 Feb 2020 22:59:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580972397; cv=none; d=google.com; s=arc-20160816; b=ZSmQHTrL/Q8Af8HDCGq0/BjcXS7JZX+OnCWbQzfPl/ZwtTh+y2zvHUuV8Q/Bp40XfD k/IRRt0ihGxQN4OyTe6qpVxzRNdByX+ZWg/+pFPEDEdfGkVwZ+wiDu9T4p4G4B1IfeoG g/uhWw980wM2iACb59oPj9Z7BNedL7PL8ASHlbNryebT4QNH289ZJwk6iZxqRALS9lu9 8htbyzm8Jt5WSHquyMQSEQUniqxKXEP9zteXEyAHGic7aU5U4JPMvd7KbM31LP77an2b S82sNhQjWsFzux7NByEjyyI5RZ0t/WkbV7ZyaJNDxaAgUpmNPUREeN7h0Cm2ARNsoj80 +aQA== 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; bh=POhOlLHyX9kprQvl56dSDYTYibjR55MFDfQ2JGrYKXA=; b=UImbPJ7Ot0E2+eraRyhJty9Ypm4AyGrNfVGefvc9d9ZRok4DJ2QZUdHojysjbgzckR 33c/I1jLYW+0aPshOJlfjPV2fgOaQ5ST6DH2KexszPWlFGIzoBf2CaHdWNK+PauvgvrC /Yu+IKDT8HLiXEddAFHl1tOl07hXoeI2hazqkAHRoU4SLKcB7O+LRzxIh/zSkEVLz9tg h20cUmiNUD6LEB3LidRLugsdznIbLBMVNVYVKhdpav9c/V2Kw2DcpiBAkHLeYN/j0wLp 9xz4zuxtlSV85SpbnngQuIIjpG5yNQQslWHNxL9xuOLeysEHrdIDJmplEUSpFlm8skfj Er/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=YSpyNkju; 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 185si1775550oie.52.2020.02.05.22.59.45; Wed, 05 Feb 2020 22:59:57 -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=fail header.i=@mg.codeaurora.org header.s=smtp header.b=YSpyNkju; 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 S1727974AbgBFG5S (ORCPT + 99 others); Thu, 6 Feb 2020 01:57:18 -0500 Received: from mail25.static.mailgun.info ([104.130.122.25]:36447 "EHLO mail25.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727945AbgBFG5S (ORCPT ); Thu, 6 Feb 2020 01:57:18 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1580972237; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=POhOlLHyX9kprQvl56dSDYTYibjR55MFDfQ2JGrYKXA=; b=YSpyNkju/yH5YtIWY0cL3G2Z2GlzwqnAGpPlBTdM3LyvA250SPA1H5KaGt4/R3kxxn208lXh d6nXJ4X+DME2LKettAUwPUVpGd0g+v5MNwmN0sDCa+WaiWtTCVdOGdUKqR4CDXPQcnFBHqFE NZZcE3kVEfhwpUXyIBOJRmfMmA0= X-Mailgun-Sending-Ip: 104.130.122.25 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5e3bb8c7.7f0a51b4d500-smtp-out-n01; Thu, 06 Feb 2020 06:57:11 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id D8F4CC447A9; Thu, 6 Feb 2020 06:57:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=unavailable 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) by smtp.codeaurora.org (Postfix) with ESMTPSA id A9EADC433CB; Thu, 6 Feb 2020 06:57:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org A9EADC433CB Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=cang@codeaurora.org From: Can Guo To: asutoshd@codeaurora.org, nguyenb@codeaurora.org, hongwus@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 , "James E.J. Bottomley" , "Martin K. Petersen" , Matthias Brugger , Bean Huo , Stanley Chu , Bart Van Assche , Venkat Gopalakrishnan , Tomas Winkler , 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 2/8] scsi: ufs: set load before setting voltage in regulators Date: Wed, 5 Feb 2020 22:56:45 -0800 Message-Id: <1580972212-29881-3-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1580972212-29881-1-git-send-email-cang@codeaurora.org> References: <1580972212-29881-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 Reviewed-by: Hongwu Su Reviewed-by: Bean Huo Reviewed-by: Stanley Chu diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 10dbc0c..83ae093 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -7248,6 +7248,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); @@ -7258,11 +7263,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