[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