All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 net-next 00/21] Add support for Aquantia AQtion USB to 5/2.5GbE devices
@ 2018-11-21 10:13 Igor Russkikh
  2018-11-21 10:13   ` [v3,net-next,01/21] " Igor Russkikh
                   ` (20 more replies)
  0 siblings, 21 replies; 55+ messages in thread
From: Igor Russkikh @ 2018-11-21 10:13 UTC (permalink / raw)
  To: linux-usb, davem, netdev; +Cc: andrew, Dmitry Bezrukov, Igor Russkikh

This patchset introduces support for new multigig ethernet to USB dongle,
developed jointly by Aquantia (Phy) and ASIX (USB MAC).

The driver has similar structure with other ASIX MAC drivers (AX88179), but
with a number of important differences:
- Driver supports both direct Phy and custom firmware interface for Phy
  programming. This is due to different firmware modules available with
  this product.
- Driver handles new 2.5G/5G link speed configuration and reporting.
- Device support all speeds from 100M up to 5G.
- Device supports MTU up to 16K.

Device supports various standard networking features, like
checksum offloads, vlan tagging/filtering, TSO.

The code of this driver is based on original ASIX sources and was extended
by Aquantia for 5G multigig support.

Patchset v2 includes following changes:
- Function variables declarions fixed to reverse xmass tree
- Improve patch layout structure
- Remove unnecessary curly braces in switch/case statements
- Use 'packed' attribute for HW structures only
- Use eth_mac_addr function in set_mac_addr callback
- Remove unnecessary 'memset' calls.
- Read MAC address from EEPROM function has now better name
- Use driver_priv field to store context. It avoids ugly cast.
- Set max_mtu field. Remove check for MTU size
- Rewrite read/write functions. Add helpers for read/write 16/32 bit values
- Use mask and shifts instead of bitfields to support BE platforms.
- Use stack allocated buffer for configuring mcast filters
- Use AUTONEG_ENABLE when go to suspend state
- Pad out wol_cfg field from context structure. Use stack allocated instead
- Remove driver version
- Check field 'duplex' in set_link_ksetting callback as well
- Use already created defines in usb matching macro
- Rename phy_ops struct to phy_cfg
- Use ether_addr_copy for copying mac address
- Add fall-through comment in switch/case for avoid checkpatch warning
- Remove match for CDC ether device
- Add ASIX's HW id-s to match this driver
- Add all HW id-s with which driver can work to blacklist of cdc_ether driver

Patchset v3 includes following changes:
- Use linkmode_copy instead of bitmap_copy
- Remove Direct PHY access code since production HW will not have this
    mode anymore
- Fix line over 80 symbols and alignments in cdc_ether patch
- Add match for ECM configuration
    On start our HW reports both ECM and vendor configs.
    Linux prefers to use ECM driver and chooses active configuration
    which is for ecm driver (not for vendor specific).
    We need to match this configuration and forcibly switch configuration
    to vendor specific.

Dmitry Bezrukov (21):
  net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE
  net: usb: aqc111: Add bind and empty unbind callbacks
  net: usb: aqc111: Add implementation of read and write commands
  net: usb: aqc111: Various callbacks implementation
  net: usb: aqc111: Introduce PHY access
  net: usb: aqc111: Introduce link management
  net: usb: aqc111: Add support for getting and setting of MAC address
  net: usb: aqc111: Implement TX data path
  net: usb: aqc111: Implement RX data path
  net: usb: aqc111: Add checksum offload support
  net: usb: aqc111: Add support for changing MTU
  net: usb: aqc111: Add support for enable/disable checksum offload
  net: usb: aqc111: Add support for TSO
  net: usb: aqc111: Implement set_rx_mode callback
  net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload
  net: usb: aqc111: Add RX VLAN filtering support
  net: usb: aqc111: Initialize ethtool_ops structure
  net: usb: aqc111: Implement get/set_link_ksettings callbacks
  net: usb: aqc111: Add support for wake on LAN by MAGIC packet
  net: usb: aqc111: Add ASIX's HW ids
  net: usb: aqc111: Extend cdc_ether blacklist

 drivers/net/usb/Kconfig     |   12 +
 drivers/net/usb/Makefile    |    1 +
 drivers/net/usb/aqc111.c    | 1456 +++++++++++++++++++++++++++++++++++
 drivers/net/usb/aqc111.h    |  232 ++++++
 drivers/net/usb/cdc_ether.c |   26 +
 5 files changed, 1727 insertions(+)
 create mode 100644 drivers/net/usb/aqc111.c
 create mode 100644 drivers/net/usb/aqc111.h

-- 
2.17.1

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2020-11-12  7:31 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-21 10:13 [PATCH v3 net-next 00/21] Add support for Aquantia AQtion USB to 5/2.5GbE devices Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 01/21] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,01/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 02/21] net: usb: aqc111: Add bind and empty unbind callbacks Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,02/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 03/21] net: usb: aqc111: Add implementation of read and write commands Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,03/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 04/21] net: usb: aqc111: Various callbacks implementation Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,04/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 05/21] net: usb: aqc111: Introduce PHY access Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,05/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 06/21] net: usb: aqc111: Introduce link management Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,06/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 07/21] net: usb: aqc111: Add support for getting and setting of MAC address Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,07/21] " Igor Russkikh
2020-11-05  3:13   ` [PATCH v3 net-next 07/21] " Anant Thazhemadam
2020-11-12  7:31     ` [EXT] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 08/21] net: usb: aqc111: Implement TX data path Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,08/21] " Igor Russkikh
2018-11-22 19:07   ` [PATCH v3 net-next 08/21] " David Miller
2018-11-22 19:07     ` [v3,net-next,08/21] " David Miller
2018-11-21 10:13 ` [PATCH v3 net-next 09/21] net: usb: aqc111: Implement RX " Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,09/21] " Igor Russkikh
2018-11-22 19:12   ` [PATCH v3 net-next 09/21] " David Miller
2018-11-22 19:12     ` [v3,net-next,09/21] " David Miller
2018-11-21 10:13 ` [PATCH v3 net-next 10/21] net: usb: aqc111: Add checksum offload support Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,10/21] " Igor Russkikh
2018-11-22 19:14   ` [PATCH v3 net-next 10/21] " David Miller
2018-11-22 19:14     ` [v3,net-next,10/21] " David Miller
2018-11-21 10:13 ` [PATCH v3 net-next 11/21] net: usb: aqc111: Add support for changing MTU Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,11/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 12/21] net: usb: aqc111: Add support for enable/disable checksum offload Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,12/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 13/21] net: usb: aqc111: Add support for TSO Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,13/21] " Igor Russkikh
2018-11-22 19:17   ` [PATCH v3 net-next 13/21] " David Miller
2018-11-22 19:17     ` [v3,net-next,13/21] " David Miller
2018-11-23  8:58     ` [PATCH v3 net-next 13/21] " Igor Russkikh
2018-11-23  8:58       ` [v3,net-next,13/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 14/21] net: usb: aqc111: Implement set_rx_mode callback Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,14/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 15/21] net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,15/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 16/21] net: usb: aqc111: Add RX VLAN filtering support Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,16/21] " Igor Russkikh
2018-11-21 10:13 ` [PATCH v3 net-next 17/21] net: usb: aqc111: Initialize ethtool_ops structure Igor Russkikh
2018-11-21 10:13   ` [v3,net-next,17/21] " Igor Russkikh
2018-11-21 10:14 ` [PATCH v3 net-next 18/21] net: usb: aqc111: Implement get/set_link_ksettings callbacks Igor Russkikh
2018-11-21 10:14   ` [v3,net-next,18/21] " Igor Russkikh
2018-11-21 10:14 ` [PATCH v3 net-next 19/21] net: usb: aqc111: Add support for wake on LAN by MAGIC packet Igor Russkikh
2018-11-21 10:14   ` [v3,net-next,19/21] " Igor Russkikh
2018-11-21 10:14 ` [PATCH v3 net-next 20/21] net: usb: aqc111: Add ASIX's HW ids Igor Russkikh
2018-11-21 10:14   ` [v3,net-next,20/21] " Igor Russkikh
2018-11-21 10:14 ` [PATCH v3 net-next 21/21] net: usb: aqc111: Extend cdc_ether blacklist Igor Russkikh
2018-11-21 10:14   ` [v3,net-next,21/21] " Igor Russkikh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.