Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3570899ybl; Mon, 3 Feb 2020 02:46:43 -0800 (PST) X-Google-Smtp-Source: APXvYqzYaQe6lfvJEEdlwmZYFNxm16iTYzw+bc+npGMnQyT7Z6G0GYDQlbdQbxFMSd8+t9NTKOfx X-Received: by 2002:a9d:7695:: with SMTP id j21mr17718453otl.157.1580726803318; Mon, 03 Feb 2020 02:46:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580726803; cv=none; d=google.com; s=arc-20160816; b=D/BFBKXMA8RYTAx0q6Dl0pp94f9nAjkOArRSb/+PVLkLLQ8CJalNv3/Mkh+iqGAqf6 jgRovWgutpNnMw3ICTL7dJTMhUgg04EOej98L56mEKvBgJcD70AO4mLOFZCXpJzs+TVU GqGXsl2a9W71iitBZHq9w7pFe8Cd9HRh2n4xvxwFGVlYn3bNROEpyKcN3A7EwHBwJlR8 Q4J8lrA9VLtYTpJj+thdJ9C2kDnSlf/hRDDeK7SWtCyH79duGwyy4ptwbDzvPL4k7U7a cKyixlQ5kvbat4+1d310XOdi8X9BxtzUF7jOsLSgNjpOrGfFAvec/gtcOHdMNf4KZVeb 9sjA== 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=52EghVzA6/poXiI2GuUROAvAoUlFjuX9k90DJG902HU=; b=hK4Isv2O3v3BD8nypzh3Q6xZ8TiZvBaJSTi2spahS4j00BDn+r4DoLk57wi3SBLfUJ 29w7Ww6el+OU6Q9AaFZu6/I+y9DMuWCw+fCVtmFD/Jd3KMst+JgtsRHbOwJiyJRunWm/ nbiPmILeNVTmsx7aTN+yUwNoaag7jJOrRpk/TNHVI+EYmBTlkbAJG49l5Pj4TWog+T0I yqXwkc4UcdX/kf5aNq/to6JQNNjhwkURpWXXI2XTPTwciIEk0HfoEYfTK2SQNxBfo9o+ QDf73ICoDhDpuRwkRXVFUqPNTfgNXE3H4Ee68WYR+fracqzK1LlukCT56W6qTXj7FP5k Fc2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=hEXgWR57; 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 f17si9407158otq.96.2020.02.03.02.46.28; Mon, 03 Feb 2020 02:46:43 -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=hEXgWR57; 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 S1727750AbgBCJST (ORCPT + 99 others); Mon, 3 Feb 2020 04:18:19 -0500 Received: from mail26.static.mailgun.info ([104.130.122.26]:30381 "EHLO mail26.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727600AbgBCJSS (ORCPT ); Mon, 3 Feb 2020 04:18:18 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1580721498; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=52EghVzA6/poXiI2GuUROAvAoUlFjuX9k90DJG902HU=; b=hEXgWR57+uCJ+wojcrSiOeHuRN1X1nhd2PzYkZz1GEQyT+BX7jGECmLotiQlrZcccgdqbSZT 8i+fO6C6AX+OkTl8koVfkJnWvAx2HgwZFbeoi2tC0CLJgMg+JZhq7RP7FbQPhcZwiVf+zzAg mjM9GUp0tEtpdS1tuDjfRf7i7c4= X-Mailgun-Sending-Ip: 104.130.122.26 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 5e37e554.7fa68aea4998-smtp-out-n03; Mon, 03 Feb 2020 09:18:12 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id EE776C433A2; Mon, 3 Feb 2020 09:18:10 +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, URIBL_BLOCKED autolearn=ham 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 E6559C43383; Mon, 3 Feb 2020 09:18:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org E6559C43383 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" , Stanley Chu , Bean Huo , Bart Van Assche , Venkat Gopalakrishnan , Tomas Winkler , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v5 2/8] scsi: ufs: set load before setting voltage in regulators Date: Mon, 3 Feb 2020 01:17:44 -0800 Message-Id: <1580721472-10784-3-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1580721472-10784-1-git-send-email-cang@codeaurora.org> References: <1580721472-10784-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 --- 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 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