aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mvsas/mv_64xx.c
diff options
context:
space:
mode:
authorXiangliang Yu <yuxiangl@marvell.com>2011-05-24 10:38:10 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-07-26 02:39:09 -0400
commite144f7ef49ec85e9dfdf130f3a9a2372fe5fe39b (patch)
tree1500ee564c2ca4f230afa548bbb023b91ffd88fb /drivers/scsi/mvsas/mv_64xx.c
parent84fbd0cea11b80d7b7097343d5262004d42b8a9a (diff)
[SCSI] mvsas: update comments
Remove obsolete comments and add new comments Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/mvsas/mv_64xx.c')
-rw-r--r--drivers/scsi/mvsas/mv_64xx.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/scsi/mvsas/mv_64xx.c b/drivers/scsi/mvsas/mv_64xx.c
index bc75ba7488d8..dec5f96f47a0 100644
--- a/drivers/scsi/mvsas/mv_64xx.c
+++ b/drivers/scsi/mvsas/mv_64xx.c
@@ -33,7 +33,6 @@ static void mvs_64xx_detect_porttype(struct mvs_info *mvi, int i)
33 u32 reg; 33 u32 reg;
34 struct mvs_phy *phy = &mvi->phy[i]; 34 struct mvs_phy *phy = &mvi->phy[i];
35 35
36 /* TODO check & save device type */
37 reg = mr32(MVS_GBL_PORT_TYPE); 36 reg = mr32(MVS_GBL_PORT_TYPE);
38 phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA); 37 phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
39 if (reg & MODE_SAS_SATA & (1 << i)) 38 if (reg & MODE_SAS_SATA & (1 << i))
@@ -63,7 +62,6 @@ static void __devinit mvs_64xx_phy_hacks(struct mvs_info *mvi)
63 mvs_phy_hacks(mvi); 62 mvs_phy_hacks(mvi);
64 63
65 if (!(mvi->flags & MVF_FLAG_SOC)) { 64 if (!(mvi->flags & MVF_FLAG_SOC)) {
66 /* TEST - for phy decoding error, adjust voltage levels */
67 for (i = 0; i < MVS_SOC_PORTS; i++) { 65 for (i = 0; i < MVS_SOC_PORTS; i++) {
68 mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE8); 66 mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE8);
69 mvs_write_port_vsr_data(mvi, i, 0x2F0); 67 mvs_write_port_vsr_data(mvi, i, 0x2F0);
@@ -375,13 +373,7 @@ static int __devinit mvs_64xx_init(struct mvs_info *mvi)
375 mvs_update_phyinfo(mvi, i, 1); 373 mvs_update_phyinfo(mvi, i, 1);
376 } 374 }
377 375
378 /* FIXME: update wide port bitmaps */
379
380 /* little endian for open address and command table, etc. */ 376 /* little endian for open address and command table, etc. */
381 /*
382 * it seems that ( from the spec ) turning on big-endian won't
383 * do us any good on big-endian machines, need further confirmation
384 */
385 cctl = mr32(MVS_CTL); 377 cctl = mr32(MVS_CTL);
386 cctl |= CCTL_ENDIAN_CMD; 378 cctl |= CCTL_ENDIAN_CMD;
387 cctl |= CCTL_ENDIAN_DATA; 379 cctl |= CCTL_ENDIAN_DATA;
@@ -394,8 +386,8 @@ static int __devinit mvs_64xx_init(struct mvs_info *mvi)
394 tmp |= PCS_CMD_RST; 386 tmp |= PCS_CMD_RST;
395 tmp &= ~PCS_SELF_CLEAR; 387 tmp &= ~PCS_SELF_CLEAR;
396 mw32(MVS_PCS, tmp); 388 mw32(MVS_PCS, tmp);
397 /* interrupt coalescing may cause missing HW interrput in some case, 389 /*
398 * and the max count is 0x1ff, while our max slot is 0x200, 390 * the max count is 0x1ff, while our max slot is 0x200,
399 * it will make count 0. 391 * it will make count 0.
400 */ 392 */
401 tmp = 0; 393 tmp = 0;
@@ -632,7 +624,6 @@ static void mvs_64xx_phy_work_around(struct mvs_info *mvi, int i)
632{ 624{
633 u32 tmp; 625 u32 tmp;
634 struct mvs_phy *phy = &mvi->phy[i]; 626 struct mvs_phy *phy = &mvi->phy[i];
635 /* workaround for HW phy decoding error on 1.5g disk drive */
636 mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE6); 627 mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE6);
637 tmp = mvs_read_port_vsr_data(mvi, i); 628 tmp = mvs_read_port_vsr_data(mvi, i);
638 if (((phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >> 629 if (((phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
@@ -765,8 +756,8 @@ static void mvs_64xx_tune_interrupt(struct mvs_info *mvi, u32 time)
765{ 756{
766 void __iomem *regs = mvi->regs; 757 void __iomem *regs = mvi->regs;
767 u32 tmp = 0; 758 u32 tmp = 0;
768 /* interrupt coalescing may cause missing HW interrput in some case, 759 /*
769 * and the max count is 0x1ff, while our max slot is 0x200, 760 * the max count is 0x1ff, while our max slot is 0x200,
770 * it will make count 0. 761 * it will make count 0.
771 */ 762 */
772 if (time == 0) { 763 if (time == 0) {