Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1223688

[PATCH v1 16/17] scsi: ufs: add delay before putting UFS rails in low power modes

From Yaniv Gardi <ygardi@codeaurora.org>
Newsgroups linux.kernel
Subject [PATCH v1 16/17] scsi: ufs: add delay before putting UFS rails in low power modes
Date 2015-09-13 17:00 +0200
Message-ID <q8gV4-2l2-17@gated-at.bofh.it> (permalink)
References <q8gV4-2l2-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


We put the UFS device in sleep state & UFS link in hibern8 state during
runtime suspaned. After this we put all the UFS rails in low power
modes immediately but it seems some devices may still draw more than
sleep current from UFS rails (especially from VCCQ rail) atleast for
500us.
To avoid this situation, this change adds 2ms delay before putting
these UFS rails in LPM mode.

Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>

---
 drivers/scsi/ufs/ufshcd.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 20b4c0e..786df28 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -5694,6 +5694,15 @@ out:
 static void ufshcd_vreg_set_lpm(struct ufs_hba *hba)
 {
 	/*
+	 * It seems some UFS devices may keep drawing more than sleep current
+	 * (atleast for 500us) from UFS rails (especially from VCCQ rail).
+	 * To avoid this situation, add 2ms delay before putting these UFS
+	 * rails in LPM mode.
+	 */
+	if (!ufshcd_is_link_active(hba))
+		usleep_range(2000, 2100);
+
+	/*
 	 * If UFS device is either in UFS_Sleep turn off VCC rail to save some
 	 * power.
 	 *
-- 
1.8.5.2

-- 
QUALCOMM ISRAEL, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v1 00/17] add fixes, device quirks, error recovery, Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 04/17] scsi: ufs: avoid spurious UFS host controller interrupts Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 10/17] scsi: ufs: make error handling bit faster Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 08/17] scsi: ufs: split broken LCC quirk Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 12/17] scsi: ufs: add retry for query descriptors Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 16/17] scsi: ufs: add delay before putting UFS rails in low power modes Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 13/17] scsi: ufs: handle non spec compliant bkops behaviour by device Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 15/17] scsi: ufs: fix leakage during link off state Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 05/17] scsi: ufs: implement scsi host timeout handler Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 17/17] scsi: ufs-qcom: set PA_Local_TX_LCC_Enable before link startup Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 14/17] scsi: ufs: tune UniPro parameters to optimize hibern8 exit time Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 09/17] scsi: ufs: disable vccq if it's not needed by UFS device Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 06/17] scsi :ufs: verify hba controller hce reg value Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 11/17] scsi: ufs: add error recovery after DL NAC error Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 03/17] scsi: ufs: optimize system suspend handling Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 02/17] scsi: ufs: add option to change default UFS power management level Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 01/17] scsi: ufs-qcom: add number of lanes per direction Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200
  [PATCH v1 07/17] scsi: ufs: separate device and host quirks Yaniv Gardi <ygardi@codeaurora.org> - 2015-09-13 17:00 +0200

csiph-web