mellanox mlx4_core and SR-IOV

Lukas Hejtmanek
2012-08-01T13:40:41Z

Hello,

I tried to use SR-IOV virtualizaton for Mellanox ConnectX2 card with
mlx4_core driver with kernel 3.5.0. I built firware for the IB card with
sriov_en = true, lspci shows:
02:00.0 InfiniBand: Mellanox Technologies MT26428 [ConnectX VPI PCIe 2.0 5GT/s
- IB QDR / 10GigE] (rev b0)
Subsystem: Super Micro Computer Inc Device 0048
Flags: bus master, fast devsel, latency 0, IRQ 24
Memory at fbd00000 (64-bit, non-prefetchable) [size=1M]
Memory at f8800000 (64-bit, prefetchable) [size=8M]
Capabilities: [40] Power Management version 3
Capabilities: [48] Vital Product Data
Capabilities: [9c] MSI-X: Enable+ Count=128 Masked-
Capabilities: [60] Express Endpoint, MSI 00
Capabilities: [100] Alternative Routing-ID Interpretation (ARI)
Capabilities: [148] Device Serial Number 00-25-90-ff-ff-28-09-08
Capabilities: [108] Single Root I/O Virtualization (SR-IOV)
Kernel driver in use: mlx4_core

however, the driver complains:
[ 3.558221] mlx4_core 0000:02:00.0: Enabling sriov with:4 vfs
[ 3.558296] mlx4_core 0000:02:00.0: not enough MMIO resources for SR-IOV (nres: 0, iov->nres: 1)
[ 3.558299] mlx4_core 0000:02:00.0: Failed to enable sriov,continuing without sriov enabled (err = -12).

Is there any workaround for this? Or the bug is in BIOS and without a proper
fix this is never gonna work?

Perhaps, are there any persons more suitable for these kind of questions?