All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 net-next 00/16] sfc_ef100: driver for EF100 family NICs, part 1
@ 2020-07-16 12:57 Edward Cree
  2020-07-16 12:59 ` [PATCH v3 net-next 01/16] sfc: remove efx_ethtool_nway_reset() Edward Cree
                   ` (15 more replies)
  0 siblings, 16 replies; 27+ messages in thread
From: Edward Cree @ 2020-07-16 12:57 UTC (permalink / raw)
  To: linux-net-drivers, davem; +Cc: netdev

EF100 is a new NIC architecture under development at Xilinx, based
 partly on existing Solarflare technology.  As many of the hardware
 interfaces resemble EF10, the driver is implemented largely through
 libraries of code from the 'sfc' driver, which previous patch series
 "commonised" for this purpose.
The new driver is called 'sfc_ef100'.

In order to maintain bisectability while splitting into patches of a
 reasonable size, I had to do a certain amount of back-and-forth with
 stubs for things that the common code may try to call, mainly because
 we can't do them until we've set up MCDI, but we can't set up MCDI
 without probing the event queues, at which point a lot of the common
 machinery becomes reachable from event handlers.
Consequently, this first series doesn't get as far as actually sending
 and receiving packets.  I have a second series ready to follow it
 which implements the datapath (and a few other things like ethtool).

Changes from v2:
 * remove MODULE_VERSION.
 * call efx_destroy_reset_workqueue() from ef100_exit_module().
 * correct uint32_ts to u32s.  While I was at it, I fixed a bunch of
   other style issues in the function-control-window code.
All in patch #4.

Changes from v1:
 * kernel test robot spotted a link error when sfc_ef100 was built
   without mdio.  It turns out the thing we were trying to link to
   was a bogus thing to do on anything but Falcon, so new patch #1
   removes it from this driver.
 * fix undeclared symbols in patch #4 by shuffling around prototypes
   and #includes and adding 'static' where appropriate.
 * fix uninitialised variable 'rc2' in patch #7.

Edward Cree (16):
  sfc: remove efx_ethtool_nway_reset()
  sfc_ef100: add EF100 register definitions
  sfc_ef100: register accesses on EF100
  sfc_ef100: skeleton EF100 PF driver
  sfc_ef100: reset-handling stub
  sfc_ef100: PHY probe stub
  sfc_ef100: don't call efx_reset_down()/up() on EF100
  sfc_ef100: implement MCDI transport
  sfc_ef100: implement ndo_open/close and EVQ probing
  sfc_ef100: process events for MCDI completions
  sfc_ef100: read datapath caps, implement check_caps
  sfc_ef100: extend ef100_check_caps to cover datapath_caps3
  sfc_ef100: actually perform resets
  sfc_ef100: probe the PHY and configure the MAC
  sfc_ef100: read device MAC address at probe time
  sfc_ef100: implement ndo_get_phys_port_{id,name}

 drivers/net/ethernet/sfc/Kconfig          |  10 +
 drivers/net/ethernet/sfc/Makefile         |   8 +
 drivers/net/ethernet/sfc/ef10.c           |   1 +
 drivers/net/ethernet/sfc/ef100.c          | 577 ++++++++++++++++++
 drivers/net/ethernet/sfc/ef100_ethtool.c  |  26 +
 drivers/net/ethernet/sfc/ef100_ethtool.h  |  12 +
 drivers/net/ethernet/sfc/ef100_netdev.c   | 280 +++++++++
 drivers/net/ethernet/sfc/ef100_netdev.h   |  17 +
 drivers/net/ethernet/sfc/ef100_nic.c      | 620 +++++++++++++++++++
 drivers/net/ethernet/sfc/ef100_nic.h      |  32 +
 drivers/net/ethernet/sfc/ef100_regs.h     | 693 ++++++++++++++++++++++
 drivers/net/ethernet/sfc/ef100_rx.c       |  31 +
 drivers/net/ethernet/sfc/ef100_rx.h       |  19 +
 drivers/net/ethernet/sfc/ef100_tx.c       |  63 ++
 drivers/net/ethernet/sfc/ef100_tx.h       |  22 +
 drivers/net/ethernet/sfc/efx.h            |   1 -
 drivers/net/ethernet/sfc/efx_common.c     |  11 +-
 drivers/net/ethernet/sfc/ethtool.c        |   1 -
 drivers/net/ethernet/sfc/ethtool_common.c |   8 -
 drivers/net/ethernet/sfc/ethtool_common.h |   1 -
 drivers/net/ethernet/sfc/io.h             |  16 +-
 drivers/net/ethernet/sfc/mcdi.h           |   4 +-
 drivers/net/ethernet/sfc/net_driver.h     |  14 +-
 drivers/net/ethernet/sfc/tx_common.h      |   2 +
 24 files changed, 2449 insertions(+), 20 deletions(-)
 create mode 100644 drivers/net/ethernet/sfc/ef100.c
 create mode 100644 drivers/net/ethernet/sfc/ef100_ethtool.c
 create mode 100644 drivers/net/ethernet/sfc/ef100_ethtool.h
 create mode 100644 drivers/net/ethernet/sfc/ef100_netdev.c
 create mode 100644 drivers/net/ethernet/sfc/ef100_netdev.h
 create mode 100644 drivers/net/ethernet/sfc/ef100_nic.c
 create mode 100644 drivers/net/ethernet/sfc/ef100_nic.h
 create mode 100644 drivers/net/ethernet/sfc/ef100_regs.h
 create mode 100644 drivers/net/ethernet/sfc/ef100_rx.c
 create mode 100644 drivers/net/ethernet/sfc/ef100_rx.h
 create mode 100644 drivers/net/ethernet/sfc/ef100_tx.c
 create mode 100644 drivers/net/ethernet/sfc/ef100_tx.h


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

end of thread, other threads:[~2020-07-21 17:16 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-16 12:57 [PATCH v3 net-next 00/16] sfc_ef100: driver for EF100 family NICs, part 1 Edward Cree
2020-07-16 12:59 ` [PATCH v3 net-next 01/16] sfc: remove efx_ethtool_nway_reset() Edward Cree
2020-07-16 13:00 ` [PATCH v3 net-next 02/16] sfc_ef100: add EF100 register definitions Edward Cree
2020-07-16 13:00 ` [PATCH v3 net-next 03/16] sfc_ef100: register accesses on EF100 Edward Cree
2020-07-16 13:00 ` [PATCH v3 net-next 04/16] sfc_ef100: skeleton EF100 PF driver Edward Cree
2020-07-16 17:39   ` kernel test robot
2020-07-16 17:39     ` kernel test robot
2020-07-21 14:48     ` Edward Cree
2020-07-21 14:48       ` Edward Cree
2020-07-21 16:45       ` Jakub Kicinski
2020-07-21 16:45         ` Jakub Kicinski
2020-07-21 17:09         ` Edward Cree
2020-07-21 17:09           ` Edward Cree
2020-07-21 17:15           ` Jakub Kicinski
2020-07-21 17:15             ` Jakub Kicinski
2020-07-16 13:01 ` [PATCH v3 net-next 05/16] sfc_ef100: reset-handling stub Edward Cree
2020-07-16 13:01 ` [PATCH v3 net-next 06/16] sfc_ef100: PHY probe stub Edward Cree
2020-07-16 13:01 ` [PATCH v3 net-next 07/16] sfc_ef100: don't call efx_reset_down()/up() on EF100 Edward Cree
2020-07-16 13:01 ` [PATCH v3 net-next 08/16] sfc_ef100: implement MCDI transport Edward Cree
2020-07-16 13:02 ` [PATCH v3 net-next 09/16] sfc_ef100: implement ndo_open/close and EVQ probing Edward Cree
2020-07-16 13:02 ` [PATCH v3 net-next 10/16] sfc_ef100: process events for MCDI completions Edward Cree
2020-07-16 13:02 ` [PATCH v3 net-next 11/16] sfc_ef100: read datapath caps, implement check_caps Edward Cree
2020-07-16 13:03 ` [PATCH v3 net-next 12/16] sfc_ef100: extend ef100_check_caps to cover datapath_caps3 Edward Cree
2020-07-16 13:03 ` [PATCH v3 net-next 13/16] sfc_ef100: actually perform resets Edward Cree
2020-07-16 13:03 ` [PATCH v3 net-next 14/16] sfc_ef100: probe the PHY and configure the MAC Edward Cree
2020-07-16 13:04 ` [PATCH v3 net-next 15/16] sfc_ef100: read device MAC address at probe time Edward Cree
2020-07-16 13:04 ` [PATCH v3 net-next 16/16] sfc_ef100: implement ndo_get_phys_port_{id,name} Edward Cree

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.