bus/fslmc: add frame queue based dq storage
This patch adds generic functions for allowing dq storage for the frame queues. As the frame queues are common resource for different drivers this is helpful. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
parent
352db38111
commit
a0d5c9caf0
@ -411,3 +411,35 @@ dpaa2_create_dpio_device(struct fslmc_vfio_device *vdev,
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (i = 0; i < NUM_DQS_PER_QUEUE; i++) {
|
||||
if (q_storage->dq_storage[i])
|
||||
rte_free(q_storage->dq_storage[i]);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (i = 0; i < NUM_DQS_PER_QUEUE; i++) {
|
||||
q_storage->dq_storage[i] = rte_malloc(NULL,
|
||||
DPAA2_DQRR_RING_SIZE * sizeof(struct qbman_result),
|
||||
RTE_CACHE_LINE_SIZE);
|
||||
if (!q_storage->dq_storage[i])
|
||||
goto fail;
|
||||
}
|
||||
return 0;
|
||||
fail:
|
||||
i -= 1;
|
||||
while (i >= 0)
|
||||
rte_free(q_storage->dq_storage[i]);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -59,5 +59,12 @@ int dpaa2_affine_qbman_swp(void);
|
||||
/* Affine additional DPIO portal to current crypto processing thread */
|
||||
int dpaa2_affine_qbman_swp_sec(void);
|
||||
|
||||
/* allocate memory for FQ - dq storage */
|
||||
int
|
||||
dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage);
|
||||
|
||||
/* free memory for FQ- dq storage */
|
||||
void
|
||||
dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage);
|
||||
|
||||
#endif /* _DPAA2_HW_DPIO_H_ */
|
||||
|
@ -4,7 +4,9 @@ DPDK_17.05 {
|
||||
dpaa2_affine_qbman_swp;
|
||||
dpaa2_affine_qbman_swp_sec;
|
||||
dpaa2_alloc_dpbp_dev;
|
||||
dpaa2_alloc_dq_storage;
|
||||
dpaa2_free_dpbp_dev;
|
||||
dpaa2_free_dq_storage;
|
||||
dpbp_disable;
|
||||
dpbp_enable;
|
||||
dpbp_get_attributes;
|
||||
|
Loading…
Reference in New Issue
Block a user