diff options
author | Ioana Radulescu <ruxandra.radulescu@nxp.com> | 2017-10-11 08:29:51 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-18 16:45:19 +0200 |
commit | 4bdd439fe2a7ce14f2b86bf138b24e2fa3615507 (patch) | |
tree | d143c91d950f6c30c2cab2bfbcdad6670ec472c2 /drivers/staging/fsl-dpaa2/ethernet/dpni.c | |
parent | 0f4c295f542bb349d9735279bb6bafb6fa45399b (diff) | |
download | op-kernel-dev-4bdd439fe2a7ce14f2b86bf138b24e2fa3615507.zip op-kernel-dev-4bdd439fe2a7ce14f2b86bf138b24e2fa3615507.tar.gz |
staging: fsl-dpaa2/eth: Add firmware version
Include firmware version in the driver information exported
through ethtool.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/fsl-dpaa2/ethernet/dpni.c')
-rw-r--r-- | drivers/staging/fsl-dpaa2/ethernet/dpni.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpni.c b/drivers/staging/fsl-dpaa2/ethernet/dpni.c index 04a5b14..e8be761 100644 --- a/drivers/staging/fsl-dpaa2/ethernet/dpni.c +++ b/drivers/staging/fsl-dpaa2/ethernet/dpni.c @@ -1594,3 +1594,35 @@ int dpni_get_taildrop(struct fsl_mc_io *mc_io, return 0; } + +/** + * dpni_get_api_version() - Get Data Path Network Interface API version + * @mc_io: Pointer to MC portal's I/O object + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' + * @major_ver: Major version of data path network interface API + * @minor_ver: Minor version of data path network interface API + * + * Return: '0' on Success; Error code otherwise. + */ +int dpni_get_api_version(struct fsl_mc_io *mc_io, + u32 cmd_flags, + u16 *major_ver, + u16 *minor_ver) +{ + struct dpni_rsp_get_api_version *rsp_params; + struct mc_command cmd = { 0 }; + int err; + + cmd.header = mc_encode_cmd_header(DPNI_CMDID_GET_API_VERSION, + cmd_flags, 0); + + err = mc_send_command(mc_io, &cmd); + if (err) + return err; + + rsp_params = (struct dpni_rsp_get_api_version *)cmd.params; + *major_ver = le16_to_cpu(rsp_params->major); + *minor_ver = le16_to_cpu(rsp_params->minor); + + return 0; +} |