aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2008-06-23 14:02:59 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-06-24 22:59:33 -0400
commit8f85cd7fefa3d01c4e05aac1cb198733336cf44b (patch)
tree7d704246455b35247b6bb4ae40f9c139faf260fd
parent78a655181409d9d0f2b730ccb897c18794826495 (diff)
cxgb3 - add missing adapter type for RDMA
T3C added support is now reflected to the RDMA driver. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/net/cxgb3/cxgb3_offload.c21
-rw-r--r--drivers/net/cxgb3/t3cdev.h3
2 files changed, 22 insertions, 2 deletions
diff --git a/drivers/net/cxgb3/cxgb3_offload.c b/drivers/net/cxgb3/cxgb3_offload.c
index ff9c013ce535..ae6ff5df779c 100644
--- a/drivers/net/cxgb3/cxgb3_offload.c
+++ b/drivers/net/cxgb3/cxgb3_offload.c
@@ -1248,6 +1248,25 @@ static inline void unregister_tdev(struct t3cdev *tdev)
1248 mutex_unlock(&cxgb3_db_lock); 1248 mutex_unlock(&cxgb3_db_lock);
1249} 1249}
1250 1250
1251static inline int adap2type(struct adapter *adapter)
1252{
1253 int type = 0;
1254
1255 switch (adapter->params.rev) {
1256 case T3_REV_A:
1257 type = T3A;
1258 break;
1259 case T3_REV_B:
1260 case T3_REV_B2:
1261 type = T3B;
1262 break;
1263 case T3_REV_C:
1264 type = T3C;
1265 break;
1266 }
1267 return type;
1268}
1269
1251void __devinit cxgb3_adapter_ofld(struct adapter *adapter) 1270void __devinit cxgb3_adapter_ofld(struct adapter *adapter)
1252{ 1271{
1253 struct t3cdev *tdev = &adapter->tdev; 1272 struct t3cdev *tdev = &adapter->tdev;
@@ -1257,7 +1276,7 @@ void __devinit cxgb3_adapter_ofld(struct adapter *adapter)
1257 cxgb3_set_dummy_ops(tdev); 1276 cxgb3_set_dummy_ops(tdev);
1258 tdev->send = t3_offload_tx; 1277 tdev->send = t3_offload_tx;
1259 tdev->ctl = cxgb_offload_ctl; 1278 tdev->ctl = cxgb_offload_ctl;
1260 tdev->type = adapter->params.rev == 0 ? T3A : T3B; 1279 tdev->type = adap2type(adapter);
1261 1280
1262 register_tdev(tdev); 1281 register_tdev(tdev);
1263} 1282}
diff --git a/drivers/net/cxgb3/t3cdev.h b/drivers/net/cxgb3/t3cdev.h
index a18c8a140424..8556628fd5af 100644
--- a/drivers/net/cxgb3/t3cdev.h
+++ b/drivers/net/cxgb3/t3cdev.h
@@ -45,7 +45,8 @@ struct cxgb3_client;
45 45
46enum t3ctype { 46enum t3ctype {
47 T3A = 0, 47 T3A = 0,
48 T3B 48 T3B,
49 T3C,
49}; 50};
50 51
51struct t3cdev { 52struct t3cdev {