From: Maciej Patelczyk Date: Wed, 27 Apr 2011 17:50:50 +0000 (+0000) Subject: isci: Implement SCU AFE recipe 10. X-Git-Tag: firefly_0821_release~3680^2~5121^2~1^2~151 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e76d80579c2b5b4ecac107b83c22ceeb9e23bd1b;p=firefly-linux-kernel-4.4.55.git isci: Implement SCU AFE recipe 10. Updated SCU AFE initialization values accordingly to the recipe 10. Signed-off-by: Maciej Patelczyk Signed-off-by: Dan Williams --- diff --git a/drivers/scsi/isci/core/scic_sds_controller.c b/drivers/scsi/isci/core/scic_sds_controller.c index c684d9ec8c97..5e8dea57b5ef 100644 --- a/drivers/scsi/isci/core/scic_sds_controller.c +++ b/drivers/scsi/isci/core/scic_sds_controller.c @@ -442,11 +442,20 @@ static void scic_sds_controller_afe_initialization(struct scic_sds_controller *s writel(0x0081000f, &scic->scu_registers->afe.afe_dfx_master_control0); udelay(AFE_REGISTER_WRITE_DELAY); + if (is_b0()) { + /* PM Rx Equalization Save, PM SPhy Rx Acknowledgement + * Timer, PM Stagger Timer */ + writel(0x0007BFFF, &scic->scu_registers->afe.afe_pmsn_master_control2); + udelay(AFE_REGISTER_WRITE_DELAY); + } + /* Configure bias currents to normal */ if (is_a0()) writel(0x00005500, &scic->scu_registers->afe.afe_bias_control); - else + else if (is_a2()) writel(0x00005A00, &scic->scu_registers->afe.afe_bias_control); + else if (is_b0()) + writel(0x00005F00, &scic->scu_registers->afe.afe_bias_control); udelay(AFE_REGISTER_WRITE_DELAY); @@ -464,7 +473,7 @@ static void scic_sds_controller_afe_initialization(struct scic_sds_controller *s udelay(AFE_REGISTER_WRITE_DELAY); } while ((afe_status & 0x00001000) == 0); - if (is_b0()) { + if (is_a0() || is_a2()) { /* Shorten SAS SNW lock time (RxLock timer value from 76 us to 50 us) */ writel(0x7bcc96ad, &scic->scu_registers->afe.afe_pmsn_master_control0); udelay(AFE_REGISTER_WRITE_DELAY);