mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-04 03:33:58 +08:00
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>
This commit is contained in:
parent
0be40e66e7
commit
76abc0f620
@ -35,6 +35,7 @@
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include "nfpcore/nfp_cpp.h"
|
||||
#include "nfpcore/nfp_nffw.h"
|
||||
#include "nfp_app.h"
|
||||
#include "nfp_main.h"
|
||||
|
||||
@ -43,6 +44,13 @@ static const struct nfp_app_type *apps[] = {
|
||||
&app_bpf,
|
||||
};
|
||||
|
||||
const char *nfp_app_mip_name(struct nfp_app *app)
|
||||
{
|
||||
if (!app || !app->pf->mip)
|
||||
return "";
|
||||
return nfp_mip_name(app->pf->mip);
|
||||
}
|
||||
|
||||
struct sk_buff *nfp_app_ctrl_msg_alloc(struct nfp_app *app, unsigned int size)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
@ -216,6 +216,7 @@ static inline void nfp_app_ctrl_rx(struct nfp_app *app, struct sk_buff *skb)
|
||||
app->type->ctrl_msg_rx(app, skb);
|
||||
}
|
||||
|
||||
const char *nfp_app_mip_name(struct nfp_app *app);
|
||||
struct sk_buff *nfp_app_ctrl_msg_alloc(struct nfp_app *app, unsigned int size);
|
||||
|
||||
struct nfp_app *nfp_app_alloc(struct nfp_pf *pf, enum nfp_app_id id);
|
||||
|
@ -166,10 +166,10 @@ static void nfp_net_get_drvinfo(struct net_device *netdev,
|
||||
|
||||
nfp_net_get_nspinfo(nn->app, nsp_version);
|
||||
snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
|
||||
"%d.%d.%d.%d %s %s",
|
||||
"%d.%d.%d.%d %s %s %s",
|
||||
nn->fw_ver.resv, nn->fw_ver.class,
|
||||
nn->fw_ver.major, nn->fw_ver.minor, nsp_version,
|
||||
nfp_app_name(nn->app));
|
||||
nfp_app_mip_name(nn->app), nfp_app_name(nn->app));
|
||||
strlcpy(drvinfo->bus_info, pci_name(nn->pdev),
|
||||
sizeof(drvinfo->bus_info));
|
||||
|
||||
|
@ -141,6 +141,8 @@ const struct nfp_mip *nfp_mip_open(struct nfp_cpp *cpp)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mip->name[sizeof(mip->name) - 1] = 0;
|
||||
|
||||
return mip;
|
||||
}
|
||||
|
||||
@ -149,6 +151,11 @@ void nfp_mip_close(const struct nfp_mip *mip)
|
||||
kfree(mip);
|
||||
}
|
||||
|
||||
const char *nfp_mip_name(const struct nfp_mip *mip)
|
||||
{
|
||||
return mip->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* nfp_mip_symtab() - Get the address and size of the MIP symbol table
|
||||
* @mip: MIP handle
|
||||
|
@ -55,6 +55,7 @@ struct nfp_mip;
|
||||
const struct nfp_mip *nfp_mip_open(struct nfp_cpp *cpp);
|
||||
void nfp_mip_close(const struct nfp_mip *mip);
|
||||
|
||||
const char *nfp_mip_name(const struct nfp_mip *mip);
|
||||
void nfp_mip_symtab(const struct nfp_mip *mip, u32 *addr, u32 *size);
|
||||
void nfp_mip_strtab(const struct nfp_mip *mip, u32 *addr, u32 *size);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user