From: Dave Maurer Date: Fri, 22 Jun 2012 06:45:33 +0000 (+0000) Subject: isci: fix COMSAS negation timout workaround for WD SAS drives X-Git-Tag: v3.7-rc1~136^2~1^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a90037560588e51b3e98b49537799137cbfda17d;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git isci: fix COMSAS negation timout workaround for WD SAS drives The following patch is a fix for the WD workaround COMSAS negation timeout change. This patch disables the OOB SM when the OOB is placed in reset, which allows the updated COMSAS negation timeout value to take effect. Cc: Dan Thompson Reported-by: Dan Thompson Signed-off-by: Dave Maurer Signed-off-by: Dan Williams --- diff --git a/drivers/scsi/isci/phy.c b/drivers/scsi/isci/phy.c index 18f43d4..ebb8f53 100644 --- a/drivers/scsi/isci/phy.c +++ b/drivers/scsi/isci/phy.c @@ -1205,6 +1205,7 @@ static void scu_link_layer_start_oob(struct isci_phy *iphy) /** Reset OOB sequence - start */ val = readl(&ll->phy_configuration); val &= ~(SCU_SAS_PCFG_GEN_BIT(OOB_RESET) | + SCU_SAS_PCFG_GEN_BIT(OOB_ENABLE) | SCU_SAS_PCFG_GEN_BIT(HARD_RESET)); writel(val, &ll->phy_configuration); readl(&ll->phy_configuration); /* flush */ @@ -1236,6 +1237,7 @@ static void scu_link_layer_tx_hard_reset( * to the starting state. */ phy_configuration_value = readl(&iphy->link_layer_registers->phy_configuration); + phy_configuration_value &= ~(SCU_SAS_PCFG_GEN_BIT(OOB_ENABLE)); phy_configuration_value |= (SCU_SAS_PCFG_GEN_BIT(HARD_RESET) | SCU_SAS_PCFG_GEN_BIT(OOB_RESET));