[dpdk-dev] [PATCH v4 40/41] net/dpaa: support for firmware version get API
Shreyansh Jain
shreyansh.jain at nxp.com
Thu Sep 21 15:18:25 CEST 2017
On Monday 18 September 2017 08:27 PM, Ferruh Yigit wrote:
> On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
>> From: Hemant Agrawal <hemant.agrawal at nxp.com>
>>
>> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
>
> <...>
>
>> +static int
>> +dpaa_fw_version_get(struct rte_eth_dev *dev __rte_unused,
>> + char *fw_version,
>> + size_t fw_size)
>> +{
>> + int ret;
>> + FILE *svr_file = NULL;
>> + unsigned int svr_ver = 0;
>> +
>> + PMD_INIT_FUNC_TRACE();
>> +
>> + svr_file = fopen("/sys/devices/soc0/soc_id", "r");
>
> Is this sysfs file fixed, can it be enumerated as soc1 etc.. in some
> systems?
The first base SoC slot is assumed to be the one for DPDK DPAA driver.
That is the reason this path is assumed to be fixed. I can move this
into a macro though, for readability.
>
>> + if (!svr_file) {
>> + DPAA_PMD_ERR("Unable to open SoC device");
>> + return -ENOTSUP; /* Not supported on this infra */
>> + }
>> +
>> + ret = fscanf(svr_file, "svr:%x", &svr_ver);
>> + if (ret <= 0) {
>> + DPAA_PMD_ERR("Unable to read SoC device");
>> + return -ENOTSUP; /* Not supported on this infra */
>> + }
>> +
>> + ret = snprintf(fw_version, fw_size,
>> + "svr:%x-fman-v%x",
>> + svr_ver,
>> + fman_ip_rev);
>> +
>> + ret += 1; /* add the size of '\0' */
>> + if (fw_size < (uint32_t)ret)
>> + return ret;
>> + else
>> + return 0;
>> +}
>
> <...>
>
>
More information about the dev
mailing list