Message ID | 1584458246-29370-2-git-send-email-vasundhara-v.volam@broadcom.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | bnxt_en updates to devlink cmd | expand |
On Tue, 17 Mar 2020 20:47:23 +0530 Vasundhara Volam wrote: > Add part number and serial number info from the vital product data > to info_get command via devlink tool. > > Some of the broadcom devices support both PCI extended config space > for device serial number and VPD serial number. With this patch, both > the information will be displayed via info_get cb. > > Update bnxt.rst documentation as well. > > Example display: > > $ devlink dev info pci/0000:3b:00.1 > pci/0000:3b:00.1: > driver bnxt_en > serial_number B0-26-28-FF-FE-C8-85-20 > versions: > fixed: > board.id BCM957508-P2100G > asic.id 1750 > asic.rev 1 > vpd.serialno P2100pm01920A0032CQ This looks like it's a concatenation of multiple things. Isn't it? > running: > drv.spec 1.10.1.12 > hw.addr b0:26:28:c8:85:21 > hw.mh_base_addr b0:26:28:c8:85:20 > fw 216.0.286.0 > fw.psid 0.0.6 > fw.app 216.0.251.0 > > Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com> > Signed-off-by: Michael Chan <michael.chan@broadcom.com>
diff --git a/Documentation/networking/devlink/bnxt.rst b/Documentation/networking/devlink/bnxt.rst index f850a18..17b6522 100644 --- a/Documentation/networking/devlink/bnxt.rst +++ b/Documentation/networking/devlink/bnxt.rst @@ -51,12 +51,18 @@ The ``bnxt_en`` driver reports the following versions * - Name - Type - Description + * - ``board.id`` + - fixed + - Part number identifying the board design * - ``asic.id`` - fixed - ASIC design identifier * - ``asic.rev`` - fixed - ASIC design revision + * - ``vpd.serialno`` + - fixed + - Serial number identifying the board * - ``drv.spec`` - running - HWRM specification version supported by driver HWRM implementation diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 607e27a..6065602 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -439,6 +439,14 @@ static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req, if (rc) return rc; + if (strlen(bp->board_partno)) { + rc = devlink_info_version_fixed_put(req, + DEVLINK_INFO_VERSION_GENERIC_BOARD_ID, + bp->board_partno); + if (rc) + return rc; + } + sprintf(buf, "%X", bp->chip_num); rc = devlink_info_version_fixed_put(req, DEVLINK_INFO_VERSION_GENERIC_ASIC_ID, buf); @@ -461,6 +469,13 @@ static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req, return rc; } + if (strlen(bp->board_serialno)) { + rc = devlink_info_version_fixed_put(req, "vpd.serialno", + bp->board_serialno); + if (rc) + return rc; + } + rc = devlink_info_version_running_put(req, DEVLINK_INFO_VERSION_GENERIC_DRV_SPEC, HWRM_VERSION_STR); if (rc)