RE: [PATCH for-next 1/2] IB/core: Add support for RX/TX checksum offload capabilities report

2015-08-05 Thread Yevgeny Petrilin
> > +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

RE: [PATCH net-next V2 00/21] net/mlx4: SRIOV support

2012-01-02 Thread Yevgeny Petrilin
> > > >> 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

RE: [PATCH net-next V2 00/21] net/mlx4: SRIOV support

2011-12-13 Thread Yevgeny Petrilin
> > 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

[PATCH net-next V0 21/21] mlx4_en: updated driver version to 2.0

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 20/21] mlx4_core: updated driver version to 1.1

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 19/21] mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet

2011-12-13 Thread Yevgeny Petrilin
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/

[PATCH net-next V2 18/21] mlx4_core: adjust catas operation for SRIOV mode

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 17/21] mlx4_core: mtts resources units changed to offset

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 16/21] mlx4_en: Allow communication between functions on same host

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 15/21] mlx4: Ethernet port management modifications

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 14/21] mlx4: Traffic steering management support for SRIOV

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 13/21] mlx4_ib: disable SRIOV mode for IB ports (not yet supported)

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 10/21] mlx4_core: mtt modifications for SRIOV

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 11/21] mlx4_core: Add wrapper functions and comm channel and slave event support to EQs

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 09/21] mlx4_core: cq modifications for SRIOV

2011-12-13 Thread Yevgeny Petrilin
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"

[PATCH net-next V2 08/21] mlx4_core: qp modifications for SRIOV

2011-12-13 Thread Yevgeny Petrilin
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"

[PATCH net-next V2 07/21] mlx4_core: srq modifications for SRIOV

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 06/21] mlx4_core: Added FW commands and their wrappers for supporting SRIOV

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 05/21] net/mlx4_core: Implement the master-slave communication channel

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 04/21] mlx4_core: Reduce number of PD bits to 17

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 03/21] mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed)

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 02/21] mlx4: Extanding port_mask functionality

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 01/21] mlx4_core: initial header-file changes for SRIOV support

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V2 00/21] net/mlx4: SRIOV support

2011-12-13 Thread Yevgeny Petrilin
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

[PATCH net-next V1 19/21] mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet

2011-12-12 Thread Yevgeny Petrilin
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/

[PATCH net-next V1 21/21] mlx4_en: updated driver version to 2.0

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 20/21] mlx4_core: updated driver version to 1.1

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 18/21] mlx4_core: adjust catas operation for SRIOV mode

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 17/21] mlx4_core: mtts resources units changed to offset

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 16/21] mlx4_en: Allow communication between functions on same host

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 15/21] mlx4: Ethernet port management modifications

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 14/21] mlx4: Traffic steering management support for SRIOV

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 13/21] mlx4_ib: disable SRIOV mode for IB ports (not yet supported)

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 11/21] mlx4_core: Add wrapper functions and comm channel and slave event support to EQs

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 10/21] mlx4_core: mtt modifications for SRIOV

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 09/21] mlx4_core: cq modifications for SRIOV

2011-12-12 Thread Yevgeny Petrilin
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"

[PATCH net-next V1 08/21] mlx4_core: qp modifications for SRIOV

2011-12-12 Thread Yevgeny Petrilin
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"

[PATCH net-next V1 07/21] mlx4_core: srq modifications for SRIOV

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 06/21] mlx4_core: Added FW commands and their wrappers for supporting SRIOV

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 05/21] net/mlx4_core: Implement the master-slave communication channel

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 04/21] mlx4_core: Reduce number of PD bits to 17

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 03/21] mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed)

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 02/21] mlx4: Extanding port_mask functionality

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 01/21] mlx4_core: initial header-file changes for SRIOV support

2011-12-12 Thread Yevgeny Petrilin
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

[PATCH net-next V1 00/21] net/mlx4: SRIOV support

2011-12-12 Thread Yevgeny Petrilin
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

RE: [PATCH net-next V0 19/21] mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet

2011-12-06 Thread Yevgeny Petrilin
> > 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

RE: [PATCH net-next V0 03/21] mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed)

2011-12-04 Thread Yevgeny Petrilin
> >        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

[PATCH net-next V0 16/21] mlx4_en: Allow communication between functions on same host

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 21/21] mlx4_en: updated driver version to 2.0

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 20/21] mlx4_core: updated driver version to 1.1

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 19/21] mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 18/21] mlx4_core: adjust catas operation for SRIOV mode

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 17/21] mlx4_core: mtts resources units changed to offset

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 15/21] mlx4: Ethernet port management modifications

2011-12-02 Thread Yevgeny Petrilin
. 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

[PATCH net-next V0 14/21] mlx4: Traffic steering management support for SRIOV

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 13/21] mlx4_ib: disable SRIOV mode for IB ports (not yet supported)

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 11/21] mlx4_core: Add wrapper functions and comm channel and, slave event support to EQs

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 10/21] mlx4_core: mtt modifications for SRIOV

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 09/21] mlx4_core: cq modifications for SRIOV

2011-12-02 Thread Yevgeny Petrilin
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"

[PATCH net-next V0 08/21] mlx4_core: qp modifications for SRIOV

2011-12-02 Thread Yevgeny Petrilin
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"

[PATCH net-next V0 07/21] mlx4_core: srq modifications for SRIOV

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 06/21] mlx4_core: Added FW commands and their wrappers for supporting SRIOV

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 05/21] mlx4_core: Implement the master-slave, communication channel

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 03/21] mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed)

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 04/21] mlx4_core: Reduce number of PD bits to 17

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 02/21] net/mlx4: Extending port_mask functionality

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 01/21] mlx4_core: initial header-file changes for SRIOV support

2011-12-02 Thread Yevgeny Petrilin
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

[PATCH net-next V0 00/21] net/mlx4: SRIOV support

2011-12-02 Thread Yevgeny Petrilin
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

RE: [PATCH/RFC] mlx4_core: Clean up error flow in mlx4_register_mac()

2011-09-21 Thread Yevgeny Petrilin
> > 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

[PATCH] mlx4: decreasing ref count when removing mac

2011-08-04 Thread Yevgeny Petrilin
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

[PATCH] mlx4: Fixing Ethernet unicast packet steering

2011-08-03 Thread Yevgeny Petrilin
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

[PATCH] mlx4: Fixing Ethernet unicast packet steering

2011-08-03 Thread Yevgeny Petrilin
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

RE: "mlx4_en: Enabling new steering" brokenness

2011-07-28 Thread Yevgeny Petrilin
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

RE: [PATCH 17/19 V4] mlx4: Using mcg tables for Ethernet Unicast steering.

2010-12-13 Thread Yevgeny Petrilin
> +                       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.

[PATCH] mlx4: Adding CX3 device IDs

2010-12-07 Thread Yevgeny Petrilin
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

RE: [PATCH V2] mlx4: Protocol distinction

2010-12-01 Thread Yevgeny Petrilin
> > 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�+{�

RE: mlx4_core unable to use MSI-x on our nodes

2010-07-25 Thread Yevgeny Petrilin
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 >

RE: [PATCH/RFC] mlx4_core: module param to limit msix vec allocation

2010-06-17 Thread Yevgeny Petrilin
> 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

[PATCH 15/19 V4] mlx4_core: Adding VEP number in resource allocation

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 19/19 V4] mlx4: Communication channel interrupts

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 18/19 V4] mlx4_core: setting MGM entry size to 512

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 17/19 V4] mlx4: Using mcg tables for Ethernet Unicast steering.

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 16/19 V4] mlx4_en: querying link state

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 13/19 V4] mlx4_core: Giving Mac addresses for slave functions.

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 14/19 V4] mlx4_core: Managing common port configuration by master function

2010-06-10 Thread Yevgeny Petrilin
. 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

[PATCH 12/19 V4] mlx4_core: slave multicast support

2010-06-10 Thread Yevgeny Petrilin
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/

[PATCH 11/19 V4] mlx4_core: Activating ports according to function number

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 10/19 V4] mlx4_core: Determine primary physical function

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 09/19 V4] mlx4_core: boot sriov

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 08/19 V4] mlx4_core: multi-function resource setup

2010-06-10 Thread 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

[PATCH 07/19 V4] mlx4_core: per-function capabilitie

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 06/19 V4] mlx4_core: dispatch slave asynch events

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 05/19 V4] mlx4_core: add port para-virtualization

2010-06-10 Thread Yevgeny Petrilin
. 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

[PATCH 04/19 V4] mlx4_core: add slave resource allocation

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 03/19 V4] mlx4_core: add WRITE_MTT support

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 02/19 V4] mlx4_core: add multi-function communication channel

2010-06-10 Thread Yevgeny Petrilin
(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

[PATCH 01/19 V4] mlx4_core: identify function as pf or vf

2010-06-10 Thread Yevgeny Petrilin
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

[PATCH 00/19 V4] mlx4 SRIOV support

2010-06-10 Thread Yevgeny Petrilin
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

mlx4 SRIOV support

2010-06-06 Thread Yevgeny Petrilin
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

[PATCH 3/3] mlx4_en: use MLX4_LEAST_ATTACHED_VECTOR for TX cqs

2010-05-13 Thread Yevgeny Petrilin
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   2   >