> > +enum ib_csum_cap_flags {
> > + IB_CSUM_RX_TCP_UDP = 1 << 0,
> > + IB_CSUM_RX_IP_HDR= 1 << 1,
> > + IB_CSUM_TX_TCP_UDP = 1 << 2,
> > + IB_CSUM_TX_IP_HDR= 1 << 3
> > +};
>
> TPC and UDP should be separate flags.
Can you explain why?
What we are advertising h
> >
> >> hotplug removal is broken...
> >
> > Is this a new regression with these patches?
> >
>
> yes.
>
> after reverting those patches, removal work well without problem.
>
> Thanks
>
> Yinghai
Thanks,
We just found the same failure internally.
Will send a fix shortly.
Yevgeny
--
To unsubs
> > This is V2 of a patch set that adds SRIOV support for ConnectX2 and
> > ConnectX3 HW for Ethernet Link layer. Infiniband and RoCE SRIOV
> > support will be added at later stage
>
> Applied.
Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a mess
From: Yevgeny Petrilin
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index ea2ba68
From: Yevgeny Petrilin
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/mlx4.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4.h
b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
index 3921dbf..a80121a 100644
ne up grabs a FW ownership
semaphone -- all other PFs will find that semaphore taken, and the
driver will not allow them to run.
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
Signed-off-by: Liran Liss
Signed-off-by: Marcel Apfelbaum
---
drivers/net/ethernet/mellanox/mlx4/
From: Jack Morgenstein
When running in SRIOV mode, driver should not automatically start/stop
the mlx4_core upon sensing an HCA internal error -- doing this disables/enables
sriov, which will cause the hypervisor to hang if there are running VMs with
attached VFs.
In addition, on VMs the catas p
From: Marcel Apfelbaum
In the previous implementation mtts are managed by:
1. order - log(mtt segments), 'mtt segment' groups several mtts together.
2. first_seg - segment location relative to mtt table.
In the current implementation:
1. order - log(mtts) rather than segments
2. offset
MAC is our own MAC and we are not in selftest,
or not in force LB mode - drop this packet.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 15 +++
drivers/net/ethernet/mellanox/mlx4/en_tx.c | 20
ation.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/cmd.c | 37 ++
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 32 +-
drivers/net/ethernet/mellanox/mlx4/en_port.c | 77 ---
drivers/net/ethernet/mellanox
changed prototype.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/cmd.c |9 +
drivers/net/ethernet/mellanox/mlx4/main.c| 13 ++-
drivers/net/ethernet/mellanox/mlx4/mcg.c | 218 --
drivers/net/ethernet
From: Jack Morgenstein
Signed-off-by: Jack Morgenstein
---
drivers/infiniband/hw/mlx4/main.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/mlx4/main.c
b/drivers/infiniband/hw/mlx4/main.c
index 34f8a5d..b8279de 100644
--- a/drivers/infiniband
From: Jack Morgenstein
MTTs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request
From: Jack Morgenstein
Passing async events to slaves:
In SRIOV mode, each slave creates its own async EQ, but only the master can
register directly with the FW to receive async events. Async events which
should be passed to slaves (such as a WQ_ACCESS_ERROR for a QP owned by a slave)
are genera
From: Jack Morgenstein
CQs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request"
From: Jack Morgenstein
QPs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request"
From: Jack Morgenstein
SRQs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request
e the FW close
port command
until the last port user issues a CLOSE_PORT request.
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
Signed-off-by: Marcel Apfelbaum
---
drivers/net/ethernet/mellanox/mlx4/fw.c | 291 +
drivers/net/ethernet/mellanox
From: Yevgeny Petrilin
When SRIOV is enabled, pf and vfs communicate via shared comm channel.
The vf gets its side of the comm channel via a VF BAR.
Each VF (slave) creates its vHCR (virtual HCA Command Register),
Its DMA address is passed to the PF (master) using Communication Channel
Register
From: Jack Morgenstein
When SRIOV is enabled on the chip (at FW burning time),
the HCA uses only 17 bits for the PD. The remaining 7 high-order bits
are ignored.
Change the allocator to return only 17 bits for the PD. The MSB 7
bits will be used to encode the slave number for consistency
checki
From: Jack Morgenstein
For SRIOV, some Hypervisor commands can be executed directly (native = 1).
Others should go through the command wrapper flow (for tracking resource
usage, for example, or for changing some HCA configurations that slaves
need to be notified of).
This patch sets the groundwo
ical ports belong to same function)
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
---
drivers/infiniband/hw/mlx4/main.c |2 +-
drivers/net/ethernet/mellanox/mlx4/main.c |4 +---
include/linux/mlx4/device.h | 13 ++---
3 files changed, 8
From: Jack Morgenstein
These changes will not affect module operation as yet. They
are only to get some structs and enums in place for use by
subsequent patches (making those smaller).
Added here:
* sriov state structs and inlines (mlx4_is_master/slave/mfunc)
* comm-channel and vhcr support stru
Hello David,
This is V2 of a patch set that adds SRIOV support for ConnectX2 and ConnectX3
HW for Ethernet Link layer.
Infiniband and RoCE SRIOV support will be added at later stage
In ConnectX, nearly all device resources can be associated with any function.
Once allocated, these resources can
ne up grabs a FW ownership
semaphore -- all other PFs will find that semaphore taken, and the
driver will not allow them to run.
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
Signed-off-by: Liran Liss
Signed-off-by: Marcel Apfelbaum
---
drivers/net/ethernet/mellanox/mlx4/
From: Yevgeny Petrilin
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index ea2ba68
From: Yevgeny Petrilin
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/mlx4.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4.h
b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
index 3921dbf..a80121a 100644
From: Jack Morgenstein
When running in SRIOV mode, driver should not automatically start/stop
the mlx4_core upon sensing an HCA internal error -- doing this disables/enables
sriov, which will cause the hypervisor to hang if there are running VMs with
attached VFs.
In addition, on VMs the catas p
From: Marcel Apfelbaum
In the previous implementation mtts are managed by:
1. order - log(mtt segments), 'mtt segment' groups several mtts together.
2. first_seg - segment location relative to mtt table.
In the current implementation:
1. order - log(mtts) rather than segments
2. offset
MAC is our own MAC and we are not in selftest,
or not in force LB mode - drop this packet.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 15 +++
drivers/net/ethernet/mellanox/mlx4/en_tx.c | 20
ation.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/cmd.c | 37 ++
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 32 +-
drivers/net/ethernet/mellanox/mlx4/en_port.c | 77 ---
drivers/net/ethernet/mellanox
changed prototype.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/cmd.c |9 +
drivers/net/ethernet/mellanox/mlx4/main.c| 13 ++-
drivers/net/ethernet/mellanox/mlx4/mcg.c | 218 --
drivers/net/ethernet
From: Jack Morgenstein
Signed-off-by: Jack Morgenstein
---
drivers/infiniband/hw/mlx4/main.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/mlx4/main.c
b/drivers/infiniband/hw/mlx4/main.c
index 34f8a5d..b8279de 100644
--- a/drivers/infiniband
From: Jack Morgenstein
Passing async events to slaves:
In SRIOV mode, each slave creates its own async EQ, but only the master can
register directly with the FW to receive async events. Async events which
should be passed to slaves (such as a WQ_ACCESS_ERROR for a QP owned by a slave)
are genera
From: Jack Morgenstein
MTTs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request
From: Jack Morgenstein
CQs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request"
From: Jack Morgenstein
QPs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request"
From: Jack Morgenstein
SRQs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request
e the FW close
port command
until the last port user issues a CLOSE_PORT request.
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
Signed-off-by: Marcel Apfelbaum
---
drivers/net/ethernet/mellanox/mlx4/fw.c | 291 +
drivers/net/ethernet/mellanox
From: Yevgeny Petrilin
When SRIOV is enabled, pf and vfs communicate via shared comm channel.
The vf gets its side of the comm channel via a VF BAR.
Each VF (slave) creates its vHCR (virtual HCA Command Register),
Its DMA address is passed to the PF (master) using Communication Channel
Register
From: Jack Morgenstein
When SRIOV is enabled on the chip (at FW burning time),
the HCA uses only 17 bits for the PD. The remaining 7 high-order bits
are ignored.
Change the allocator to return only 17 bits for the PD. The MSB 7
bits will be used to encode the slave number for consistency
checki
From: Jack Morgenstein
For SRIOV, some Hypervisor commands can be executed directly (native = 1).
Others should go through the command wrapper flow (for tracking resource
usage, for example, or for changing some HCA configurations that slaves
need to be notified of).
This patch sets the groundwo
ical ports belong to same function)
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
---
drivers/infiniband/hw/mlx4/main.c |2 +-
drivers/net/ethernet/mellanox/mlx4/main.c |4 +---
include/linux/mlx4/device.h | 13 ++---
3 files changed, 8
From: Jack Morgenstein
These changes will not affect module operation as yet. They
are only to get some structs and enums in place for use by
subsequent patches (making those smaller).
Added here:
* sriov state structs and inlines (mlx4_is_master/slave/mfunc)
* comm-channel and vhcr support stru
Hello David,
This is V1 of a patch set that adds SRIOV support for ConnectX2 and ConnectX3
HW for Ethernet Link layer.
Infiniband and RoCE SRIOV support will be added at later stage
In ConnectX, nearly all device resources can be associated with any function.
Once allocated, these resources can
> > 1. Added module parameters sr_iov and probe_vf for controlling enablement of
> >SRIOV mode.
>
> This sort of option is useful in many drivers, and ideally would be
> specified in some generic way rather than a module parameters. However
> I can't see a good way to make it configurable aft
> > return mlx4_cmd(dev, limit_watermark, srq_num, 0, MLX4_CMD_ARM_SRQ,
> > - MLX4_CMD_TIME_CLASS_B);
> > + MLX4_CMD_TIME_CLASS_B, 0);
>
> Instead of a 0 or 1 for the native parameter, can we define something like
>
> enum {
>MLX4_CMD
MAC is our own MAC and we are not in selftest,
or not in force LB mode - drop this packet.
Signed-off-by: Eugenia Emantayev
Reviewed-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 15 +++
drivers/net/ethernet/mellanox/mlx4/en_tx.c | 20
From: Yevgeny Petrilin
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index ea2ba68
From: Yevgeny Petrilin
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/mlx4.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4.h
b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
index 3921dbf..a80121a 100644
ne up grabs a FW ownership
semaphone -- all other PFs will find that semaphore taken, and the
driver will not allow them to run.
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
Signed-off-by: Liran Liss
---
drivers/net/ethernet/mellanox/mlx4/cmd.c | 170 ++-
driver
From: Jack Morgenstein
When running in SRIOV mode, driver should not automatically start/stop
the mlx4_core upon sensing an HCA internal error -- doing this disables/enables
sriov, which will cause the hypervisor to hang if there are running VMs with
attached VFs.
In addition, on VMs the catas p
From: Marcel Apfelbaum
Date: Wed, 30 Nov 2011 19:57:41 +0200
Subject: [PATCH 17/21] mlx4_core: mtts resources units changed to offset
In the previous implementation mtts are managed by:
1. order - log(mtt segments), 'mtt segment' groups several mtts together.
2. first_seg - segment location r
.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/cmd.c | 37 ++
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 32 +-
drivers/net/ethernet/mellanox/mlx4/en_port.c | 75 ---
drivers/net/ethernet/mellanox/mlx4
changed prototype.
Signed-off-by: Eugenia Emantayev
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/cmd.c |9 +
drivers/net/ethernet/mellanox/mlx4/main.c| 18 ++-
drivers/net/ethernet/mellanox/mlx4/mcg.c | 216 --
drivers/net/ethernet
From: Jack Morgenstein
Signed-off-by: Jack Morgenstein
---
drivers/infiniband/hw/mlx4/main.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/mlx4/main.c
b/drivers/infiniband/hw/mlx4/main.c
index 35b876e..ee9c41b 100644
--- a/drivers/infiniband
From: Jack Morgenstein
Passing async events to slaves:
In SRIOV mode, each slave creates its own async EQ, but only the master can
register directly with the FW to receive async events. Async events which
should be passed to slaves (such as a WQ_ACCESS_ERROR for a QP owned by a slave)
are genera
From: Jack Morgenstein
MTTs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request
From: Jack Morgenstein
CQs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request"
From: Jack Morgenstein
QPs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request"
From: Jack Morgenstein
SRQs are resources which are allocated and tracked by the PF driver.
In multifunction mode, the allocation and icm mapping is done in
the resource tracker (later patch in this sequence).
To accomplish this, we have "work" functions whose names start with
"__", and "request
e the FW close
port command
until the last port user issues a CLOSE_PORT request.
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
---
drivers/net/ethernet/mellanox/mlx4/fw.c | 281 +
drivers/net/ethernet/mellanox/mlx4/fw.h | 23 +++
driver
From: Yevgeny Petrilin
When SRIOV is enabled, pf and vfs communicate via shared comm channel.
The vf gets its side of the comm channel via a VF BAR.
Each VF (slave) creates its vHCR (virtual HCA Command Register),
Its DMA address is passed to the PF (master) using Communication Channel
Register
From: Jack Morgenstein
For SRIOV, some Hypervisor commands can be executed directly (native = 1).
Others should go through the command wrapper flow (for tracking resource
usage, for example, or for changing some HCA configurations that slaves
need to be notified of).
This patch sets the groundwo
From: Jack Morgenstein
When SRIOV is enabled on the chip (at FW burning time),
the HCA uses only 17 bits for the PD. The remaining 7 high-order bits
are ignored.
Change the allocator to return only 17 bits for the PD. The MSB 7
bits will be used to encode the slave number for consistency
checki
stage
(in single function mode, both physical ports belong to same function)
Signed-off-by: Jack Morgenstein
Signed-off-by: Yevgeny Petrilin
---
drivers/infiniband/hw/mlx4/main.c |2 +-
drivers/net/ethernet/mellanox/mlx4/main.c |4 +---
include/linux/mlx4/device.h
From: Jack Morgenstein
These changes will not affect module operation as yet. They
are only to get some structs and enums in place for use by
subsequent patches (making those smaller).
Added here:
* sriov state structs and inlines (mlx4_is_master/slave/mfunc)
* comm-channel and vhcr support stru
Hello David,
This patch set adds SRIOV support for ConnectX2 and ConnectX3 HW for Ethernet
Link layer.
Infiniband and RoCE SRIOV support will be added at later stage
In ConnectX, nearly all device resources can be associated with any function.
Once allocated, these resources can be manipulated e
> > Fix a leak of entry if radix_tree_insert() fails.
> > Also, reduce the indentation and make the flow easier to read
>
> Looks fine to me
>
> Acked-by: Or Gerlitz
>
> Yevgeny?
>
The fix is OK.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message
For older FW versions, when a Mac address removed from Mac table,
we should set 0 for reference count for the corresponding Mac index.
Fixes a bug where removing Mac from the table still left that entry as
invalid.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/port.c |9 ++---
1
For older FW versions, fixing the usage of per port Mac table.
For each port we must define the base QP number, which is passed
to the HW.
Setting the correct value in SET_PORT FW command to enable the steering.
Reported-by: Roland Dreier
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4
For older FW versions, fixing the usage of per port Mac table.
For each port we must define the base QP number, which is passed
to the HW.
Setting the correct value in SET_PORT FW command to enable the steering.
Reported-by: Roland Dreier
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4
Hello Roland,
I'll check this ASAP.
Thanks,
Yevgeny
> -Original Message-
> From: Roland Dreier [mailto:rol...@purestorage.com] On Behalf Of Roland
> Dreier
> Sent: Friday, July 29, 2011 12:05 AM
> To: Yevgeny Petrilin
> Cc: net...@vger.kernel.org; linux-rdma@vg
> + if (err)
> + mlx4_uc_steer_release(dev, port, mac, *qpn,
> 1);
>
> Don't you need to free prevously allocated entry here if insert fail?
Yes, this fix will be included in next round of patches.
As specified in pci.ids
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/main.c | 15 +++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/drivers/net/mlx4/main.c b/drivers/net/mlx4/main.c
index 782f11d..d67123d 100644
--- a/drivers/net/mlx4/main.c
+++ b
>
> So the modified code works with older firmware, good news, Yevgeny, does
> this apply also to UC/MC steering patches which Tziporet mentioned recently?
The UC/MC steering checks fw capabilities bits, so it for older FW it would
work in traditional way.
N�r��yb�X��ǧv�^�){.n�+{�
This was already fixed.
Even in case when the kernel is not able to provide us with required number of
MSI-X vectores,
The driver then requests the number that the kernel is ready to give (12 in the
given case).
--Yevgeny
> -Original Message-
> From: linux-rdma-ow...@vger.kernel.org
>
> The mlx4_core driver allocates 'nreq' msix vectors (and irqs),
> where:
>
> nreq = min_t(int, dev->caps.num_eqs - dev->caps.reserved_eqs,
> num_possible_cpus() + 1);
>
> ConnectX HCAs support 512 event queues (4 reserved). On a system with enough
> processors, we get:
>
> mlx4
The firmware should be aware of the function a resource is opened on.
The function number is passed in the lower bits of input paramater.
Non multi-function firmware masks these bits.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 58
quot; them to the slave's
EQ using Firmware "GEN_EQE" command.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 258 +++---
drivers/net/mlx4/eq.c | 296 +++
drivers/net/mlx4/main.c
Both Unicast and multicast addresses are using the same table
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/mlx4.h |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/mlx4/mlx4.h b/drivers/net/mlx4/mlx4.h
index 8530032..7a7f787 100644
--- a/drivers/net
promisc QP is registered to all entries that belong to the same
port and
also for the default entry.
In fw where this feature is not supported, using the Mac table steering.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 10 +-
drivers/net/mlx4/en_netdev.c | 55
In multifunction device, a certain function can initialize its port after some
other function already done that. In that case link event would not be
generated.
Need to query the port to retrieve the port state.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/en_netdev.c | 10
For physical slaves, Mac address is retreived from static configuration.
For virtual slaves get random Macs.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/fw.c | 64 +
drivers/net/mlx4/fw.h |6
2 files changed, 70 insertions
.
The VLAN filter is a bitwise OR of all the VLAN filters for all functions,
the result is a false-positive filter.
All port configuration is moved to the mlx4_core module
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 41 +--
drivers/net/mlx4/en_port.c | 105
Ethernet ports now need to register to the multicast groups, we can not longer
use the default multicast queue per port because of the multiple "clients" per
port.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/infiniband/hw/mlx4/main.c |6 +-
drivers/net/
the master function.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c |8
drivers/net/mlx4/fw.c | 36 ++--
drivers/net/mlx4/fw.h |1 +
drivers/net/mlx4/main.c | 19 ---
drivers/net/mlx4/mlx4.h
are not the owner.
A physical function that is not primary would behave as slave.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/fw.c |4
drivers/net/mlx4/fw.h |1 +
drivers/net/mlx4/main.c | 32 ++--
drivers/net/mlx4/mlx4.h
Add virtual function device ids. Setting VF flag to device private data
Establish comm channel when sriov is enabled, and boot vfs through it.
Each slave gets one msi-X for completions, the master also gets one for
async events.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
Only master function needs to configure eq asynch events, and initialize
resource
allocators.
Only the master function polls for fatal events.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cq.c |4 +++
drivers/net/mlx4/eq.c | 52
Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c |9 ++
drivers/net/mlx4/fw.c | 39 +
drivers/net/mlx4/fw.h |4 ++
drivers/net/mlx4/main.c | 67 ++-
drivers/net/mlx4/mlx4.h
Affiliated and unaffiliated asynch events are handled by a single EQ owned by
the master. A per-slave SW event queue is added to log and dispatch both
slave-specific
events and events that apply to all slaves.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4
.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 58 +++
drivers/net/mlx4/en_netdev.c | 32 +++---
drivers/net/mlx4/en_port.c |1 +
drivers/net/mlx4/en_port.h | 12 ++-
drivers/net/mlx4/en_rx.c | 11 +--
drivers/net/mlx4
slave.
Slaves can then reserve resource ranges and allocate ICM over the comm channel.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 110 +
drivers/net/mlx4/cq.c| 91 +---
drivers/net/mlx4/mlx4
Used by vfs to modify mtts, since they cannot access in-memory mtts directly.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 10 +-
drivers/net/mlx4/mlx4.h |5 +++
drivers/net/mlx4/mr.c | 67
(vHCR) in each slave function, which allows it to pass FW commands to the master
function for execution.
The slave also uses the vHCR to pull slave-specific events from the master.
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/cmd.c | 746
Signed-off-by: Liran Liss
Signed-off-by: Yevgeny Petrilin
---
include/linux/mlx4/device.h | 19 +++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 7a7f9c1..84de4a6 100644
--- a/include/linux/mlx4
Hello Roland,
This is another round of SRIOV support patches for mlx4.
Currently the support is for the mlx4_core and mlx4_en modules.
The main changes from previous round are:
1. Events on the Communication channel, no more polling.
2. Steering mechanism change for Ethernet traffic.
Thanks,
Yevge
Hello Roland,
We plan to submit SRIOV support patches this week for the low level and
Ethernet drivers.
This code should not contradict with the RoCEE patches submitted by Eli
(patches generating against tree without RoCEE would fail on a tree with
RoCee). So which tree should we generate the pa
Instead always setting all the TX cqs to use comletion vector 0,
let the mlx4_core to distribute them to avoid situation where some eqs
are very loaded while other do nothing.
Signed-off-by: Yevgeny Petrilin
---
drivers/net/mlx4/en_cq.c |2 +-
1 files changed, 1 insertions(+), 1 deletions
1 - 100 of 163 matches
Mail list logo