Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp2510234imm; Wed, 16 May 2018 14:10:39 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpFEtCTMB4mv9wdOWVBcOzpaRBdBW2VARd+2y+DdN5MNSE+VJP1PkgIHA42Yb1R6sgst9V5 X-Received: by 2002:a62:3a94:: with SMTP id v20-v6mr2569978pfj.90.1526505038911; Wed, 16 May 2018 14:10:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526505038; cv=none; d=google.com; s=arc-20160816; b=KEjX4B267K+JlC1255paxrVK56Ol+vm/Z2TGls6WO2AqImHslK01BbYsybu8zIPc3O 4WRJ+isQliwO2Mhp67ytQTVpZHRytGmwt/ZYtY1Tihi4fTGO7iCG7CdnlvD6Z0iuTtVe wpQsyp0+rqKIoaeTbv6jhWDXeNut/kGHAAbLllIc+VwgyS9qolqe1VPEqQ2SiJXTxAZm SUPJM5uz/NxPRtPOjJSzggRPUj/7HqoQdMCO9cULcs0PpWABxdeIcUGyEAVNf/k7nJeD xYPOnjVXBmU+MO+LAO0hA7mLBd3sxn83+WVvgJmPRHHQOwFXV0HkA4Bzp3ut+aoho+aI IT9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=LvjbQWGavfR7aSkq3ABuZKW9TSpZJjUUq2Zk81FgtC0=; b=nyBrUIplUSRc8inKZvp8g0E/Zo3jqAdIvHK68HYNtcGQf8k2PsYtRB0J2hMZ6xA+oE CAvtnfAQr/RBXlKquvxoRqUyUTuzByMEjur3O9F8+dklIXm122zgU57UtzaDT4uGzqlP Ip56dHms/n+LMiMGEWAnDUKct1XcJzziww0YadSe9YfwJKqPrZd+Lde+f0g6tOz4bOfz 7Xh2TJHIN60LDc6a0V+De3Zh/bvMj2s/t7D2vvXXdlgU15MRAEc3d/0ufHpUwpnR/iFD EpQ/5afifNQv74YfgizBr9NTZlmeMg7r0sk6MJZGVf3uFW2e5cN6zkok8M2h0lseaAxx 8QEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=CpFlYyTk; dkim=pass header.i=@codeaurora.org header.s=default header.b=fDSAoYC6; 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 h10-v6si2753196pgp.496.2018.05.16.14.10.24; Wed, 16 May 2018 14:10:38 -0700 (PDT) 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=pass header.i=@codeaurora.org header.s=default header.b=CpFlYyTk; dkim=pass header.i=@codeaurora.org header.s=default header.b=fDSAoYC6; 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 S1752327AbeEPVJ4 (ORCPT + 99 others); Wed, 16 May 2018 17:09:56 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:52480 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751375AbeEPVJx (ORCPT ); Wed, 16 May 2018 17:09:53 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id F0B3D60AF9; Wed, 16 May 2018 21:09:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1526504993; bh=DM4Gip00/uOFThQDOAPfgxqITgrWzxm6ltXgTIC+bKo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=CpFlYyTkltRykBj7BUpuLKDOrKxfh2dlQ986K4lBFpVcIISZGIGDCAt3WLwRBGAlH aALT4UetdMHGAkgru6WXFOU6p4kBQIoVOn6NBiVY2zyvSmd2NIMImJkiPPMRocCZpV YNo62L4OR9uAdR69D43Kd3uWxkGQZcKIGZ4v48cE= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 66233605A8; Wed, 16 May 2018 21:09:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1526504991; bh=DM4Gip00/uOFThQDOAPfgxqITgrWzxm6ltXgTIC+bKo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=fDSAoYC6hZI5/xvmq040YWwNfW/jouVE6f/BRm8mvpXSmcl40gPsKm3gY2nmom/i9 B3NcT9oGc/TNbdAENmCTqYLsJpEbL5OW6AfV48V8aSdagGkisTwyf4wrqFx2kLxWdP XKkFuqigNfsdQLChhnZrAGD4gu1eBIWQQW6VuDAs= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 16 May 2018 14:09:51 -0700 From: Subhash Jadavani To: Asutosh Das Cc: cang@codeaurora.org, vivek.gautam@codeaurora.org, rnayak@codeaurora.org, vinholikatti@gmail.com, jejb@linux.vnet.ibm.com, martin.petersen@oracle.com, linux-mmc@vger.kernel.org, linux-scsi@vger.kernel.org, Yaniv Gardi , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 01/10] scsi: ufs: Allowing power mode change In-Reply-To: <75e5ea5901004ef95b37aed719686214910f6541.1525343531.git.asutoshd@codeaurora.org> References: <75e5ea5901004ef95b37aed719686214910f6541.1525343531.git.asutoshd@codeaurora.org> Message-ID: <33a5e196be45bfeb0bea49a446e8af98@codeaurora.org> X-Sender: subhashj@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-05-03 04:07, Asutosh Das wrote: > From: Yaniv Gardi > > Due to M-PHY issues, moving from HS to any other mode or gear or > even Hibern8 may cause some un-predicted behavior > of the device. > This patch adds provides a quirk to address that. > > Signed-off-by: Yaniv Gardi > Signed-off-by: Subhash Jadavani > Signed-off-by: Can Guo > Signed-off-by: Asutosh Das > --- > drivers/scsi/ufs/ufshcd.c | 8 +++++++- > drivers/scsi/ufs/ufshcd.h | 7 +++++++ > 2 files changed, 14 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 5bc9dc1..f3083fe 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -4162,9 +4162,15 @@ static int ufshcd_link_startup(struct ufs_hba > *hba) > goto out; > } while (ret && retries--); > > - if (ret) > + if (ret) { > /* failed to get the link up... retire */ > goto out; > + } > + > + if (hba->quirks & UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE) { > + ufshcd_dme_set(hba, UIC_ARG_MIB(TX_LCC_ENABLE), 0); > + ufshcd_dme_set(hba, UIC_ARG_MIB(TX_LCC_ENABLE), 1); > + } > > if (link_startup_again) { > link_startup_again = false; > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > index cbe46f6..bb4ecfb 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -591,6 +591,13 @@ struct ufs_hba { > */ > #define UFSHCD_QUIRK_PRDT_BYTE_GRAN UFS_BIT(7) > > + /* > + * Needs to be enabled if moving from HS to any other gear/mode or > even > + * hibern8 causes unpredicted behavior of device. > + * If this quirk is enabled, standard UFS driver will disable/enable > + * TX_LCC. > + */ > + #define UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE UFS_BIT(8) > unsigned int quirks; /* Deviations from standard UFSHCI spec. */ > > /* Device deviations from standard UFS device spec. */ This was probably needed in early generation of UFS devices (non commercial) and may not be really needed now. I believe we can skip this patch. -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project