History log of /dpdk/drivers/net/axgbe/axgbe_ethdev.c (Results 1 – 25 of 81)
Revision Date Author Comments
# 186f8e8c 24-Jan-2025 Jesna K E <jesna.k.e@amd.com>

net/axgbe: support TSO

Added TSO (Transmit Segmentation offload) support for axgbe PMD.

Signed-off-by: Jesna K E <jesna.k.e@amd.com>


# f665790a 13-Dec-2023 David Marchand <david.marchand@redhat.com>

drivers: remove redundant newline from logs

Fix places where two newline characters may be logged.

Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chengwen

drivers: remove redundant newline from logs

Fix places where two newline characters may be logged.

Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


# e99981af 12-Aug-2024 David Marchand <david.marchand@redhat.com>

drivers: replace logging helpers

Prepare for the conversion to RTE_LOG_LINE.
Some drivers currently add no \n in the logging macro and
have the callers do it.

Let's invert this logic but again, thi

drivers: replace logging helpers

Prepare for the conversion to RTE_LOG_LINE.
Some drivers currently add no \n in the logging macro and
have the callers do it.

Let's invert this logic but again, thinking about backports, introduce
the change in new macros.

Signed-off-by: David Marchand <david.marchand@redhat.com>

show more ...


# e64f909d 04-Jun-2024 Venkat Kumar Ande <venkatkumar.ande@amd.com>

net/axgbe: modify debug messages

Modify debug messages to get better information from debug logs

Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com>
Acked-by: Selwin Sebastian <selwin.sebas

net/axgbe: modify debug messages

Modify debug messages to get better information from debug logs

Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>

show more ...


# e82b0fe0 04-Jun-2024 Venkat Kumar Ande <venkatkumar.ande@amd.com>

net/axgbe: disable RRC for yellow carp devices

Link stability issues are noticed on Yellow carp platforms when Receiver
Reset Cycle is issued. Since the CDR workaround is disabled on these
platforms

net/axgbe: disable RRC for yellow carp devices

Link stability issues are noticed on Yellow carp platforms when Receiver
Reset Cycle is issued. Since the CDR workaround is disabled on these
platforms, the Receiver Reset Cycle is not needed.

So, avoid issuing rrc on Yellow carp platforms.

Without the fix the user will not get the link UP.

Fixes: a5c7273771e8 ("net/axgbe: add phy programming APIs")
Cc: stable@dpdk.org

Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>

show more ...


# 7b7288b0 04-Jun-2024 Venkat Kumar Ande <venkatkumar.ande@amd.com>

net/axgbe: disable interrupts during device removal

Hardware interrupts are enabled during the init, however, they are not
disabled during close.

Disable all hardware interrupts during close operat

net/axgbe: disable interrupts during device removal

Hardware interrupts are enabled during the init, however, they are not
disabled during close.

Disable all hardware interrupts during close operation to avoid any
issues.

Fixes: 9e890103267e ("net/axgbe: add Rx/Tx setup")
Cc: stable@dpdk.org

Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>

show more ...


# ba6a168a 01-Feb-2024 Sivaramakrishnan Venkat <venkatx.sivaramakrishnan@intel.com>

drivers/net: return number of supported packet types

Missing "RTE_PTYPE_UNKNOWN" ptype causes buffer overflow.
Enhance code such that the dev_supported_ptypes_get()
function pointer now returns the

drivers/net: return number of supported packet types

Missing "RTE_PTYPE_UNKNOWN" ptype causes buffer overflow.
Enhance code such that the dev_supported_ptypes_get()
function pointer now returns the number of elements to
eliminate the need for "RTE_PTYPE_UNKNOWN" as the last item.

Same applied to 'buffer_split_supported_hdr_ptypes_get()' dev_ops too.

Signed-off-by: Sivaramakrishnan Venkat <venkatx.sivaramakrishnan@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# a3ec01b4 05-Jan-2024 Venkat Kumar Ande <venkatkumar.ande@amd.com>

net/axgbe: read and save port property register

Read and save the port property registers once during the device probe
and then use the saved values as they are needed.

This is refactoring for futu

net/axgbe: read and save port property register

Read and save the port property registers once during the device probe
and then use the saved values as they are needed.

This is refactoring for future code readability of the driver.

Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>

show more ...


# 4feb9aa0 15-Nov-2023 Jesna K E <jesna.k.e@amd.com>

net/axgbe: fix Tx function selection

A bug was introduced with the recent fix that when
an offload feature is enabled axgbe_xmit_pkts_vec API is called
rather than axgbe_xmit_pkts API.This patch fix

net/axgbe: fix Tx function selection

A bug was introduced with the recent fix that when
an offload feature is enabled axgbe_xmit_pkts_vec API is called
rather than axgbe_xmit_pkts API.This patch fixes it.

Fixes: 9963b5131af8 ("net/axgbe: support multi-process")
Cc: stable@dpdk.org

Signed-off-by: Jesna K E <jesna.k.e@amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>

show more ...


# 0236016c 08-Sep-2023 Jie Hai <haijie1@huawei.com>

net/axgbe: fix Rx and Tx queue state

The DPDK framework reports the queue state, which is stored in
dev->data->tx_queue_state and dev->data->rx_queue_state. The
state is maintained by the driver. Us

net/axgbe: fix Rx and Tx queue state

The DPDK framework reports the queue state, which is stored in
dev->data->tx_queue_state and dev->data->rx_queue_state. The
state is maintained by the driver. Users may determine whether
a queue participates in packet forwarding based on the state.
Therefore, the driver needs to modify the queue state in time
according to the actual situation.

Fixes: 9ad9ff476cac ("ethdev: add queue state in queried queue information")
Cc: stable@dpdk.org

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# a27ff9ca 04-Oct-2023 Selwin Sebastian <selwin.sebastian@amd.com>

net/axgbe: identify CPU with cpuid

Using root complex to identify CPU will not work for VM passthrough.
cpuid is used to get family and model id to identify CPU.

Fixes: b0db927b5eba ("net/axgbe: us

net/axgbe: identify CPU with cpuid

Using root complex to identify CPU will not work for VM passthrough.
cpuid is used to get family and model id to identify CPU.

Fixes: b0db927b5eba ("net/axgbe: use PCI root complex device to distinguish device")
Cc: stable@dpdk.org

Signed-off-by: Selwin Sebastian <selwin.sebastian@amd.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 9963b513 04-Jan-2023 Jesna K E <jesna.k.e@amd.com>

net/axgbe: support multi-process

Added multi-process support for axgbe PMD.

To achieve multi-process support separate out set Tx and Rx functions
and call them on device for primary process and cal

net/axgbe: support multi-process

Added multi-process support for axgbe PMD.

To achieve multi-process support separate out set Tx and Rx functions
and call them on device for primary process and call from a secondary
process when it is attaching to an already-configured NIC.

Signed-off-by: Jesna K E <jesna.k.e@amd.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 93bffd8f 08-Sep-2022 Bhagyada Modali <bhagyada.modali@amd.com>

net/axgbe: support segmented Tx

Enable segmented Tx support and add jumbo packet transmit capability.

Signed-off-by: Bhagyada Modali <bhagyada.modali@amd.com>
Acked-by: Chandubabu Namburu <chandu@a

net/axgbe: support segmented Tx

Enable segmented Tx support and add jumbo packet transmit capability.

Signed-off-by: Bhagyada Modali <bhagyada.modali@amd.com>
Acked-by: Chandubabu Namburu <chandu@amd.com>

show more ...


# 93041fd5 13-May-2022 Chengwen Feng <fengchengwen@huawei.com>

net/axgbe: fix xstats get return if xstats is null

Many user (e.g. telemetry) invokes rte_eth_xstats_get(port_id, NULL, 0)
to retrieve the required number of elements, but currently axgbe PMD
return

net/axgbe: fix xstats get return if xstats is null

Many user (e.g. telemetry) invokes rte_eth_xstats_get(port_id, NULL, 0)
to retrieve the required number of elements, but currently axgbe PMD
returns zero when xstats is null.

Remove the logic of "return zero when xstats is NULL", and add the logic
of "return the required number of entries when n is lower than the
required number of entries".

Fixes: 9d1ef6b2e731 ("net/axgbe: add xstats")
Cc: stable@dpdk.org

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 3e02a95b 31-Jan-2022 Selwin Sebastian <selwin.sebastian@amd.com>

net/axgbe: disable CDR workaround for Yellow Carp device

Yellow Carp ethernet devices (V3xxx) do not require
autonegotiation CDR workaround, hence disable the same.

Signed-off-by: Selwin Sebastian

net/axgbe: disable CDR workaround for Yellow Carp device

Yellow Carp ethernet devices (V3xxx) do not require
autonegotiation CDR workaround, hence disable the same.

Signed-off-by: Selwin Sebastian <selwin.sebastian@amd.com>
Acked-by: Chandubabu Namburu <chandu@amd.com>

show more ...


# f7706f88 31-Jan-2022 Selwin Sebastian <selwin.sebastian@amd.com>

net/axgbe: support Yellow Carp device

Yellow Carp ethernet devices (V3xxx) use the existing PCI ID but
the window settings for the indirect PCS access have been
altered. Add the check for Yellow Car

net/axgbe: support Yellow Carp device

Yellow Carp ethernet devices (V3xxx) use the existing PCI ID but
the window settings for the indirect PCS access have been
altered. Add the check for Yellow Carp Ethernet devices to
use the new register values.

Signed-off-by: Selwin Sebastian <selwin.sebastian@amd.com>
Acked-by: Chandubabu Namburu <chandu@amd.com>

show more ...


# b0db927b 02-Dec-2021 Chandubabu Namburu <chandu@amd.com>

net/axgbe: use PCI root complex device to distinguish device

"bus/pci: optimize bus scan" broke axgbe on V1000/R1000.
RV root complex pci device does not have any kernel driver assigned
so it is rem

net/axgbe: use PCI root complex device to distinguish device

"bus/pci: optimize bus scan" broke axgbe on V1000/R1000.
RV root complex pci device does not have any kernel driver assigned
so it is removed from pci scan list which is used in
"net/axgbe: add a HW quirk for register definitions".

Get root complex device id directly from pci sysfs instead of
pci scan list.

Fixes: 991e0b1dbc4a ("net/axgbe: add a HW quirk for register definitions")
Cc: stable@dpdk.org

Signed-off-by: Chandubabu Namburu <chandu@amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>

show more ...


# 7be78d02 29-Nov-2021 Josh Soref <jsoref@gmail.com>

fix spelling in comments and strings

The tool comes from https://github.com/jsoref

Signed-off-by: Josh Soref <jsoref@gmail.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>


# d61138d4 22-Oct-2021 Harman Kalra <hkalra@marvell.com>

drivers: remove direct access to interrupt handle

Removing direct access to interrupt handle structure fields,
rather use respective get set APIs for the same.
Making changes to all the drivers acce

drivers: remove direct access to interrupt handle

Removing direct access to interrupt handle structure fields,
rather use respective get set APIs for the same.
Making changes to all the drivers access the interrupt handle fields.

Signed-off-by: Harman Kalra <hkalra@marvell.com>
Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Raslan Darawsheh <rasland@nvidia.com>

show more ...


# 295968d1 22-Oct-2021 Ferruh Yigit <ferruh.yigit@intel.com>

ethdev: add namespace

Add 'RTE_ETH' namespace to all enums & macros in a backward compatible
way. The macros for backward compatibility can be removed in next LTS.
Also updated some struct names to

ethdev: add namespace

Add 'RTE_ETH' namespace to all enums & macros in a backward compatible
way. The macros for backward compatibility can be removed in next LTS.
Also updated some struct names to have 'rte_eth' prefix.

All internal components switched to using new names.

Syntax fixed on lines that this patch touches.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Wisam Jaddo <wisamm@nvidia.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>

show more ...


# b563c142 18-Oct-2021 Ferruh Yigit <ferruh.yigit@intel.com>

ethdev: remove jumbo offload flag

Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.

Instead of drivers announce this capability, application can deduct the
capability by checking reported 'dev_in

ethdev: remove jumbo offload flag

Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.

Instead of drivers announce this capability, application can deduct the
capability by checking reported 'dev_info.max_mtu' or
'dev_info.max_rx_pktlen'.

And instead of application setting this flag explicitly to enable jumbo
frames, this can be deduced by driver by comparing requested 'mtu' to
'RTE_ETHER_MTU'.

Removing this additional configuration for simplification.

Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# f7e04f57 18-Oct-2021 Ferruh Yigit <ferruh.yigit@intel.com>

ethdev: move MTU set check to library

Move requested MTU value check to the API to prevent the duplicated
code.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <a

ethdev: move MTU set check to library

Move requested MTU value check to the API to prevent the duplicated
code.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

show more ...


# dd4e429c 18-Oct-2021 Ferruh Yigit <ferruh.yigit@intel.com>

ethdev: move jumbo frame offload check to library

Setting MTU bigger than RTE_ETHER_MTU requires the jumbo frame support,
and application should enable the jumbo frame offload support for it.

When

ethdev: move jumbo frame offload check to library

Setting MTU bigger than RTE_ETHER_MTU requires the jumbo frame support,
and application should enable the jumbo frame offload support for it.

When jumbo frame offload is not enabled by application, but MTU bigger
than RTE_ETHER_MTU is requested there are two options, either fail or
enable jumbo frame offload implicitly.

Enabling jumbo frame offload implicitly is selected by many drivers
since setting a big MTU value already implies it, and this increases
usability.

This patch moves this logic from drivers to the library, both to reduce
the duplicated code in the drivers and to make behaviour more visible.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Huisong Li <lihuisong@huawei.com>

show more ...


# 1bb4a528 18-Oct-2021 Ferruh Yigit <ferruh.yigit@intel.com>

ethdev: fix max Rx packet length

There is a confusion on setting max Rx packet length, this patch aims to
clarify it.

'rte_eth_dev_configure()' API accepts max Rx packet size via
'uint32_t max_rx_p

ethdev: fix max Rx packet length

There is a confusion on setting max Rx packet length, this patch aims to
clarify it.

'rte_eth_dev_configure()' API accepts max Rx packet size via
'uint32_t max_rx_pkt_len' field of the config struct 'struct
rte_eth_conf'.

Also 'rte_eth_dev_set_mtu()' API can be used to set the MTU, and result
stored into '(struct rte_eth_dev)->data->mtu'.

These two APIs are related but they work in a disconnected way, they
store the set values in different variables which makes hard to figure
out which one to use, also having two different method for a related
functionality is confusing for the users.

Other issues causing confusion is:
* maximum transmission unit (MTU) is payload of the Ethernet frame. And
'max_rx_pkt_len' is the size of the Ethernet frame. Difference is
Ethernet frame overhead, and this overhead may be different from
device to device based on what device supports, like VLAN and QinQ.
* 'max_rx_pkt_len' is only valid when application requested jumbo frame,
which adds additional confusion and some APIs and PMDs already
discards this documented behavior.
* For the jumbo frame enabled case, 'max_rx_pkt_len' is an mandatory
field, this adds configuration complexity for application.

As solution, both APIs gets MTU as parameter, and both saves the result
in same variable '(struct rte_eth_dev)->data->mtu'. For this
'max_rx_pkt_len' updated as 'mtu', and it is always valid independent
from jumbo frame.

For 'rte_eth_dev_configure()', 'dev->data->dev_conf.rxmode.mtu' is user
request and it should be used only within configure function and result
should be stored to '(struct rte_eth_dev)->data->mtu'. After that point
both application and PMD uses MTU from this variable.

When application doesn't provide an MTU during 'rte_eth_dev_configure()'
default 'RTE_ETHER_MTU' value is used.

Additional clarification done on scattered Rx configuration, in
relation to MTU and Rx buffer size.
MTU is used to configure the device for physical Rx/Tx size limitation,
Rx buffer is where to store Rx packets, many PMDs use mbuf data buffer
size as Rx buffer size.
PMDs compare MTU against Rx buffer size to decide enabling scattered Rx
or not. If scattered Rx is not supported by device, MTU bigger than Rx
buffer size should fail.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Hyong Youb Kim <hyonkim@cisco.com>

show more ...


# 8c9f976f 01-Oct-2021 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

ethdev: improve xstats names by IDs get prototype

Adjust parameters order to eth_xstats_get_by_id_t prototype.
Make ids the second parameter similar to eth_xstats_get_by_id_t.

Signed-off-by: Andrew

ethdev: improve xstats names by IDs get prototype

Adjust parameters order to eth_xstats_get_by_id_t prototype.
Make ids the second parameter similar to eth_xstats_get_by_id_t.

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

show more ...


1234