diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-07-11 01:14:43 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-07-17 23:06:35 +0100 |
commit | 0095e18d4cbae587d846b51aa6426de1a15f42fa (patch) | |
tree | 9849e1fa3731f4004c748f8289e4d471289f1a32 /src/drivers | |
parent | 773028d34e8b5fd2a707b7bccda144dcedb771e1 (diff) | |
download | ipxe-0095e18d4cbae587d846b51aa6426de1a15f42fa.tar.gz |
[infiniband] Expose supported and enabled link speeds and widths
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/infiniband/linda.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/drivers/infiniband/linda.c b/src/drivers/infiniband/linda.c index c0d69502..fa4c2241 100644 --- a/src/drivers/infiniband/linda.c +++ b/src/drivers/infiniband/linda.c @@ -231,9 +231,9 @@ static void linda_link_state_changed ( struct ib_device *ibdev ) { /* Notify Infiniband core of link state change */ ibdev->port_state = ( link_state + 1 ); - ibdev->link_width = + ibdev->link_width_active = ( link_width ? IB_LINK_WIDTH_4X : IB_LINK_WIDTH_1X ); - ibdev->link_speed = + ibdev->link_speed_active = ( link_speed ? IB_LINK_SPEED_DDR : IB_LINK_SPEED_SDR ); ib_link_state_changed ( ibdev ); } @@ -2213,7 +2213,7 @@ static int linda_init_ib_serdes ( struct linda *linda ) { linda_writeq ( linda, &ibcctrl, QIB_7220_IBCCtrl_offset ); /* Force SDR only to avoid needing all the DDR tuning, - * Mellanox compatibiltiy hacks etc. SDR is plenty for + * Mellanox compatibility hacks etc. SDR is plenty for * boot-time operation. */ linda_readq ( linda, &ibcddrctrl, QIB_7220_IBCDDRCtrl_offset ); @@ -2311,6 +2311,14 @@ static int linda_probe ( struct pci_device *pci, BIT_GET ( &revision, R_ChipRevMajor ), BIT_GET ( &revision, R_ChipRevMinor ) ); + /* Record link capabilities. Note that we force SDR only to + * avoid having to carry extra code for DDR tuning etc. + */ + ibdev->link_width_enabled = ibdev->link_width_supported = + ( IB_LINK_WIDTH_4X | IB_LINK_WIDTH_1X ); + ibdev->link_speed_enabled = ibdev->link_speed_supported = + IB_LINK_SPEED_SDR; + /* Initialise I2C subsystem */ if ( ( rc = linda_init_i2c ( linda ) ) != 0 ) goto err_init_i2c; |