scsi: ufs: Override auto suspend tunables for ufs

Override auto suspend tunables for UFS device LUNs during
initialization so as to efficiently manage background operations
and the power consumption.

Change-Id: Id7ff9e8a5c83b7503a329e71936af3234a22895b
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
[gbroner@codeaurora.org: fix minor merge conflicts]
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
This commit is contained in:
Sujit Reddy Thumma 2013-12-06 20:05:55 +05:30 committed by David Keitel
parent 5443a50d5c
commit 8cdca82049

View file

@ -101,6 +101,9 @@
/* Interrupt aggregation default timeout, unit: 40us */ /* Interrupt aggregation default timeout, unit: 40us */
#define INT_AGGR_DEF_TO 0x02 #define INT_AGGR_DEF_TO 0x02
/* default value of auto suspend is 3 seconds */
#define UFSHCD_AUTO_SUSPEND_DELAY_MS 3000 /* millisecs */
#define ufshcd_toggle_vreg(_dev, _vreg, _on) \ #define ufshcd_toggle_vreg(_dev, _vreg, _on) \
({ \ ({ \
int _ret; \ int _ret; \
@ -3183,6 +3186,9 @@ static int ufshcd_slave_configure(struct scsi_device *sdev)
blk_queue_update_dma_pad(q, PRDT_DATA_BYTE_COUNT_PAD - 1); blk_queue_update_dma_pad(q, PRDT_DATA_BYTE_COUNT_PAD - 1);
blk_queue_max_segment_size(q, PRDT_DATA_BYTE_COUNT_MAX); blk_queue_max_segment_size(q, PRDT_DATA_BYTE_COUNT_MAX);
sdev->autosuspend_delay = UFSHCD_AUTO_SUSPEND_DELAY_MS;
sdev->use_rpm_auto = 1;
return 0; return 0;
} }