[PATCH v3 net-next 00/12] net: aquantia: PTP support for AQC devices

Igor Russkikh
2019-10-22T09:53:26Z

This patchset introduces PTP feature support in Aquantia AQC atlantic driver.

This implementation is a joined effort of aquantia developers:
Egor is the main designer and driver/firmware architect on PTP,
Sergey and Dmitry are included as co-developers.
Dmitry also helped me in the overall patchset preparations.

Feature was verified on AQC hardware with testptp tool, linuxptp,
gptp and with Motu hardware unit.

version3 updates:
- Review comments applied: error handling, various fixes

version2 updates:
- Fixing issues from Andrew's review: replacing self with
ptp var name, making ptp_clk_offset a field in the ptp instance.
devm_kzalloc advice is actually non applicable, because ptp object gets
created/destroyed on each network device close/open and it should not be
linked with dev lifecycle.
- Rearranging commit authorship, adding Egor as a ptp module main maintainer
- Fixing kbuild 32bit division issues

Dmitry Bezrukov (5):
net: aquantia: unify styling of bit enums
net: aquantia: styling fixes on ptp related functions
net: aquantia: rx filters for ptp
net: aquantia: add support for Phy access
net: aquantia: add support for PIN funcs

Egor Pomozov (6):
net: aquantia: PTP skeleton declarations and callbacks
net: aquantia: add basic ptp_clock callbacks
net: aquantia: add PTP rings infrastructure
net: aquantia: implement data PTP datapath
net: aquantia: add support for ptp ioctls
net: aquantia: implement get_ts_info ethtool

Igor Russkikh (1):
net: aquantia: adding atlantic ptp maintainer

MAINTAINERS | 7 +
.../net/ethernet/aquantia/atlantic/Makefile | 2 +
.../net/ethernet/aquantia/atlantic/aq_cfg.h | 4 +-
.../ethernet/aquantia/atlantic/aq_ethtool.c | 35 +-
.../ethernet/aquantia/atlantic/aq_filters.c | 17 +-
.../net/ethernet/aquantia/atlantic/aq_hw.h | 48 +-
.../net/ethernet/aquantia/atlantic/aq_main.c | 105 +-
.../net/ethernet/aquantia/atlantic/aq_nic.c | 96 +-
.../net/ethernet/aquantia/atlantic/aq_nic.h | 16 +-
.../ethernet/aquantia/atlantic/aq_pci_func.c | 5 +-
.../net/ethernet/aquantia/atlantic/aq_phy.c | 147 ++
.../net/ethernet/aquantia/atlantic/aq_phy.h | 32 +
.../net/ethernet/aquantia/atlantic/aq_ptp.c | 1390 +++++++++++++++++
.../net/ethernet/aquantia/atlantic/aq_ptp.h | 57 +
.../net/ethernet/aquantia/atlantic/aq_ring.c | 57 +-
.../net/ethernet/aquantia/atlantic/aq_ring.h | 7 +-
.../aquantia/atlantic/hw_atl/hw_atl_b0.c | 328 +++-
.../atlantic/hw_atl/hw_atl_b0_internal.h | 9 +-
.../aquantia/atlantic/hw_atl/hw_atl_llh.c | 96 +-
.../aquantia/atlantic/hw_atl/hw_atl_llh.h | 58 +-
.../atlantic/hw_atl/hw_atl_llh_internal.h | 223 ++-
.../aquantia/atlantic/hw_atl/hw_atl_utils.c | 7 +-
.../aquantia/atlantic/hw_atl/hw_atl_utils.h | 172 +-
.../atlantic/hw_atl/hw_atl_utils_fw2x.c | 97 +-
24 files changed, 2881 insertions(+), 134 deletions(-)
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_phy.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_phy.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ptp.h

--
2.17.1