Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp311225ybl; Wed, 22 Jan 2020 22:14:06 -0800 (PST) X-Google-Smtp-Source: APXvYqz8HwAISO4qu2zzRDqW5drWHevKG/pMcwhvIo70yHgnKIaIhm4fxneMxQOzho3BW3amhJ89 X-Received: by 2002:aca:39d6:: with SMTP id g205mr8863169oia.122.1579760046113; Wed, 22 Jan 2020 22:14:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579760046; cv=none; d=google.com; s=arc-20160816; b=Vf0TszFXMrXJLdOTnl4tXiPT4uP3A1rh4OSpU3Sb89tPXXSzzV+GsaGk+9RdGHWNd8 YeId35NriXhwlg6ANZtmoYooGE9GyNxRORxX4Uv/MDnz21t5NRZ9t88ZYk0D7NYbkdN7 GykHELavLHEAnAxHixNWuirhK8Tq8TpsP43Z2TqDGBPFaVTlw8efvFnu2aUc82EvEhCo BDk1H+SaB1qr8p0ekDWlFy47inJmBnspxKMMDrPoQkZTGCQh5fF5dj9DogShC687e54V c+XvPWMMw9+egXEsEHRfvDDZFDaNes3IMlcVLKwit7YYWVgGi/i+Our5ck7GRBcIK+PU 8cgQ== 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=jlECrQqzMHz44LBdbWGV4n3B2pcNbtodfLvTBcDva38=; b=FAa0X9Jh5U6lBvRzAwqMOuC8uW8Ze67HQ/YC87I5ZkF2LKYqg5x6QnyqLUUp1OU0DU 37YtrAULRHgjbiXYeLV16BH1YDkvwQMQRhpr3+10HHjyf+eQTs7xrVETdYQHIQW5QG65 TJLdGhkfr2mEx+2CsKbr0VCq+4iZ24K2ELjcPTbDX3Zk3/Znfb3cJWCRpWx9OcoYXYux kyNR3GSxvfcnAOkuIE7mmz+Y3HO3DYeag/NNf5zLtP6p2Sm8hYDn0yb1xiiPNT0SY8Fc 7eWVGeMdNspY5oLTk/hpiLT3oS+xTO1BgCkRT7v+6Gm3/B6UqH3f/gWCvAWEv6VGWIPK bLAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=SwJ49eh3; 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 u84si450885oib.34.2020.01.22.22.13.53; Wed, 22 Jan 2020 22:14:06 -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=SwJ49eh3; 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 S1726188AbgAWGMw (ORCPT + 99 others); Thu, 23 Jan 2020 01:12:52 -0500 Received: from mail25.static.mailgun.info ([104.130.122.25]:42451 "EHLO mail25.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726141AbgAWGMw (ORCPT ); Thu, 23 Jan 2020 01:12:52 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1579759972; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=jlECrQqzMHz44LBdbWGV4n3B2pcNbtodfLvTBcDva38=; b=SwJ49eh3Zokx2pVPFSQLbjo+UvQg481sDSjVQ2Eb54ak10JJdVhw8i04KlYNKpnLzKQPK5Ky yHQ2PWMnkIALNIt/xXMaQFnPbVpdSO6/0ZNLvuT2/bEzBaefSrqwYZsVeQLq4fafgTeSVV45 ULB6ZPrJw7kf8hBdkP12B6a93QY= 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 5e293960.7f070c030880-smtp-out-n02; Thu, 23 Jan 2020 06:12:48 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 3E5F6C447B1; Thu, 23 Jan 2020 06:12:48 +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 94449C447A6; Thu, 23 Jan 2020 06:12:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 94449C447A6 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 , Pedro Sousa , "James E.J. Bottomley" , "Martin K. Petersen" , Stanley Chu , Bean Huo , Venkat Gopalakrishnan , Tomas Winkler , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3 2/8] scsi: ufs: set load before setting voltage in regulators Date: Wed, 22 Jan 2020 22:12:19 -0800 Message-Id: <1579759946-5448-3-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1579759946-5448-1-git-send-email-cang@codeaurora.org> References: <1579759946-5448-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