All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/7] devlink: add device (driver) information API
@ 2019-01-30 19:05 Jakub Kicinski
  2019-01-30 19:05 ` [PATCH net-next v2 1/7] devlink: add device " Jakub Kicinski
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Jakub Kicinski @ 2019-01-30 19:05 UTC (permalink / raw)
  To: davem
  Cc: netdev, oss-drivers, jiri, andrew, f.fainelli, mkubecek, eugenem,
	jonathan.lemon, Jakub Kicinski

Hi!

fw_version field in ethtool -i does not suit modern needs with 31
characters being quite limiting on more complex systems.  There is
also no distinction between the running and flashed versions of
the firmware.

Since the driver information pertains to the entire device, rather
than a particular netdev, it seems wise to move it do devlink, at
the same time fixing the aforementioned issues.

The new API allows exposing the device serial number and versions
of the components of the card - both hardware, firmware (running
and flashed).  Driver authors can choose descriptive identifiers
for the version fields.  A few version identifiers which seemed
relevant for most devices have been added to the global devlink
header.

Example:
$ devlink dev info pci/0000:05:00.0
pci/0000:05:00.0:
  driver nfp
  serial_number 16240145
  versions:
    fixed:
      board.id AMDA0099-0001
      board.rev 07
      board.vendor SMA
      board.model carbon
    running:
      fw.mgmt: 010156.010156.010156
      fw.cpld: 0x44
      fw.app: sriov-2.1.16
    stored:
      fw.mgmt: 010158.010158.010158
      fw.cpld: 0x44
      fw.app: sriov-2.1.20

Last patch also includes a compat code for ethtool.  If driver
reports no fw_version via the traditional ethtool API, ethtool
can call into devlink and try to cram as many versions as possible
into the 31 characters.

v2:
 - rebase.

this non-RFC, v3 some would say:
 - add three more versions in the NFP patches;
 - add last patch (ethool compat) - Andrew & Michal.

RFCv2:
 - use one driver op;
 - allow longer serial number;
 - wrap the skb into an opaque request struct;
 - add some common identifier into the devlink header.

Jakub Kicinski (7):
  devlink: add device information API
  devlink: add version reporting to devlink info API
  nfp: devlink: report driver name and serial number
  nfp: devlink: report fixed versions
  nfp: nsp: add support for versions command
  nfp: devlink: report the running and flashed versions
  ethtool: add compat for devlink info

 .../net/ethernet/netronome/nfp/nfp_devlink.c  | 145 +++++++++++++
 .../ethernet/netronome/nfp/nfpcore/nfp_nsp.c  |  61 ++++++
 .../ethernet/netronome/nfp/nfpcore/nfp_nsp.h  |  20 ++
 include/net/devlink.h                         |  59 +++++
 include/uapi/linux/devlink.h                  |  10 +
 net/core/devlink.c                            | 204 ++++++++++++++++++
 net/core/ethtool.c                            |   7 +
 7 files changed, 506 insertions(+)

-- 
2.19.2


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

end of thread, other threads:[~2019-02-01  4:07 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-30 19:05 [PATCH net-next v2 0/7] devlink: add device (driver) information API Jakub Kicinski
2019-01-30 19:05 ` [PATCH net-next v2 1/7] devlink: add device " Jakub Kicinski
2019-01-30 21:16   ` Jiri Pirko
2019-01-30 19:05 ` [PATCH net-next v2 2/7] devlink: add version reporting to devlink info API Jakub Kicinski
2019-01-30 21:54   ` Jiri Pirko
2019-01-30 19:05 ` [PATCH net-next v2 3/7] nfp: devlink: report driver name and serial number Jakub Kicinski
2019-01-30 19:05 ` [PATCH net-next v2 4/7] nfp: devlink: report fixed versions Jakub Kicinski
2019-01-30 21:56   ` Jiri Pirko
2019-01-30 19:05 ` [PATCH net-next v2 5/7] nfp: nsp: add support for versions command Jakub Kicinski
2019-01-30 19:05 ` [PATCH net-next v2 6/7] nfp: devlink: report the running and flashed versions Jakub Kicinski
2019-01-30 21:57   ` Jiri Pirko
2019-01-30 22:21     ` Jakub Kicinski
2019-01-30 22:19       ` Jiri Pirko
2019-01-30 19:05 ` [PATCH net-next v2 7/7] ethtool: add compat for devlink info Jakub Kicinski
2019-01-30 22:12   ` Jiri Pirko
2019-01-31 19:05   ` kbuild test robot
2019-02-01  4:06   ` kbuild test robot

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.