scsi: hisi_sas: Change DMA setup lock timeout to 2.5s
DMA setup lock timeout protection is added when DMA setup frames are received. It's a function outside the protocol and used to prevent SATA disk I/Os from being delivered for a long time. The default value is 100ms, it's too strict and easily triggered timeout when the disk is overloaded or faulty. Based on the average I/O latency of 300 disks, we adjust the value to 2.5s. Signed-off-by: Xingui Yang <yangxingui@huawei.com> Signed-off-by: Yihang Li <liyihang9@huawei.com> Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com> Link: https://lore.kernel.org/r/1684118481-95908-3-git-send-email-chenxiang66@hisilicon.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
b68daae966
commit
a090fc9761
@ -30,6 +30,7 @@
|
||||
#define SATA_INITI_D2H_STORE_ADDR_LO 0x60
|
||||
#define SATA_INITI_D2H_STORE_ADDR_HI 0x64
|
||||
#define CFG_MAX_TAG 0x68
|
||||
#define TRANS_LOCK_ICT_TIME 0X70
|
||||
#define HGC_SAS_TX_OPEN_FAIL_RETRY_CTRL 0x84
|
||||
#define HGC_SAS_TXFAIL_RETRY_CTRL 0x88
|
||||
#define HGC_GET_ITV_TIME 0x90
|
||||
@ -634,6 +635,8 @@ static void init_reg_v3_hw(struct hisi_hba *hisi_hba)
|
||||
hisi_sas_write32(hisi_hba, DLVRY_QUEUE_ENABLE,
|
||||
(u32)((1ULL << hisi_hba->queue_count) - 1));
|
||||
hisi_sas_write32(hisi_hba, CFG_MAX_TAG, 0xfff0400);
|
||||
/* time / CLK_AHB = 2.5s / 2ns = 0x4A817C80 */
|
||||
hisi_sas_write32(hisi_hba, TRANS_LOCK_ICT_TIME, 0x4A817C80);
|
||||
hisi_sas_write32(hisi_hba, HGC_SAS_TXFAIL_RETRY_CTRL, 0x108);
|
||||
hisi_sas_write32(hisi_hba, CFG_AGING_TIME, 0x1);
|
||||
hisi_sas_write32(hisi_hba, INT_COAL_EN, 0x1);
|
||||
@ -3006,6 +3009,7 @@ static const struct hisi_sas_debugfs_reg_lu debugfs_global_reg_lu[] = {
|
||||
HISI_SAS_DEBUGFS_REG(SATA_INITI_D2H_STORE_ADDR_LO),
|
||||
HISI_SAS_DEBUGFS_REG(SATA_INITI_D2H_STORE_ADDR_HI),
|
||||
HISI_SAS_DEBUGFS_REG(CFG_MAX_TAG),
|
||||
HISI_SAS_DEBUGFS_REG(TRANS_LOCK_ICT_TIME),
|
||||
HISI_SAS_DEBUGFS_REG(HGC_SAS_TX_OPEN_FAIL_RETRY_CTRL),
|
||||
HISI_SAS_DEBUGFS_REG(HGC_SAS_TXFAIL_RETRY_CTRL),
|
||||
HISI_SAS_DEBUGFS_REG(HGC_GET_ITV_TIME),
|
||||
|
Loading…
x
Reference in New Issue
Block a user