#ifndef __FSL_DPDMAI_H
#define __FSL_DPDMAI_H
+#include <rte_compat.h>
+
struct fsl_mc_io;
/* Data Path DMA Interface API
*/
#define DPDMAI_ALL_QUEUES (uint8_t)(-1)
+__rte_internal
int dpdmai_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpdmai_id,
uint16_t *token);
+__rte_internal
int dpdmai_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
* should be configured with 0
*/
struct dpdmai_cfg {
+ uint8_t num_queues;
uint8_t priorities[DPDMAI_PRIO_NUM];
};
uint32_t cmd_flags,
uint32_t object_id);
+__rte_internal
int dpdmai_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
+__rte_internal
int dpdmai_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
struct dpdmai_attr {
int id;
uint8_t num_of_priorities;
+ uint8_t num_of_queues;
};
+__rte_internal
int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
};
+__rte_internal
int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
+ uint8_t queue_idx,
uint8_t priority,
const struct dpdmai_rx_queue_cfg *cfg);
uint32_t fqid;
};
+__rte_internal
int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
+ uint8_t queue_idx,
uint8_t priority,
struct dpdmai_rx_queue_attr *attr);
uint32_t fqid;
};
+__rte_internal
int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
+ uint8_t queue_idx,
uint8_t priority,
struct dpdmai_tx_queue_attr *attr);