Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1211006ybv; Fri, 7 Feb 2020 16:52:04 -0800 (PST) X-Google-Smtp-Source: APXvYqwbhvLQ3v3DDz9xOJIe/Lj5WxHmk49DcGLeKxR6H0OO5iEqyL77fWkSvuWdaFRi5AVMzzIU X-Received: by 2002:aca:1c01:: with SMTP id c1mr3947251oic.18.1581123124077; Fri, 07 Feb 2020 16:52:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581123124; cv=none; d=google.com; s=arc-20160816; b=edhym53scxV63w0mdjI1EWMdGXW02Y4/MPbEES+AUEFiacTOn/ktRmKNmEVgF5FZ2o AwwLEw74LvOHz3ADznGuvKx6SKeaK8upGZkTJHiQAHCrNSSAFpLa+t3mAd5cRYfKPWPF 8GiX3TvUQJm2bdgB1WsF64lkmMjER5cCts+EX8yYNPjg2YOzRZoiTKk6hGDqT4RyRudj MXiMQH9b4yI1C0Upy+rVejVhE3tp4inZmTmLrcCWytYNyYYeN1AkpYodKxeKamEdsiG8 FBO9+V+BLnrQzwzQsARCIsqdjzXe/FrfFOmye6jsabFlq+/N1xwhT5FwrclyCeGOuW0w aMWA== 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=t+FgI3k1RH0XwLRRvN413IofuW1YGTIaAUZGlJS3Lo2ETrCoqFozczOgQOpTGEBL1F JBXWdsZ+l1zQuDMBtcWIG3biu/DOH+kQ17HnCVPtY7QmicUPLxH7h0Oh+O09moZYilSB /8So69GZPJj8lnzskiUAgyxR47EFtHDdSXNYrIQ0g2O4ReuHFueCzNgYVowu9HnAwODG oDC8eN47PtDwi0OTuLmSfbOc+Tw0oai7CAEm9V2bjMH52HHKHChLiozlpjTkyXVa99h9 6qkeRcSzTkH/jtVIQ6ol6PDN0uh/rnNrKZVaYta2eWeSQ2DhKtWRbngsDS9Cnbdzgzcf 5ZIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=ZLQnk1Dy; 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 d20si546513oti.311.2020.02.07.16.51.52; Fri, 07 Feb 2020 16:52:04 -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=ZLQnk1Dy; 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 S1727473AbgBHAux (ORCPT + 99 others); Fri, 7 Feb 2020 19:50:53 -0500 Received: from mail25.static.mailgun.info ([104.130.122.25]:60387 "EHLO mail25.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727453AbgBHAuw (ORCPT ); Fri, 7 Feb 2020 19:50:52 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1581123052; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=POhOlLHyX9kprQvl56dSDYTYibjR55MFDfQ2JGrYKXA=; b=ZLQnk1DyCB7yftH+GnBzkDQlEU3pnMDFcau3Bv5DwYPnq+89QKZhbZwRufzxMZT5bgNz9x5v r3URuhe6DWs7vVubJSfgZ5wxDj0h0MvatL3ocW1Qz5jlzjdeYo6F4CwWWuav5Th7NzYIthcE ioirgZzBLIntIuPIlfIvv3CiLmw= 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 5e3e05eb.7f3ca0f0fae8-smtp-out-n01; Sat, 08 Feb 2020 00:50:51 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 4E1DFC447A4; Sat, 8 Feb 2020 00:50:50 +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 1F63FC433CB; Sat, 8 Feb 2020 00:50:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 1F63FC433CB 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 , Stanley Chu , Bean Huo , 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/7] scsi: ufs: set load before setting voltage in regulators Date: Fri, 7 Feb 2020 16:50:24 -0800 Message-Id: <1581123030-12023-3-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1581123030-12023-1-git-send-email-cang@codeaurora.org> References: <1581123030-12023-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