MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dmadev_handle_dev_dump

Function dmadev_handle_dev_dump

dpdk/lib/dmadev/rte_dmadev.c:1024–1059  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1022
1023#ifndef RTE_EXEC_ENV_WINDOWS
1024static int
1025dmadev_handle_dev_dump(const char *cmd __rte_unused,
1026 const char *params,
1027 struct rte_tel_data *d)
1028{
1029 char *buf, *end_param;
1030 int dev_id, ret;
1031 FILE *f;
1032
1033 if (params == NULL || strlen(params) == 0 || !isdigit(*params))
1034 return -EINVAL;
1035
1036 dev_id = strtoul(params, &end_param, 0);
1037 if (*end_param != '\0')
1038 RTE_DMA_LOG(WARNING, "Extra parameters passed to dmadev telemetry command, ignoring");
1039
1040 buf = calloc(RTE_TEL_MAX_SINGLE_STRING_LEN, sizeof(char));
1041 if (buf == NULL)
1042 return -ENOMEM;
1043
1044 f = fmemopen(buf, RTE_TEL_MAX_SINGLE_STRING_LEN - 1, "w+");
1045 if (f == NULL) {
1046 free(buf);
1047 return -EINVAL;
1048 }
1049
1050 ret = rte_dma_dump(dev_id, f);
1051 fclose(f);
1052 if (ret == 0) {
1053 rte_tel_data_start_dict(d);
1054 rte_tel_data_string(d, buf);
1055 }
1056
1057 free(buf);
1058 return ret;
1059}
1060#endif /* !RTE_EXEC_ENV_WINDOWS */
1061
1062RTE_INIT(dmadev_init_telemetry)

Callers

nothing calls this directly

Calls 7

isdigitFunction · 0.85
strtoulFunction · 0.85
callocFunction · 0.85
rte_dma_dumpFunction · 0.85
rte_tel_data_start_dictFunction · 0.85
rte_tel_data_stringFunction · 0.85
freeFunction · 0.50

Tested by

no test coverage detected