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

Function rte_compressdev_pmd_allocate

dpdk/lib/compressdev/rte_compressdev.c:225–269  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

223}
224
225struct rte_compressdev *
226rte_compressdev_pmd_allocate(const char *name, int socket_id)
227{
228 struct rte_compressdev *compressdev;
229 uint8_t dev_id;
230
231 if (rte_compressdev_pmd_get_named_dev(name) != NULL) {
232 COMPRESSDEV_LOG(ERR,
233 "comp device with name %s already allocated!", name);
234 return NULL;
235 }
236
237 dev_id = rte_compressdev_find_free_device_index();
238 if (dev_id == RTE_COMPRESS_MAX_DEVS) {
239 COMPRESSDEV_LOG(ERR, "Reached maximum number of comp devices");
240 return NULL;
241 }
242 compressdev = rte_compressdev_get_dev(dev_id);
243
244 if (compressdev->data == NULL) {
245 struct rte_compressdev_data *compressdev_data =
246 compressdev_globals.data[dev_id];
247
248 int retval = rte_compressdev_data_alloc(dev_id,
249 &compressdev_data, socket_id);
250
251 if (retval < 0 || compressdev_data == NULL)
252 return NULL;
253
254 compressdev->data = compressdev_data;
255
256 strlcpy(compressdev->data->name, name,
257 RTE_COMPRESSDEV_NAME_MAX_LEN);
258
259 compressdev->data->dev_id = dev_id;
260 compressdev->data->socket_id = socket_id;
261 compressdev->data->dev_started = 0;
262
263 compressdev->attached = RTE_COMPRESSDEV_ATTACHED;
264
265 compressdev_globals.nb_devs++;
266 }
267
268 return compressdev;
269}
270
271int
272rte_compressdev_pmd_release_device(struct rte_compressdev *compressdev)

Callers 1

Calls 5

rte_compressdev_get_devFunction · 0.85
strlcpyFunction · 0.50

Tested by

no test coverage detected