[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1485237861.git.vomlehn@texas.net>
Date: Mon, 23 Jan 2017 22:09:07 -0800
From: Alexander Loktionov <Alexander.Loktionov@...antia.com>
To: netdev@...r.kernel.org, David VomLehn <vomlehn@...as.net>
Cc: "David S . Miller" <davem@...emloft.net>,
Simon Edelhaus <Simon.Edelhaus@...antia.com>,
Alexander Loktionov <Alexander.Loktionov@...antia.com>,
Dmitrii Tarakanov <Dmitrii.Tarakanov@...antia.com>,
Pavel Belous <Pavel.Belous@...antia.com>
Subject: [PATCH v8 00/13] net: ethernet: aquantia: Add AQtion 2.5/5 GB NIC driver
From: David VomLehn <vomlehn@...as.net>
This series introduces the AQtion NIC driver for the aQuantia
AQC107/AQC108 network devices.
v1: Initial version
v2: o Make necessary drivers/net/ethernet changes to integrate software
o Drop intermediate atlantic directory
o Remove Makefile things only appropriate to out of tree module
building
v3: o Move changes to drivers/net/ethernet/{Kconfig,Makefile} to the last
patch to ensure clean bisection.
o Removed inline attribute aq_hw_write_req() as it was defined in
only one .c file.
o #included pci.h in aq_common.h to get struct pci definition.
o Modified code to unlock based execution flow rather than using a
flag.
o Made a number of functions that were only used in a single file
static.
o Cleaned up error and return code handling in various places.
o Remove AQ_CFG_IP_ALIGN definition.
o Other minor code clean up.
v4: o Using do_div for 64 bit division.
o Modified NIC statistics code.
o Using build_skb instead netdev_alloc_skb for single fragment packets.
o Removed extra aq_nic.o from Makefile
v5: o Removed extra newline at the end of the files.
v6: o Removed unnecessary cast from void*.
o Reworked strings array for ethtool statistics.
o Added stringset == ETH_SS_STATS checking.
o AQ_OBJ_HEADER replaced to aq_obj_header_s struct.
o AQ_OBJ_SET/TST/CLR macroses replaced to inline functions.
o Driver sources placed in to atlantic directory.
o Fixed compilation warnings (Make W=1)
o Added firmware version checking.
o Code cleaning.
v7 o Removed unnecessary cast from memory allocation function (aq_ring.c).
v8 o Switched to using kcalloc instead kzalloc.
o Now provide bus_info for ethtool
o Used div() to avoid __bad_udelay build error.
Signed-off-by: Alexander Loktionov <Alexander.Loktionov@...antia.com>
Signed-off-by: Dmitrii Tarakanov <Dmitrii.Tarakanov@...antia.com>
Signed-off-by: Pavel Belous <Pavel.Belous@...antia.com>
Signed-off-by: David M. VomLehn <vomlehn@...as.net>
---
David VomLehn (13):
net: ethernet: aquantia: Make and configuration files.
net: ethernet: aquantia: Common functions and definitions
net: ethernet: aquantia: Add ring support code
net: ethernet: aquantia: Low-level hardware interfaces
net: ethernet: aquantia: Support for NIC-specific code
net: ethernet: aquantia: Atlantic A0 and B0 specific functions.
net: ethernet: aquantia: Vector operations
net: ethernet: aquantia: PCI operations
net: ethernet: aquantia: Atlantic hardware abstraction layer
net: ethernet: aquantia: Hardware interface and utility functions
net: ethernet: aquantia: Ethtool support
net: ethernet: aquantia: Receive side scaling
net: ethernet: aquantia: Integrate AQtion 2.5/5 GB NIC driver
drivers/net/ethernet/Kconfig | 1 +
drivers/net/ethernet/Makefile | 1 +
drivers/net/ethernet/aquantia/Kconfig | 24 +
drivers/net/ethernet/aquantia/Makefile | 5 +
drivers/net/ethernet/aquantia/atlantic/Makefile | 42 +
drivers/net/ethernet/aquantia/atlantic/aq_cfg.h | 77 +
drivers/net/ethernet/aquantia/atlantic/aq_common.h | 23 +
.../net/ethernet/aquantia/atlantic/aq_ethtool.c | 261 +++
.../net/ethernet/aquantia/atlantic/aq_ethtool.h | 19 +
drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 177 ++
.../net/ethernet/aquantia/atlantic/aq_hw_utils.c | 68 +
.../net/ethernet/aquantia/atlantic/aq_hw_utils.h | 47 +
drivers/net/ethernet/aquantia/atlantic/aq_main.c | 273 +++
drivers/net/ethernet/aquantia/atlantic/aq_main.h | 17 +
drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 937 ++++++++
drivers/net/ethernet/aquantia/atlantic/aq_nic.h | 108 +
.../ethernet/aquantia/atlantic/aq_nic_internal.h | 46 +
.../net/ethernet/aquantia/atlantic/aq_pci_func.c | 345 +++
.../net/ethernet/aquantia/atlantic/aq_pci_func.h | 34 +
drivers/net/ethernet/aquantia/atlantic/aq_ring.c | 376 ++++
drivers/net/ethernet/aquantia/atlantic/aq_ring.h | 157 ++
drivers/net/ethernet/aquantia/atlantic/aq_rss.h | 26 +
drivers/net/ethernet/aquantia/atlantic/aq_utils.h | 50 +
drivers/net/ethernet/aquantia/atlantic/aq_vec.c | 392 ++++
drivers/net/ethernet/aquantia/atlantic/aq_vec.h | 42 +
.../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 905 ++++++++
.../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.h | 34 +
.../aquantia/atlantic/hw_atl/hw_atl_a0_internal.h | 155 ++
.../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 958 ++++++++
.../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.h | 34 +
.../aquantia/atlantic/hw_atl/hw_atl_b0_internal.h | 207 ++
.../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c | 1394 ++++++++++++
.../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h | 677 ++++++
.../aquantia/atlantic/hw_atl/hw_atl_llh_internal.h | 2375 ++++++++++++++++++++
.../aquantia/atlantic/hw_atl/hw_atl_utils.c | 570 +++++
.../aquantia/atlantic/hw_atl/hw_atl_utils.h | 210 ++
drivers/net/ethernet/aquantia/atlantic/ver.h | 18 +
37 files changed, 11085 insertions(+)
create mode 100644 drivers/net/ethernet/aquantia/Kconfig
create mode 100644 drivers/net/ethernet/aquantia/Makefile
create mode 100644 drivers/net/ethernet/aquantia/atlantic/Makefile
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_common.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_hw.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_hw_utils.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_hw_utils.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_main.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_main.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_nic.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_nic.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_pci_func.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ring.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ring.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_rss.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_utils.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_vec.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_vec.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0_internal.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0_internal.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh_internal.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/ver.h
--
2.9.3
Powered by blists - more mailing lists