Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3996261pxu; Mon, 30 Nov 2020 15:13:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJyfNOWibxgaUb7cCEuOIt6CyZBdEhk5L6XwwRMK6kInX/CbQOBobiRSo5PzihzjP2pTMB43 X-Received: by 2002:a17:906:c289:: with SMTP id r9mr113082ejz.311.1606778015019; Mon, 30 Nov 2020 15:13:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606778015; cv=none; d=google.com; s=arc-20160816; b=oMymTFxmMzll4QEhLGNwIxn021mJAtTkD74EubfCQ8/ZIi/iQD4GqFe0NYpVr5h1bw BLb+lsfzky3y2iLVUb0Xb0w3O3XpaVP2Z7IFRzyatwywdlcw/TuXTGPckxRJnAg75+8w UCDQCKP+Y/hu6FkkuZXA6DK0jKrAKa8f2IeYsHtrbAfyc7viSWrnfvFkuSVBQ7cQEkNj wvFwhGPJZxFeWVVh2Jy3cKlV81zXAIsfyctq7cmulb9zeV9wGVarr1gQlMjE/wlVniPr T4g3+i3eolKLi4KfXPy9JAyeACXvL57tWHp/5dRggKMqGUpL4uYYP5RlKXgDcTDvL+pL E7fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dmarc-filter:sender:dkim-signature; bh=ZVEZKMnlUjxdknwjGy+ozC0BlpkDw8uMu1j2bLYVZe0=; b=Xop/j6lZ76djNJ7WEtLvpN3MZ9/wmBfs+hBjHWsVxX2k2GIb1SdaJbd+xU8/6mEH8s tJY/u04hejLkBUFLpA6EXSBUhkTayGmXxzARqkYjeAoEyVPkUL0BvOkn7zkWsQGfjTI4 oyzSmlQ8d/Qwi58d6IosJhTAuOfohZUuaaxBWonW1q6h9F/L3mc45sBR6wA/6w7Kq8yf zjTUvan803ptW8/X89UVAaeJdp51uyQETHgqQ5bhU7InsvxfuBcaYgaVx7a/vY9i3toq suWWX2rHJ6QtICHlm6cJlxGnkj4Fosubsp9w2E2FOPI7FtlUAnWFJhHZyj4qEOxlbELJ PXlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=oo3A6DqN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t19si11930080eju.318.2020.11.30.15.13.12; Mon, 30 Nov 2020 15:13:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=oo3A6DqN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388710AbgK3WwM (ORCPT + 99 others); Mon, 30 Nov 2020 17:52:12 -0500 Received: from z5.mailgun.us ([104.130.96.5]:10604 "EHLO z5.mailgun.us" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388678AbgK3WwM (ORCPT ); Mon, 30 Nov 2020 17:52:12 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1606776707; h=Content-Transfer-Encoding: Content-Type: In-Reply-To: MIME-Version: Date: Message-ID: From: References: Cc: To: Subject: Sender; bh=ZVEZKMnlUjxdknwjGy+ozC0BlpkDw8uMu1j2bLYVZe0=; b=oo3A6DqN8Wdgf/PUKjqLWRPFzrF3F+leKPqYKUQJgJzBT5TCjlV8EEIjFMuXTHkf0L7BbOle EILOGoY+1pt7UwhurUAMCjdxjCGFvTGupPwaakXwiq42p1ACR0+mbKzUWIhn7kCO5/PuB203 2O9vPB1Lf7ixutURGjFoHxECq3Y= X-Mailgun-Sending-Ip: 104.130.96.5 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 smtp-out-n04.prod.us-east-1.postgun.com with SMTP id 5fc57782edac2724d815e5c6 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Mon, 30 Nov 2020 22:51:46 GMT Sender: asutoshd=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 4CE4DC43466; Mon, 30 Nov 2020 22:51:45 +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=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00, NICE_REPLY_A,SPF_FAIL,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from [192.168.8.168] (cpe-70-95-149-85.san.res.rr.com [70.95.149.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: asutoshd) by smtp.codeaurora.org (Postfix) with ESMTPSA id B1786C433C6; Mon, 30 Nov 2020 22:51:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org B1786C433C6 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=fail smtp.mailfrom=asutoshd@codeaurora.org Subject: Re: [RFC PATCH v1] scsi: ufs: Remove pre-defined initial VCC voltage values To: Stanley Chu , linux-scsi@vger.kernel.org, martin.petersen@oracle.com, avri.altman@wdc.com, alim.akhtar@samsung.com, jejb@linux.ibm.com Cc: beanhuo@micron.com, cang@codeaurora.org, matthias.bgg@gmail.com, bvanassche@acm.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, nguyenb@codeaurora.org, bjorn.andersson@linaro.org, kuohong.wang@mediatek.com, peter.wang@mediatek.com, chun-hung.wu@mediatek.com, andy.teng@mediatek.com, chaotian.jing@mediatek.com, cc.chou@mediatek.com, jiajie.hao@mediatek.com, alice.chao@mediatek.com References: <20201130091610.2752-1-stanley.chu@mediatek.com> From: "Asutosh Das (asd)" Message-ID: <568660cd-80e6-1b8f-d426-4614c9159ff4@codeaurora.org> Date: Mon, 30 Nov 2020 14:51:41 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.3 MIME-Version: 1.0 In-Reply-To: <20201130091610.2752-1-stanley.chu@mediatek.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/30/2020 1:16 AM, Stanley Chu wrote: > UFS specficication allows different VCC configurations for UFS devices, > for example, > (1). 2.70V - 3.60V (By default) > (2). 1.70V - 1.95V (Activated if "vcc-supply-1p8" is declared in > device tree) > (3). 2.40V - 2.70V (Supported since UFS 3.x) > > With the introduction of UFS 3.x products, an issue is happening that > UFS driver will use wrong "min_uV/max_uV" configuration to toggle VCC > regulator on UFU 3.x products with VCC configuration (3) used. > > To solve this issue, we simply remove pre-defined initial VCC voltage > values in UFS driver with below reasons, > > 1. UFS specifications do not define how to detect the VCC configuration > supported by attached device. > > 2. Device tree already supports standard regulator properties. > > Therefore VCC voltage shall be defined correctly in device tree, and > shall not be changed by UFS driver. What UFS driver needs to do is simply > enabling or disabling the VCC regulator only. > > This is a RFC conceptional patch. Please help review this and feel > free to feedback any ideas. Once this concept is accepted, and then > I would post a more completed patch series to fix this issue. > > Signed-off-by: Stanley Chu > --- > drivers/scsi/ufs/ufshcd-pltfrm.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c > index a6f76399b3ae..3965be03c136 100644 > --- a/drivers/scsi/ufs/ufshcd-pltfrm.c > +++ b/drivers/scsi/ufs/ufshcd-pltfrm.c > @@ -133,15 +133,7 @@ static int ufshcd_populate_vreg(struct device *dev, const char *name, > vreg->max_uA = 0; > } > > - if (!strcmp(name, "vcc")) { > - if (of_property_read_bool(np, "vcc-supply-1p8")) { > - vreg->min_uV = UFS_VREG_VCC_1P8_MIN_UV; > - vreg->max_uV = UFS_VREG_VCC_1P8_MAX_UV; > - } else { > - vreg->min_uV = UFS_VREG_VCC_MIN_UV; > - vreg->max_uV = UFS_VREG_VCC_MAX_UV; > - } > - } else if (!strcmp(name, "vccq")) { > + if (!strcmp(name, "vccq")) { > vreg->min_uV = UFS_VREG_VCCQ_MIN_UV; > vreg->max_uV = UFS_VREG_VCCQ_MAX_UV; > } else if (!strcmp(name, "vccq2")) { > Hi Stanley Thanks for the patch. Bao (nguyenb) was also working towards something similar. Would it be possible for you to take into account the scenario in which the same platform supports both 2.x and 3.x UFS devices? These've different voltage requirements, 2.4v-3.6v. I'm not sure if standard dts regulator properties can support this. -asd -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, Linux Foundation Collaborative Project