Skip to content

Commit 76abc0f

Browse files
Jakub Kicinskidavem330
authored andcommitted
nfp: report application FW build name in ethtool -i
Make sure application FW build name is NULL-terminated and print it as a part of ethtool's firmware version string. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 0be40e6 commit 76abc0f

File tree

5 files changed

+19
-2
lines changed

5 files changed

+19
-2
lines changed

drivers/net/ethernet/netronome/nfp/nfp_app.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <linux/slab.h>
3636

3737
#include "nfpcore/nfp_cpp.h"
38+
#include "nfpcore/nfp_nffw.h"
3839
#include "nfp_app.h"
3940
#include "nfp_main.h"
4041

@@ -43,6 +44,13 @@ static const struct nfp_app_type *apps[] = {
4344
&app_bpf,
4445
};
4546

47+
const char *nfp_app_mip_name(struct nfp_app *app)
48+
{
49+
if (!app || !app->pf->mip)
50+
return "";
51+
return nfp_mip_name(app->pf->mip);
52+
}
53+
4654
struct sk_buff *nfp_app_ctrl_msg_alloc(struct nfp_app *app, unsigned int size)
4755
{
4856
struct sk_buff *skb;

drivers/net/ethernet/netronome/nfp/nfp_app.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ static inline void nfp_app_ctrl_rx(struct nfp_app *app, struct sk_buff *skb)
216216
app->type->ctrl_msg_rx(app, skb);
217217
}
218218

219+
const char *nfp_app_mip_name(struct nfp_app *app);
219220
struct sk_buff *nfp_app_ctrl_msg_alloc(struct nfp_app *app, unsigned int size);
220221

221222
struct nfp_app *nfp_app_alloc(struct nfp_pf *pf, enum nfp_app_id id);

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,10 @@ static void nfp_net_get_drvinfo(struct net_device *netdev,
166166

167167
nfp_net_get_nspinfo(nn->app, nsp_version);
168168
snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
169-
"%d.%d.%d.%d %s %s",
169+
"%d.%d.%d.%d %s %s %s",
170170
nn->fw_ver.resv, nn->fw_ver.class,
171171
nn->fw_ver.major, nn->fw_ver.minor, nsp_version,
172-
nfp_app_name(nn->app));
172+
nfp_app_mip_name(nn->app), nfp_app_name(nn->app));
173173
strlcpy(drvinfo->bus_info, pci_name(nn->pdev),
174174
sizeof(drvinfo->bus_info));
175175

drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mip.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ const struct nfp_mip *nfp_mip_open(struct nfp_cpp *cpp)
141141
return NULL;
142142
}
143143

144+
mip->name[sizeof(mip->name) - 1] = 0;
145+
144146
return mip;
145147
}
146148

@@ -149,6 +151,11 @@ void nfp_mip_close(const struct nfp_mip *mip)
149151
kfree(mip);
150152
}
151153

154+
const char *nfp_mip_name(const struct nfp_mip *mip)
155+
{
156+
return mip->name;
157+
}
158+
152159
/**
153160
* nfp_mip_symtab() - Get the address and size of the MIP symbol table
154161
* @mip: MIP handle

drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ struct nfp_mip;
5555
const struct nfp_mip *nfp_mip_open(struct nfp_cpp *cpp);
5656
void nfp_mip_close(const struct nfp_mip *mip);
5757

58+
const char *nfp_mip_name(const struct nfp_mip *mip);
5859
void nfp_mip_symtab(const struct nfp_mip *mip, u32 *addr, u32 *size);
5960
void nfp_mip_strtab(const struct nfp_mip *mip, u32 *addr, u32 *size);
6061

0 commit comments

Comments
 (0)