#
eac901ce |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
ethdev: decouple from PCI device
This makes struct rte_eth_dev independent of struct rte_pci_device by replacing it with a pointer to the generic struct rte_device.
Signed-off-by: Jan Blunck <jblun
ethdev: decouple from PCI device
This makes struct rte_eth_dev independent of struct rte_pci_device by replacing it with a pointer to the generic struct rte_device.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
ae34410a |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
ethdev: move info filling of PCI into drivers
Only the drivers itself can decide if it could fill PCI information fields of dev_info.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shr
ethdev: move info filling of PCI into drivers
Only the drivers itself can decide if it could fill PCI information fields of dev_info.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
0880c401 |
| 15-Dec-2016 |
Olivier Matz <olivier.matz@6wind.com> |
drivers: advertise kmod dependencies in pmdinfo
Add a new macro RTE_PMD_REGISTER_KMOD_DEP() that allows a driver to declare the list of kernel modules required to run properly.
Today, most PCI driv
drivers: advertise kmod dependencies in pmdinfo
Add a new macro RTE_PMD_REGISTER_KMOD_DEP() that allows a driver to declare the list of kernel modules required to run properly.
Today, most PCI drivers require uio/vfio.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
01f19227 |
| 10-Oct-2016 |
Shreyansh Jain <shreyansh.jain@nxp.com> |
drivers: rename register macro prefix
All macros related to driver registeration renamed from DRIVER_* to RTE_PMD_*
This includes:
DRIVER_REGISTER_PCI -> RTE_PMD_REGISTER_PCI DRIVER_REGISTER_PCI
drivers: rename register macro prefix
All macros related to driver registeration renamed from DRIVER_* to RTE_PMD_*
This includes:
DRIVER_REGISTER_PCI -> RTE_PMD_REGISTER_PCI DRIVER_REGISTER_PCI_TABLE -> RTE_PMD_REGISTER_PCI_TABLE DRIVER_REGISTER_VDEV -> RTE_PMD_REGISTER_VDEV DRIVER_REGISTER_PARAM_STRING -> RTE_PMD_REGISTER_PARAM_STRING DRIVER_EXPORT_* -> RTE_PMD_EXPORT_*
Fix PMDINFOGEN tool to look for matches of RTE_PMD_REGISTER_*.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
2f3193cf |
| 20-Sep-2016 |
Jan Viktorin <viktorin@rehivetech.com> |
pci: inherit common driver in PCI driver
Remove the 'name' member from rte_pci_driver and move to generic rte_driver.
Most of the PMD drivers were initially using DRIVER_REGISTER_PCI(<name>..) as w
pci: inherit common driver in PCI driver
Remove the 'name' member from rte_pci_driver and move to generic rte_driver.
Most of the PMD drivers were initially using DRIVER_REGISTER_PCI(<name>..) as well as assigning a name to eth_driver.pci_drv.name member. In this patch, only the original DRIVER_REGISTER_PCI(<name>..) name has been populated into the rte_driver.name member - assignments through eth_driver has been removed.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com> [Shreyansh: Rebase and expand changes to newly added files] Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: David Marchand <david.marchand@6wind.com>
show more ...
|
#
c830cb29 |
| 20-Sep-2016 |
David Marchand <david.marchand@6wind.com> |
drivers: use PCI registration macro
Simplify crypto and ethdev pci drivers init by using newly introduced init macros and helpers. Those drivers then don't need to register as "rte_driver"s anymore.
drivers: use PCI registration macro
Simplify crypto and ethdev pci drivers init by using newly introduced init macros and helpers. Those drivers then don't need to register as "rte_driver"s anymore.
Exceptions: - virtio and mlx* use RTE_INIT directly as they have custom initialization steps. - VDEV devices are not modified - they continue to use PMD_REGISTER_DRIVER.
Update documentation for replacing an example referring to PMD_REGISTER_DRIVER.
Signed-off-by: David Marchand <david.marchand@6wind.com> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
2f45703c |
| 24-Aug-2016 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
drivers: make driver names consistent
As discussed in the past release, driver names are modified to be more consistent, and the future driver should follow this new convention.
Driver names consis
drivers: make driver names consistent
As discussed in the past release, driver names are modified to be more consistent, and the future driver should follow this new convention.
Driver names consist of: "driver category"_"driver folder name"_"optional extra name".
For example: - Crypto null driver -> "crypto_null" - Network IXGBE VF driver -> "net_ixgbe_vf"
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
001a1c0f |
| 04-Jul-2016 |
Zyta Szpak <zyta.szpak@semihalf.com> |
ethdev: get registers width
The ethtool app was allocating too little space for 64-bit registers which resulted in memory corruption.
Removes hard-coded assumption that device registers are always
ethdev: get registers width
The ethtool app was allocating too little space for 64-bit registers which resulted in memory corruption.
Removes hard-coded assumption that device registers are always 32 bits wide. The rte_eth_dev_get_reg_length and rte_eth_dev_get_reg_info callbacks did not provide register size to the app in any way while is needed to allocate correct number of bytes before retrieving registers using rte_eth_dev_get_reg.
This commit changes rte_eth_dev_get_reg_info so that it can be used to retrieve both the number of registers and their width, and removes the now-redundant rte_eth_dev_get_reg_length.
Signed-off-by: Zyta Szpak <zyta.szpak@semihalf.com> Acked-by: Remy Horton <remy.horton@intel.com>
show more ...
|
#
bae696eb |
| 09-Jul-2016 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
drivers: remove static driver names
Since now the PMD_REGISTER_DRIVER macro sets the driver names, there is no need to have the rte_driver structure setting it statically, as it will get overridden.
drivers: remove static driver names
Since now the PMD_REGISTER_DRIVER macro sets the driver names, there is no need to have the rte_driver structure setting it statically, as it will get overridden.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
show more ...
|
#
cb6696d2 |
| 17-Jun-2016 |
Neil Horman <nhorman@tuxdriver.com> |
drivers: update registration macro usage
Modify the PMD_REGISTER_DRIVER macro, adding a name argument to it. The addition of a name argument creates a token that can be used for subsequent macros i
drivers: update registration macro usage
Modify the PMD_REGISTER_DRIVER macro, adding a name argument to it. The addition of a name argument creates a token that can be used for subsequent macros in the creation of unique symbol names to export additional bits of information for use by the pmdinfogen tool. For example:
PMD_REGISTER_DRIVER(ena_driver, ena);
registers the ena_driver struct as it always did, and creates a symbol const char this_pmd_name0[] __attribute__((used)) = "ena";
which pmdinfogen can search for and extract. The subsequent macro
DRIVER_REGISTER_PCI_TABLE(ena, ena_pci_id_map);
creates a symbol const char ena_pci_tbl_export[] __attribute__((used)) = "ena_pci_id_map";
Which allows pmdinfogen to find the pci table of this driver
Using this pattern, we can export arbitrary bits of information.
pmdinfo uses this information to extract hardware support from an object file and create a json string to make hardware support info discoverable later.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Panu Matilainen <pmatilai@redhat.com> Acked-by: Remy Horton <remy.horton@intel.com>
show more ...
|
#
17ba077c |
| 06-May-2016 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: support register dump
Add operations to get register dump.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
|
#
fe0bd9ee |
| 06-May-2016 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: support EEPROM access
Add operations to get/set EEPROM data.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
|
#
a61dc000 |
| 15-Apr-2016 |
Thomas Monjalon <thomas.monjalon@6wind.com> |
ethdev: remove deprecated statistics
Some statistics were deprecated since release 2.1 (49f386542af4). The last deprecated counter to be used was imcasts.
The VF loopback statistics are also remove
ethdev: remove deprecated statistics
Some statistics were deprecated since release 2.1 (49f386542af4). The last deprecated counter to be used was imcasts.
The VF loopback statistics are also removed as they are used only in igb and duplicated in extended statistics.
The new counters should be added to extended statistics.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Remy Horton <remy.horton@intel.com>
show more ...
|
#
e274f573 |
| 31-Mar-2016 |
Marc Sune <marcdevel@gmail.com> |
ethdev: add speed capabilities
The speed capabilities of a device can be retrieved with rte_eth_dev_info_get().
The new field speed_capa is initialized in the drivers without taking care of device
ethdev: add speed capabilities
The speed capabilities of a device can be retrieved with rte_eth_dev_info_get().
The new field speed_capa is initialized in the drivers without taking care of device characteristics in this patch. When the capabilities of a driver are accurate, the table in overview.rst must be filled.
Signed-off-by: Marc Sune <marcdevel@gmail.com>
show more ...
|
#
89b890df |
| 21-Mar-2016 |
Stephen Hemminger <stephen@networkplumber.org> |
drivers: make struct of networking operations const
This structure has immutable function pointers. Also fix indentation.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bru
drivers: make struct of networking operations const
This structure has immutable function pointers. Also fix indentation.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
78a38edf |
| 14-Mar-2016 |
Jianfeng Tan <jianfeng.tan@intel.com> |
ethdev: query supported packet types
Add a new API rte_eth_dev_get_supported_ptypes to query what packet types can be filled by a given device. The device should be already started or its PMD RX bur
ethdev: query supported packet types
Add a new API rte_eth_dev_get_supported_ptypes to query what packet types can be filled by a given device. The device should be already started or its PMD RX burst function already decided, since the packet types supported may vary depending on RX function.
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
86057c99 |
| 10-Mar-2016 |
Igor Ryzhov <iryzhov@nfware.com> |
ethdev: remove missed packets from error counter
Comment for "ierrors" counter says that it counts erroneous received packets. But for some reason "imissed" counter is added to "ierrors" counter in
ethdev: remove missed packets from error counter
Comment for "ierrors" counter says that it counts erroneous received packets. But for some reason "imissed" counter is added to "ierrors" counter in most drivers. It is a mistake, because missed packets are obviously not received. This patch fixes it.
Fixes: 70bdb18657da ("ethdev: add Rx error counters for missed, badcrc and badlen packets") Fixes: 6bfe648406b5 ("i40e: add Rx error statistics") Fixes: 856505d303f4 ("cxgbe: add port statistics")
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com> Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
13b0f500 |
| 25-Feb-2016 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
cxgbe: fix PCI info copy to ports under same PF
Chelsio NIC ports share a single PF. Move rte_eth_copy_pci_info() to copy the pci device information to the remaining ports as well.
Also update lice
cxgbe: fix PCI info copy to ports under same PF
Chelsio NIC ports share a single PF. Move rte_eth_copy_pci_info() to copy the pci device information to the remaining ports as well.
Also update license year to 2016.
Fixes: eeefe73f0af1 ("drivers: copy PCI device info to ethdev data")
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
show more ...
|
#
1c1789cc |
| 12-Feb-2016 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
cxgbe: fix memory leak after initialization failure
Add missing code to free adapter when the device initialization fails.
Fixes: 8318984927ff ("cxgbe: add pmd skeleton")
Reported-by: Seth Arnold
cxgbe: fix memory leak after initialization failure
Add missing code to free adapter when the device initialization fails.
Fixes: 8318984927ff ("cxgbe: add pmd skeleton")
Reported-by: Seth Arnold <seth.arnold@canonical.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
show more ...
|
#
ca26d3b4 |
| 02-Dec-2015 |
Stephen Hemminger <stephen@networkplumber.org> |
cxgbe: use explicit PCI driver structure
The upcoming Hyper-V driver converts the pci_drv element in struct eth_driver to a union. When vmbus is added the pci_drv needs to be explicit. Easier to fi
cxgbe: use explicit PCI driver structure
The upcoming Hyper-V driver converts the pci_drv element in struct eth_driver to a union. When vmbus is added the pci_drv needs to be explicit. Easier to fix the issue ahead of time.
This is backwards compatible with previous code.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
b5d5b4a8 |
| 06-Nov-2015 |
Stephen Hemminger <stephen@networkplumber.org> |
cxgbe: do not report deprecated statistics
Some of the ethernet device statistics are marked deprecated and should not be reported.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
|
#
6b6861c1 |
| 16-Sep-2015 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
ethdev: check queue state before starting or stopping
Following the same approach taken with dev_started field in rte_eth_dev_data structure, this patch adds two new fields in it, rx_queue_state and
ethdev: check queue state before starting or stopping
Following the same approach taken with dev_started field in rte_eth_dev_data structure, this patch adds two new fields in it, rx_queue_state and tx_queue_state arrays, which track which queues have been started and which not.
This is important to avoid trying to start/stop twice a queue, which will result in undefined behaviour (which may cause RX/TX disruption).
Mind that only the PMDs which have queue_start/stop functions have been changed to update this field, as the functions will check the queue state before switching it.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
#
eeefe73f |
| 03-Nov-2015 |
Bernard Iremonger <bernard.iremonger@intel.com> |
drivers: copy PCI device info to ethdev data
Use new function rte_eth_copy_pci_info. Copy device info for the following pdevs:
bnx2x cxgbe e1000 enic fm10k i40e ixgbe mlx4 mlx5 virtio vmxnet3
Sign
drivers: copy PCI device info to ethdev data
Use new function rte_eth_copy_pci_info. Copy device info for the following pdevs:
bnx2x cxgbe e1000 enic fm10k i40e ixgbe mlx4 mlx5 virtio vmxnet3
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
946c9ed9 |
| 27-Oct-2015 |
Konstantin Ananyev <konstantin.ananyev@intel.com> |
cxgbe: get descriptor limits
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Remy Horton <remy.horton@intel.com>
|
#
0ec33be4 |
| 08-Oct-2015 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
cxgbe: allow to change mtu
Add a mtu_set() eth_dev_ops to allow DPDK apps to modify device mtu.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@
cxgbe: allow to change mtu
Add a mtu_set() eth_dev_ops to allow DPDK apps to modify device mtu.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
show more ...
|