diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-21 09:22:08 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-21 09:22:08 -0800 |
| commit | 52aef8183fbedb0232b20127b089e85e7aa095e3 (patch) | |
| tree | 4c06b3351284f222a9cd825e6f1ea8543e7656c2 /drivers/infiniband/hw/mthca/mthca_main.c | |
| parent | 28c006c1f09ea92d4f2585a087a188955ce3f64c (diff) | |
| parent | fd02e8038eb943755e8727a0ea193c037a51714f (diff) | |
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (47 commits)
IB/mthca: Query SRQ srq_limit fixes
IPoIB: Get rid of useless test of queue length
IB/mthca: Correct reported SRQ size in MemFree case.
IB/mad: Fix oopsable race on device removal
IB/srp: Coverity fix to srp_parse_options()
IB/mthca: Coverity fix to mthca_init_eq_table()
IB: Coverity fixes to sysfs.c
IPoIB: Move ipoib_ib_dev_flush() to ipoib workqueue
IPoIB: Fix build now that neighbour destructor is in neigh_params
IB/uverbs: Use correct alt_pkey_index in modify QP
IB/umad: Add support for large RMPP transfers
IB/srp: Add SCSI host attributes to show target port
IB/cm: Check cm_id state before handling a REP
IB/mthca: Update firmware versions
IB/mthca: Optimize large messages on Sinai HCAs
IB/uverbs: Fix query QP return of sq_sig_all
IB: Fix modify QP checking of "current QP state" attribute
IPoIB: Fix multicast race between canceling and completing
IPoIB: Clean up if posting receives fails
IB/mthca: Use an enum for HCA page size
...
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_main.c')
| -rw-r--r-- | drivers/infiniband/hw/mthca/mthca_main.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c index 9c849d27b06e..266f347c6707 100644 --- a/drivers/infiniband/hw/mthca/mthca_main.c +++ b/drivers/infiniband/hw/mthca/mthca_main.c @@ -935,13 +935,19 @@ enum { static struct { u64 latest_fw; - int is_memfree; - int is_pcie; + u32 flags; } mthca_hca_table[] = { - [TAVOR] = { .latest_fw = MTHCA_FW_VER(3, 3, 3), .is_memfree = 0, .is_pcie = 0 }, - [ARBEL_COMPAT] = { .latest_fw = MTHCA_FW_VER(4, 7, 0), .is_memfree = 0, .is_pcie = 1 }, - [ARBEL_NATIVE] = { .latest_fw = MTHCA_FW_VER(5, 1, 0), .is_memfree = 1, .is_pcie = 1 }, - [SINAI] = { .latest_fw = MTHCA_FW_VER(1, 0, 1), .is_memfree = 1, .is_pcie = 1 } + [TAVOR] = { .latest_fw = MTHCA_FW_VER(3, 4, 0), + .flags = 0 }, + [ARBEL_COMPAT] = { .latest_fw = MTHCA_FW_VER(4, 7, 400), + .flags = MTHCA_FLAG_PCIE }, + [ARBEL_NATIVE] = { .latest_fw = MTHCA_FW_VER(5, 1, 0), + .flags = MTHCA_FLAG_MEMFREE | + MTHCA_FLAG_PCIE }, + [SINAI] = { .latest_fw = MTHCA_FW_VER(1, 0, 800), + .flags = MTHCA_FLAG_MEMFREE | + MTHCA_FLAG_PCIE | + MTHCA_FLAG_SINAI_OPT } }; static int __devinit mthca_init_one(struct pci_dev *pdev, @@ -1031,12 +1037,9 @@ static int __devinit mthca_init_one(struct pci_dev *pdev, mdev->pdev = pdev; + mdev->mthca_flags = mthca_hca_table[id->driver_data].flags; if (ddr_hidden) mdev->mthca_flags |= MTHCA_FLAG_DDR_HIDDEN; - if (mthca_hca_table[id->driver_data].is_memfree) - mdev->mthca_flags |= MTHCA_FLAG_MEMFREE; - if (mthca_hca_table[id->driver_data].is_pcie) - mdev->mthca_flags |= MTHCA_FLAG_PCIE; /* * Now reset the HCA before we touch the PCI capabilities or |
