-off-by: Andrew Boyer
Signed-off-by: R Mohamed Shah
Signed-off-by: Neel Patel
Signed-off-by: Allen Hubbe
---
v1:
* Rebased to avoid conflicts in release notes
* Added missing links to product briefs in patch 6
v2:
* Split DSC-200 addition into its own patch
* Reverted driver ID string
These fields all need to be LE when talking to the FW.
Fixes: a27d901331da ("net/ionic: add Rx and Tx handling")
Cc: cardigli...@ntop.org
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 27 +++
1 file changed, 15 inserti
This field needs to be LE when talking to the FW.
Fixes: 22e7171bc63b ("net/ionic: support RSS")
Cc: cardigli...@ntop.org
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers
Otherwise the log messages will be garbled.
Fixes: 4ae96cb88fa0 ("net/ionic: do minor logging fixups")
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ionic/ion
Check the match variable after copying cmd info, or else there can
be unexpected results.
Fixes: a27e0e96ab77 ("net/ionic: observe endianness in Rx filter")
Cc: andrew.bo...@amd.com
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rx_filter.c | 2 +-
1 fi
;)
Cc: cardigli...@ntop.org
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c
index 5e8fdf3893..799530f7f5 100644
--- a/dr
Pensando Systems has been acquired by AMD.
Update all copyright strings and email addresses.
Signed-off-by: Andrew Boyer
---
MAINTAINERS| 12 ++--
doc/guides/nics/ionic.rst | 15 +++
doc/guides/rel_notes/release_22_11.rst | 6
Add listed support for the DSC-200.
Signed-off-by: Andrew Boyer
---
doc/guides/nics/ionic.rst | 1 +
1 file changed, 1 insertion(+)
diff --git a/doc/guides/nics/ionic.rst b/doc/guides/nics/ionic.rst
index 82fb0eff9f..f2cdd2b571 100644
--- a/doc/guides/nics/ionic.rst
+++ b/doc/guides/nics
Remove GPL2 and leave only BSD-3-Clause. This is more in line with
the norms of the DPDK community.
Signed-off-by: Andrew Boyer
---
doc/guides/nics/ionic.rst | 2 +-
drivers/net/ionic/ionic.h | 2 +-
drivers/net/ionic/ionic_dev.c | 2 +-
drivers/net/ionic/ionic_dev.h
Test min and max MTU against values read from firmware, for correctness.
Update the firmware field name, for clarity.
The device must be stopped before changing MTU, for correctness.
Store the calculated frame size in the queue, for performance.
Signed-off-by: Andrew Boyer
Signed-off-by: R
There is only one doorbell page in DPDK configurations, so
no helper function is needed.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 13 +
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c
These bits are not used. Remove them to simplify the code.
Fix the spacing on the IONIC_ALIGN #define.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic.h| 1 -
drivers/net/ionic/ionic_dev.h| 4 +---
drivers/net/ionic/ionic_ethdev.h | 2 --
3 files changed, 1 insertion(+), 6
For future support of virtual devices, move the PCI code to its own
file. Create a new device interface, struct ionic_dev_intf, to plug
in to common code.
Signed-off-by: Andrew Boyer
Signed-off-by: Neel Patel
Signed-off-by: R Mohamed Shah
---
drivers/net/ionic/ionic.h | 13
There is no need to allocate the interrupt vector list if
datapath packet interrupts are not enabled.
This conserves resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ionic
Enable the interrupt if the platform & device support it.
This prevents spurious interrupts on virtual platforms.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif
This makes the code safer by helping the compiler catch errors.
Rename the variables, too; they're not callbacks anymore.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 28 +---
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/driver
Free all of the mbufs in the receive queue when the queue is
stopped. This will allow them to be resized when the MTU is
changed.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 16 +
drivers/net/ionic/ionic_dev.h | 2 +
drivers/net/ionic/ionic_lif.c | 32
The first (header) segment includes the standard headroom.
Subsequent segments do not.
Store the fragment counts in the queue structure.
Precalculating improves performance by reducing
how much work must be done in the hot path.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.h
This improves readability.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index 27678ccb6e..93a29a0326 100644
--- a/drivers/net/ionic
These fields don't need to be set in the hot path.
This improves performance.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 38 ++
1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/
/fill.
Signed-off-by: Neel Patel
Signed-off-by: Andrew Boyer
---
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net/ionic/ionic_dev.h | 2 +-
drivers/net/ionic/ionic_lif.c | 49 +-
drivers/net/ionic/ionic_lif.h | 3 +-
drivers/net/ionic/ionic_rxtx.c
Linearize Tx mbuf chains in the info array.
This avoids walking the mbuf chain during flush.
Move a few branches out of the hot path.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 2 +-
drivers/net/ionic/ionic_rxtx.c | 143 -
2 files changed
Use a put() rather than a free() in the optimized case.
Signed-off-by: Andrew Boyer
---
doc/guides/nics/features/ionic.ini | 1 +
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net/ionic/ionic_ethdev.c | 2 +-
drivers/net/ionic/ionic_lif.h | 1 +
drivers/net/ionic
Do bulk allocations to improve performance.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.h | 6 ++
drivers/net/ionic/ionic_rxtx.c | 35 ++
2 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif.h b/drivers
This improves performance by reducing branching.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 63 --
1 file changed, 29 insertions(+), 34 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index
This improves performance by reducing branching.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 47 --
1 file changed, 33 insertions(+), 14 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index
This improves performance, since clients may be able to skip SW
packet classification.
Signed-off-by: Andrew Boyer
---
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net/ionic/ionic_ethdev.c | 1 +
drivers/net/ionic/ionic_rxtx.c | 19 +++
drivers/net/ionic
These may be useful for clients.
Signed-off-by: Andrew Boyer
Signed-off-by: Allen Hubbe
---
doc/guides/nics/features/ionic.ini | 1 +
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net/ionic/ionic_ethdev.c | 2 ++
drivers/net/ionic/ionic_rxtx.c | 39
This may be useful for clients.
Signed-off-by: Andrew Boyer
Signed-off-by: Allen Hubbe
---
doc/guides/nics/features/ionic.ini | 1 +
drivers/net/ionic/ionic_ethdev.c | 1 +
drivers/net/ionic/ionic_rxtx.c | 51 ++
drivers/net/ionic/ionic_rxtx.h | 1 +
4
bining must be enabled to achieve the maximum PPS.
When the queue is in the CMB, descriptors cannot be prefetched.
Signed-off-by: Andrew Boyer
Signed-off-by: Neel Patel
---
doc/guides/nics/ionic.rst | 12 ++
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net/ionic/
Use rte_calloc() where appropriate.
This makes the code clearer.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c | 6 +++---
drivers/net/ionic/ionic_lif.c| 12 ++--
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ionic/ionic_ethdev.c b
This will avoid memory access penalties on NUMA systems.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c| 5 +++--
drivers/net/ionic/ionic_lif.c | 13 -
drivers/net/ionic/ionic_rx_filter.c | 3 +--
3 files changed, 12 insertions(+), 9 deletions(-)
diff
Some clients have opinions about how often to flush the
transmit ring.
The default value is the number of Tx descriptors minus the
default Tx burst size.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.h| 1 +
drivers/net/ionic/ionic_ethdev.c | 4 ++--
drivers/net/ionic
the Rx side if the provided mbufs are
too small to hold the maximum possible frame.
To enable S/G in testpmd, add these args:
--rx-offloads=0x2000 --tx-offloads=0x8000
Signed-off-by: Andrew Boyer
Signed-off-by: R Mohamed Shah
---
doc/guides/rel_notes/release_22_11.rst | 1 +
drivers/net
This improves readability.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 26 --
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c
index 383fff9ffd..1b5932db12 100644
--- a
In some configurations, the FW may return EAGAIN if it is not able
to respond to commands immediately. Retry the init commands in this
case to prevent errors from reaching the client.
Fix up some return-code stuff while here, for clarity.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic
doorbell is missed by the FW.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.h | 4 +++
drivers/net/ionic/ionic_lif.h | 3 ++
drivers/net/ionic/ionic_main.c| 22
drivers/net/ionic/ionic_rxtx.c| 1 +
drivers/net/ionic/ionic_rxtx_sg.c
> On Apr 23, 2021, at 7:42 AM, Ferruh Yigit wrote:
>
> On 12/15/2020 12:26 PM, Ferruh Yigit wrote:
>> On 12/10/2020 2:46 AM, Andrew Boyer wrote:
>>> This RFC is in response to the threads about testpmd mtu settings
>>> and the deprecation of max-rx-pkt-le
> On Nov 18, 2021, at 9:46 AM, Sean Morrissey wrote:
>
> - * updated. Similarly, if @csum_l4 is set the the L4
> + * updated. Similarly, if @csum_l4 is set the L4
This was intended to be ‘then the’ but it’s fine either way.
Thanks,
Andrew
> On Jan 27, 2021, at 12:22 PM, Ferruh Yigit wrote:
>
> On 1/18/2021 8:34 PM, Andrew Boyer wrote:
>> Using the IONIC_ARRAY_SIZE() macro makes the code clearer.
>> Signed-off-by: Andrew Boyer
>
> There is already 'RTE_DIM' macro for it (in
> 'l
> On Jan 27, 2021, at 12:36 PM, Ferruh Yigit wrote:
>
> On 1/18/2021 8:35 PM, Andrew Boyer wrote:
>> This is hot-path function.
>> Signed-off-by: Andrew Boyer
>> Signed-off-by: Neel Patel
>> ---
>> drivers/net/ionic/ionic_dev.c | 6 --
> On Jan 27, 2021, at 12:30 PM, Ferruh Yigit wrote:
>
> On 1/18/2021 8:35 PM, Andrew Boyer wrote:
>> The ionic PMD only supports TX queue version 1 or greater.
>> Version 1 introduced a new SGL format with support for more
>> fragments per descriptor.
>
> On Jan 27, 2021, at 1:02 PM, Ferruh Yigit wrote:
>
> On 1/18/2021 8:34 PM, Andrew Boyer wrote:
>> This patch series fixes some transmit issues, adds (better) support for
>> big-endian systems, and improves performance by stripping down some
>> structures and inlin
Replace copies of size(arr)/size(arr[0]) with RTE_DIM().
Eventually all of these macro definitions should be removed.
Signed-off-by: Andrew Boyer
---
drivers/net/atlantic/atl_hw_regs.h| 2 +-
drivers/net/axgbe/axgbe_common.h | 2 +-
drivers/net/bnx2x/bnx2x.h
Using the RTE_DIM() macro makes the code clearer.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c| 10 --
drivers/net/ionic/ionic_ethdev.c | 3 +--
drivers/net/ionic/ionic_lif.c| 9 +++--
drivers/net/ionic/ionic_main.c | 32
The ionic PMD only supports Tx queue version 1 or greater.
Version 1 introduced a new SGL format with support for more
fragments per descriptor.
Add release notes and an explanation to the docs.
Signed-off-by: Andrew Boyer
---
doc/guides/nics/ionic.rst | 4
doc/guides
> On Feb 1, 2021, at 5:28 PM, Thomas Monjalon wrote:
>
> 29/01/2021 23:44, Andrew Boyer:
>> Replace copies of size(arr)/size(arr[0]) with RTE_DIM().
>> Eventually all of these macro definitions should be removed.
>>
>> Signed-off-by: Andrew Boyer
>> --
consolidated into ionic_main.c as part of the
cleanup.
Next comes some minor performance fixups related to queue posting
and doorbells.
Finally, two minor fixes to Tx packet prep and LIF init.
Signed-off-by: Andrew Boyer
Andrew Boyer (14):
net/ionic: cut down completion queue structure
net/ionic
Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros.
Use a precomputed size mask.
This will conserve resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 14 +++---
drivers/net/ionic/ionic_dev.h | 14 +++---
drivers/net/ionic/ionic_lif.c | 5
The adminq is the only caller of ionic_q_service(), so absorb it
into ionic_adminq_service().
Move all of the adminq code together into ionic_main.c.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic.h | 13 +
drivers/net/ionic/ionic_dev.c | 85
Drop the callback part of the object and store only the pointers.
This saves a bit of space and simplifies the code.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 8 ++--
drivers/net/ionic/ionic_dev.h | 21 +--
drivers/net/ionic/ionic_main.c | 8
This will conserve resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 6 --
drivers/net/ionic/ionic_dev.h | 2 --
drivers/net/ionic/ionic_lif.c | 1 -
drivers/net/ionic/ionic_rxtx.c | 9 +
4 files changed, 5 insertions(+), 13 deletions(-)
diff --git a
This will conserve resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 7 ---
drivers/net/ionic/ionic_lif.h | 1 -
2 files changed, 8 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c
index 1ca6e050ad..462a526935 100644
--- a
This will conserve resources.
Rename ionic_qcq_alloc() arg from 'base' to 'type_name' for clarity.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 14 +++---
drivers/net/ionic/ionic_dev.h | 34 ++-
drivers/net/ion
Create a unique Q-CQ struct for adminq, notifyq, rxq, and txq to
reduce the size of each object.
Minimize the size of each field to squeeze into as few cachelines
as possible.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 153 ++---
drivers/net
Break it up rather than inlining it, so that we can remove
branches from the hot path.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 11 --
drivers/net/ionic/ionic_dev.h | 1 -
drivers/net/ionic/ionic_main.c | 10 -
drivers/net/ionic/ionic_rxtx.c | 37
This improves performance.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 41 +++---
1 file changed, 13 insertions(+), 28 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index c671b34e94..2522c8283a 100644
Rather than dropping the whole burst if some don't fit.
This improves performance.
Signed-off-by: Andrew Boyer
Signed-off-by: Vishwas Danivas
---
drivers/net/ionic/ionic_rxtx.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/dr
Pipe the value from the queue setup routines through to
ionic_qcq_alloc().
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 10 +++---
drivers/net/ionic/ionic_lif.h | 10 ++
drivers/net/ionic/ionic_rxtx.c | 4 ++--
3 files changed, 15 insertions(+), 9 deletions
This was missed when updating to the v1 Tx queue structures.
Store the value in the queue for easy access.
Fixes: 786c64763b50 ("net/ionic: clean up Tx queue version support")
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 6 +-
drivers/net/ionic/ionic_
This improves debuggability.
To see the logs, use EAL arg: --log-level=pmd.net.ionic,debug
While here, stop counting fragments, but start counting mtods.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.h | 2 +-
drivers/net/ionic/ionic_rxtx.c | 13 +++--
2 files changed
The completion type was wrong.
Don't check the completion if the wait timed out.
Fixes: 669c8de67c88 ("net/ionic: support basic LIF")
Cc: cardigli...@ntop.org
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 5 +++--
1 file changed, 3 i
> On Feb 4, 2021, at 2:58 PM, Andrew Boyer wrote:
>
> This patch series reorganizes the main datastructure for each
> queue, struct ionic_qcq. Its constituent struct ionic_queue and
> struct ionic_cq are stripped down first. Then the generic struct
> ionic_qcq is stripped
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c | 4 ++--
drivers/net/ionic/ionic_rxtx.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c
index c9d8493f49..cffe899c07 100644
--- a/drivers
> On Feb 5, 2021, at 3:20 PM, Thomas Monjalon wrote:
>
> 29/01/2021 23:44, Andrew Boyer:
>> The ionic PMD only supports Tx queue version 1 or greater.
>> Version 1 introduced a new SGL format with support for more
>> fragments per descriptor.
>>
>> Add
> On Jan 6, 2021, at 4:35 AM, David Marchand wrote:
>
> On Fri, Dec 11, 2020 at 6:07 PM Andrew Boyer <mailto:abo...@pensando.io>> wrote:
>>
>> Our Coverity scan pointed out that path[] is never initialized.
>> The official DPDK Coverity has not reported t
consolidated into ionic_main.c as part of the
cleanup.
Next comes some minor performance fixups related to queue posting
and doorbells.
Finally, a minor improvement to Tx packet prep and a minor fix
for LIF init.
Signed-off-by: Andrew Boyer
--
v2:
* Resend for new DPDK release cycle
* Insert a new
Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros.
Use a precomputed size mask.
This will conserve resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 14 +++---
drivers/net/ionic/ionic_dev.h | 14 +++---
drivers/net/ionic/ionic_lif.c | 5
This function is unused.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.h | 1 -
drivers/net/ionic/ionic_rx_filter.c | 14 --
drivers/net/ionic/ionic_rx_filter.h | 1 -
3 files changed, 16 deletions(-)
diff --git a/drivers/net/ionic/ionic_dev.h b/drivers/net
The adminq is the only caller of ionic_q_service(), so absorb it
into ionic_adminq_service().
Move all of the adminq code together into ionic_main.c.
Staticize a few things.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic.h | 13 -
drivers/net/ionic/ionic_dev.c | 85
Drop the callback part of the object and store only the pointers.
This saves a bit of space and simplifies the code.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 8 ++--
drivers/net/ionic/ionic_dev.h | 21 +--
drivers/net/ionic/ionic_main.c | 8
This will conserve resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 6 --
drivers/net/ionic/ionic_dev.h | 2 --
drivers/net/ionic/ionic_lif.c | 1 -
drivers/net/ionic/ionic_rxtx.c | 9 +
4 files changed, 5 insertions(+), 13 deletions(-)
diff --git a
Create a unique Q-CQ struct for adminq, notifyq, rxq, and txq to
reduce the size of each object.
Minimize the size of each field to squeeze into as few cachelines
as possible.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 153 ++---
drivers/net
This will conserve resources.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 7 ---
drivers/net/ionic/ionic_lif.h | 1 -
2 files changed, 8 deletions(-)
diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c
index 1ca6e050ad..462a526935 100644
--- a
This will conserve resources.
Rename ionic_qcq_alloc() arg from 'base' to 'type_name' for clarity.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 14 +++---
drivers/net/ionic/ionic_dev.h | 34 ++-
drivers/net/ion
Pipe the value from the queue setup routines through to
ionic_qcq_alloc().
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 10 +++---
drivers/net/ionic/ionic_lif.h | 10 ++
drivers/net/ionic/ionic_rxtx.c | 4 ++--
3 files changed, 15 insertions(+), 9 deletions
This improves debuggability.
To see the logs, use EAL arg: --log-level=pmd.net.ionic,debug
While here, stop counting fragments, but start counting mtods.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.h | 2 +-
drivers/net/ionic/ionic_rxtx.c | 13 +++--
2 files changed
Break it up rather than inlining it, so that we can remove
branches from the hot path.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev.c | 11 --
drivers/net/ionic/ionic_dev.h | 1 -
drivers/net/ionic/ionic_main.c | 10 -
drivers/net/ionic/ionic_rxtx.c | 37
This improves performance.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_rxtx.c | 41 +++---
1 file changed, 13 insertions(+), 28 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index 5236cae211..bb67c497a1 100644
Rather than dropping the whole burst if some don't fit.
This improves performance.
Signed-off-by: Andrew Boyer
Signed-off-by: Vishwas Danivas
---
drivers/net/ionic/ionic_rxtx.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/dr
A future patch will allow Tx scatter/gather to be disabled. Store the value
in the queue so it can be changed at runtime based on the configuration.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 6 +-
drivers/net/ionic/ionic_lif.h | 1 +
drivers/net/ionic/ionic_rxtx.c
The completion type was wrong.
Don't check the completion if the wait timed out.
Fixes: 669c8de67c88 ("net/ionic: support basic LIF")
Cc: cardigli...@ntop.org
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 5 +++--
1 file changed, 3 i
> On Feb 22, 2021, at 2:18 PM, Ajit Khaparde wrote:
>
> Add support for forced ethernet speed setting.
> Currently testpmd tries to configure the Ethernet port in autoneg mode.
> It is not possible to set the Ethernet port to a specific speed while
> starting testpmd. In some cases capability
> On Feb 26, 2021, at 6:21 AM, Ferruh Yigit wrote:
>
> On 2/26/2021 6:43 AM, Andrew Rybchenko wrote:
>> On 2/25/21 9:25 PM, Ferruh Yigit wrote:
>>> On 2/22/2021 7:18 PM, Ajit Khaparde wrote:
Add support for forced ethernet speed setting.
Currently testpmd tries to configure the Ether
| 10 ++
> drivers/net/netvsc/hn_var.h | 9 +++--
> drivers/net/virtio/virtio.h | 2 +-
> drivers/net/virtio/virtio_ethdev.c | 6 +++---
> drivers/net/virtio/virtio_ethdev.h | 4
> drivers/vdpa/ifc/ifcvf_vdpa.c | 17 +++--
> 26 files changed, 84 insertions(+), 94 deletions(-)
>
OK for net/ionic
Acked-by: Andrew Boyer
> On Mar 3, 2021, at 3:17 AM, David Marchand wrote:
>
> On Fri, Feb 19, 2021 at 6:55 PM Anatoly Burakov
> wrote:
>>
>> When file truncation fails, the log message attempts to print a path of
>> file we failed to truncate, but this path was never set to anything and,
>> what's worse, was unin
This patchset provides miscellaneous fixes and improvements for
the net/ionic driver used by AMD Pensando devices.
Akshay Dorwat (1):
net/ionic: fix RSS query routine
Andrew Boyer (8):
net/ionic: add stat for completion queue entries processed
net/ionic: increase max supported MTU to 9750
When completion coalescing is turned on in the FW, there will be
fewer CQE than Tx packets. Expose the stat through debug logging.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.h | 1 +
drivers/net/ionic/ionic_rxtx.c| 3 +++
drivers/net/ionic/ionic_rxtx_sg.c
Some configurations want to use values this high internally.
Allow them to do so without modifying the code.
Signed-off-by: Andrew Boyer
Signed-off-by: Bhuvan Mital
---
drivers/net/ionic/ionic_dev.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ionic
The receive side will enable scatter-gather if required based on the
mbuf size. If the client already enabled it in the config, it does
not need to be enabled again. This reduces log output.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 3 ++-
1 file changed, 2 insertions
Use uint8_t instead of u_char. This simplifies the code.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_dev_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ionic/ionic_dev_pci.c
b/drivers/net/ionic/ionic_dev_pci.c
index 5e74a6da71..cbaac2c5bc
From: Neel Patel
This memory may be changed by the hardware, so the volatile
keyword is required for correctness.
Fixes: e86a6fcc7cf3 ("net/ionic: add optimized non-scattered Rx/Tx")
cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
Signed-off-by: Neel Patel
---
drivers/net/ionic/io
From: Vamsi Krishna Atluri
The hardware supports these speeds, so we should report them
correctly.
Signed-off-by: Andrew Boyer
Signed-off-by: Vamsi Krishna Atluri
---
drivers/net/ionic/ionic_ethdev.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ionic/ionic_ethdev.c b
rt RSS")
Cc: cardigli...@ntop.org
Cc: sta...@dpdk.org
Signed-off-by: Akshay Dorwat
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_eth
From: Brad Larson
Assign 32 counters for flexible firmware events. These can be used as
per-port or per-queue counters in certain firmware configurations.
They are displayed as fw_flex_eventX in xstats.
Signed-off-by: Andrew Boyer
Signed-off-by: Brad Larson
---
drivers/net/ionic
From: Neel Patel
They can be batched together this way, reducing the number
of PCIe transactions. This improves transmit PPS by up to 50% in
some configurations.
Signed-off-by: Andrew Boyer
Signed-off-by: Neel Patel
---
drivers/net/ionic/ionic_dev.c | 9 +++--
drivers/net/ionic
("net/ionic: complete release on close")
Cc: sta...@dpdk.org
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c | 30 +++---
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ioni
Use a single device reset command to speed up dev_close(). The LIF stop
and port reset commands are not needed.
This reduces the outage window when restarting the process by about 2ms
plus another 1ms per queue.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_ethdev.c | 3 ---
drivers
process by about 1ms per queue.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic.h | 3 ++
drivers/net/ionic/ionic_lif.c | 81 --
drivers/net/ionic/ionic_lif.h | 12 +++--
drivers/net/ionic/ionic_main.c | 17 ++-
drivers/net/ionic/ionic_rxtx.c | 78
Split the queue_start operation into first-half and second-half helpers.
This allows us to batch up the queue commands during dev_start(), reducing
the outage window when restarting the process by about 1ms per queue.
Signed-off-by: Andrew Boyer
---
drivers/net/ionic/ionic_lif.c | 178
1 - 100 of 367 matches
Mail list logo