This patch moves the internal symbols to INTERNAL sections
so that any change in them is not reported as ABI breakage.
This patch also removes two symbols, which were not used
anywhere else i.e. rte_fslmc_vfio_dmamap & dpaa2_get_qbman_swp
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
15 files changed:
; Ignore moving DPAAx stable functions to INTERNAL
[suppress_file]
file_name_regexp = ^librte_common_dpaax\.
; Ignore moving DPAAx stable functions to INTERNAL
[suppress_file]
file_name_regexp = ^librte_common_dpaax\.
+[suppress_file]
+ file_name_regexp = ^librte_bus_fslmc\.
#ifndef _FSLMC_VFIO_H_
#define _FSLMC_VFIO_H_
#ifndef _FSLMC_VFIO_H_
#define _FSLMC_VFIO_H_
#include <rte_vfio.h>
/* Pathname of FSL-MC devices directory. */
#include <rte_vfio.h>
/* Pathname of FSL-MC devices directory. */
} fslmc_vfio_container;
extern char *fslmc_container;
} fslmc_vfio_container;
extern char *fslmc_container;
int rte_dpaa2_intr_enable(struct rte_intr_handle *intr_handle, int index);
int rte_dpaa2_intr_enable(struct rte_intr_handle *intr_handle, int index);
int rte_dpaa2_intr_disable(struct rte_intr_handle *intr_handle, int index);
int rte_dpaa2_vfio_setup_intr(struct rte_intr_handle *intr_handle,
int rte_dpaa2_intr_disable(struct rte_intr_handle *intr_handle, int index);
int rte_dpaa2_vfio_setup_intr(struct rte_intr_handle *intr_handle,
#ifndef __FSL_DPBP_H
#define __FSL_DPBP_H
#ifndef __FSL_DPBP_H
#define __FSL_DPBP_H
+#include <rte_compat.h>
+
/*
* Data Path Buffer Pool API
* Contains initialization APIs and runtime control APIs for DPBP
/*
* Data Path Buffer Pool API
* Contains initialization APIs and runtime control APIs for DPBP
int dpbp_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpbp_id,
int dpbp_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpbp_id,
uint32_t cmd_flags,
uint32_t obj_id);
uint32_t cmd_flags,
uint32_t obj_id);
int dpbp_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpbp_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpbp_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpbp_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
uint16_t token,
int *en);
uint16_t token,
int *en);
int dpbp_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpbp_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpbp_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpbp_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
uint16_t *major_ver,
uint16_t *minor_ver);
uint16_t *major_ver,
uint16_t *minor_ver);
int dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int order_preservation_en;
};
int order_preservation_en;
};
int dpci_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpci_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
uint16_t *major_ver,
uint16_t *minor_ver);
uint16_t *major_ver,
uint16_t *minor_ver);
int dpci_set_opr(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpci_set_opr(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
uint8_t options,
struct opr_cfg *cfg);
uint8_t options,
struct opr_cfg *cfg);
int dpci_get_opr(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpci_get_opr(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
*/
#define DPCON_INVALID_DPIO_ID (int)(-1)
*/
#define DPCON_INVALID_DPIO_ID (int)(-1)
int dpcon_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpcon_id,
int dpcon_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpcon_id,
uint8_t num_priorities;
};
uint8_t num_priorities;
};
int dpcon_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpcon_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
#ifndef __FSL_DPDMAI_H
#define __FSL_DPDMAI_H
#ifndef __FSL_DPDMAI_H
#define __FSL_DPDMAI_H
+#include <rte_compat.h>
+
struct fsl_mc_io;
/* Data Path DMA Interface API
struct fsl_mc_io;
/* Data Path DMA Interface API
*/
#define DPDMAI_ALL_QUEUES (uint8_t)(-1)
*/
#define DPDMAI_ALL_QUEUES (uint8_t)(-1)
int dpdmai_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpdmai_id,
uint16_t *token);
int dpdmai_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpdmai_id,
uint16_t *token);
int dpdmai_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpdmai_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
uint32_t cmd_flags,
uint32_t object_id);
uint32_t cmd_flags,
uint32_t object_id);
int dpdmai_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpdmai_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpdmai_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpdmai_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
uint8_t num_of_queues;
};
uint8_t num_of_queues;
};
int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
#ifndef __FSL_DPIO_H
#define __FSL_DPIO_H
#ifndef __FSL_DPIO_H
#define __FSL_DPIO_H
+#include <rte_compat.h>
+
/* Data Path I/O Portal API
* Contains initialization APIs and runtime control APIs for DPIO
*/
struct fsl_mc_io;
/* Data Path I/O Portal API
* Contains initialization APIs and runtime control APIs for DPIO
*/
struct fsl_mc_io;
int dpio_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpio_id,
uint16_t *token);
int dpio_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpio_id,
uint16_t *token);
int dpio_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpio_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
uint32_t cmd_flags,
uint32_t object_id);
uint32_t cmd_flags,
uint32_t object_id);
int dpio_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpio_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpio_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpio_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
uint16_t token,
int *en);
uint16_t token,
int *en);
int dpio_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpio_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token);
int dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
uint16_t token,
uint8_t *sdest);
uint16_t token,
uint8_t *sdest);
int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpcon_id,
uint8_t *channel_index);
int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpcon_id,
uint8_t *channel_index);
int dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpio_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
int dpio_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
#ifndef __FSL_DPMNG_H
#define __FSL_DPMNG_H
#ifndef __FSL_DPMNG_H
#define __FSL_DPMNG_H
+#include <rte_compat.h>
+
/*
* Management Complex General API
* Contains general API for the Management Complex firmware
/*
* Management Complex General API
* Contains general API for the Management Complex firmware
int mc_get_version(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
struct mc_version *mc_ver_info);
int mc_get_version(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
struct mc_version *mc_ver_info);
int mc_get_soc_version(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
struct mc_soc_version *mc_platform_info);
int mc_get_soc_version(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
struct mc_soc_version *mc_platform_info);
#ifndef __FSL_MC_CMD_H
#define __FSL_MC_CMD_H
#ifndef __FSL_MC_CMD_H
#define __FSL_MC_CMD_H
-#include <rte_byteorder.h>
+#include <rte_byteorder.h>
+#include <rte_compat.h>
+
#define MC_CMD_NUM_OF_PARAMS 7
#define phys_addr_t uint64_t
#define MC_CMD_NUM_OF_PARAMS 7
#define phys_addr_t uint64_t
#define MC_CMD_HDR_FLAGS_MASK 0xFF00FF00
#define MC_CMD_HDR_FLAGS_MASK 0xFF00FF00
int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd);
static inline uint64_t mc_encode_cmd_header(uint16_t cmd_id,
int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd);
static inline uint64_t mc_encode_cmd_header(uint16_t cmd_id,
extern struct dpaa2_io_portal_t dpaa2_io_portal[RTE_MAX_LCORE];
/* Affine a DPIO portal to current processing thread */
extern struct dpaa2_io_portal_t dpaa2_io_portal[RTE_MAX_LCORE];
/* Affine a DPIO portal to current processing thread */
int dpaa2_affine_qbman_swp(void);
/* Affine additional DPIO portal to current crypto processing thread */
int dpaa2_affine_qbman_swp(void);
/* Affine additional DPIO portal to current crypto processing thread */
int dpaa2_affine_qbman_ethrx_swp(void);
/* allocate memory for FQ - dq storage */
int dpaa2_affine_qbman_ethrx_swp(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 */
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);
/* free the enqueue response descriptors */
void
dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage);
/* free the enqueue response descriptors */
uint32_t
dpaa2_free_eq_descriptors(void);
uint32_t
dpaa2_free_eq_descriptors(void);
{
rte_global_active_dqs_list[dpio_index].global_active_dqs = dqs;
}
{
rte_global_active_dqs_list[dpio_index].global_active_dqs = dqs;
}
struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void);
struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void);
void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp);
void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp);
int dpaa2_dpbp_supported(void);
int dpaa2_dpbp_supported(void);
struct dpaa2_dpci_dev *rte_dpaa2_alloc_dpci_dev(void);
struct dpaa2_dpci_dev *rte_dpaa2_alloc_dpci_dev(void);
void rte_dpaa2_free_dpci_dev(struct dpaa2_dpci_dev *dpci);
#endif
void rte_dpaa2_free_dpci_dev(struct dpaa2_dpci_dev *dpci);
#endif
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (C) 2015 Freescale Semiconductor, Inc.
*/
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (C) 2015 Freescale Semiconductor, Inc.
*/
+#ifndef _FSL_QBMAN_DEBUG_H
+#define _FSL_QBMAN_DEBUG_H
+
+#include <rte_compat.h>
uint8_t reserved2[29];
};
uint8_t reserved2[29];
};
int qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
struct qbman_fq_query_np_rslt *r);
int qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
struct qbman_fq_query_np_rslt *r);
uint32_t qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r);
uint32_t qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r);
uint32_t qbman_fq_state_byte_count(const struct qbman_fq_query_np_rslt *r);
uint32_t qbman_fq_state_byte_count(const struct qbman_fq_query_np_rslt *r);
+
+#endif /* !_FSL_QBMAN_DEBUG_H */
#ifndef _FSL_QBMAN_PORTAL_H
#define _FSL_QBMAN_PORTAL_H
#ifndef _FSL_QBMAN_PORTAL_H
#define _FSL_QBMAN_PORTAL_H
#include <fsl_qbman_base.h>
#define SVR_LS1080A 0x87030000
#include <fsl_qbman_base.h>
#define SVR_LS1080A 0x87030000
* @p: the given software portal object.
* @mask: The value to set in SWP_ISR register.
*/
* @p: the given software portal object.
* @mask: The value to set in SWP_ISR register.
*/
void qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask);
/**
void qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask);
/**
* rather by specifying the index (from 0 to 15) that has been mapped to the
* desired channel.
*/
* rather by specifying the index (from 0 to 15) that has been mapped to the
* desired channel.
*/
void qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable);
/* ------------------- */
void qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable);
/* ------------------- */
* default/starting state.
* @d: the pull dequeue descriptor to be cleared.
*/
* default/starting state.
* @d: the pull dequeue descriptor to be cleared.
*/
void qbman_pull_desc_clear(struct qbman_pull_desc *d);
/**
void qbman_pull_desc_clear(struct qbman_pull_desc *d);
/**
* the caller provides in 'storage_phys'), and 'stash' controls whether or not
* those writes to main-memory express a cache-warming attribute.
*/
* the caller provides in 'storage_phys'), and 'stash' controls whether or not
* those writes to main-memory express a cache-warming attribute.
*/
void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
struct qbman_result *storage,
uint64_t storage_phys,
void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
struct qbman_result *storage,
uint64_t storage_phys,
* @d: the pull dequeue descriptor to be set.
* @numframes: number of frames to be set, must be between 1 and 16, inclusive.
*/
* @d: the pull dequeue descriptor to be set.
* @numframes: number of frames to be set, must be between 1 and 16, inclusive.
*/
void qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
uint8_t numframes);
/**
void qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
uint8_t numframes);
/**
* qbman_pull_desc_set_fq() - Set fqid from which the dequeue command dequeues.
* @fqid: the frame queue index of the given FQ.
*/
* qbman_pull_desc_set_fq() - Set fqid from which the dequeue command dequeues.
* @fqid: the frame queue index of the given FQ.
*/
void qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid);
/**
void qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid);
/**
* Return 0 for success, and -EBUSY if the software portal is not ready
* to do pull dequeue.
*/
* Return 0 for success, and -EBUSY if the software portal is not ready
* to do pull dequeue.
*/
int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d);
/* -------------------------------- */
int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d);
/* -------------------------------- */
* only once, so repeated calls can return a sequence of DQRR entries, without
* requiring they be consumed immediately or in any particular order.
*/
* only once, so repeated calls can return a sequence of DQRR entries, without
* requiring they be consumed immediately or in any particular order.
*/
const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *p);
/**
* qbman_swp_prefetch_dqrr_next() - prefetch the next DQRR entry.
* @s: the software portal object.
*/
const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *p);
/**
* qbman_swp_prefetch_dqrr_next() - prefetch the next DQRR entry.
* @s: the software portal object.
*/
void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s);
/**
void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s);
/**
* @s: the software portal object.
* @dq: the DQRR entry to be consumed.
*/
* @s: the software portal object.
* @dq: the DQRR entry to be consumed.
*/
void qbman_swp_dqrr_consume(struct qbman_swp *s, const struct qbman_result *dq);
/**
void qbman_swp_dqrr_consume(struct qbman_swp *s, const struct qbman_result *dq);
/**
* @s: the software portal object.
* @dqrr_index: the DQRR index entry to be consumed.
*/
* @s: the software portal object.
* @dqrr_index: the DQRR index entry to be consumed.
*/
void qbman_swp_dqrr_idx_consume(struct qbman_swp *s, uint8_t dqrr_index);
/**
void qbman_swp_dqrr_idx_consume(struct qbman_swp *s, uint8_t dqrr_index);
/**
*
* Return dqrr index.
*/
*
* Return dqrr index.
*/
uint8_t qbman_get_dqrr_idx(const struct qbman_result *dqrr);
/**
uint8_t qbman_get_dqrr_idx(const struct qbman_result *dqrr);
/**
*
* Return dqrr entry object.
*/
*
* Return dqrr entry object.
*/
struct qbman_result *qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx);
/* ------------------------------------------------- */
struct qbman_result *qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx);
/* ------------------------------------------------- */
* Return 1 for getting a valid dequeue result, or 0 for not getting a valid
* dequeue result.
*/
* Return 1 for getting a valid dequeue result, or 0 for not getting a valid
* dequeue result.
*/
int qbman_result_has_new_result(struct qbman_swp *s,
struct qbman_result *dq);
int qbman_result_has_new_result(struct qbman_swp *s,
struct qbman_result *dq);
* Return 1 for getting a valid dequeue result, or 0 for not getting a valid
* dequeue result.
*/
* Return 1 for getting a valid dequeue result, or 0 for not getting a valid
* dequeue result.
*/
int qbman_check_command_complete(struct qbman_result *dq);
int qbman_check_command_complete(struct qbman_result *dq);
int qbman_check_new_result(struct qbman_result *dq);
/* -------------------------------------------------------- */
int qbman_check_new_result(struct qbman_result *dq);
/* -------------------------------------------------------- */
*
* Return the state field.
*/
*
* Return the state field.
*/
uint8_t qbman_result_DQ_flags(const struct qbman_result *dq);
/**
uint8_t qbman_result_DQ_flags(const struct qbman_result *dq);
/**
uint16_t qbman_result_DQ_seqnum(const struct qbman_result *dq);
/**
uint16_t qbman_result_DQ_seqnum(const struct qbman_result *dq);
/**
uint16_t qbman_result_DQ_odpid(const struct qbman_result *dq);
/**
uint16_t qbman_result_DQ_odpid(const struct qbman_result *dq);
/**
*
* Return the frame queue context.
*/
*
* Return the frame queue context.
*/
uint64_t qbman_result_DQ_fqd_ctx(const struct qbman_result *dq);
/**
uint64_t qbman_result_DQ_fqd_ctx(const struct qbman_result *dq);
/**
*
* Return the frame descriptor.
*/
*
* Return the frame descriptor.
*/
const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq);
/* State-change notifications (FQDAN/CDAN/CSCN/...). */
const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq);
/* State-change notifications (FQDAN/CDAN/CSCN/...). */
*
* Return the state in the notifiation.
*/
*
* Return the state in the notifiation.
*/
uint8_t qbman_result_SCN_state(const struct qbman_result *scn);
/**
uint8_t qbman_result_SCN_state(const struct qbman_result *scn);
/**
* default/starting state.
* @d: the given enqueue descriptor.
*/
* default/starting state.
* @d: the given enqueue descriptor.
*/
void qbman_eq_desc_clear(struct qbman_eq_desc *d);
/* Exactly one of the following descriptor "actions" should be set. (Calling
void qbman_eq_desc_clear(struct qbman_eq_desc *d);
/* Exactly one of the following descriptor "actions" should be set. (Calling
* @response_success: 1 = enqueue with response always; 0 = enqueue with
* rejections returned on a FQ.
*/
* @response_success: 1 = enqueue with response always; 0 = enqueue with
* rejections returned on a FQ.
*/
void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success);
/**
* qbman_eq_desc_set_orp() - Set order-resotration in the enqueue descriptor
void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success);
/**
* qbman_eq_desc_set_orp() - Set order-resotration in the enqueue descriptor
* @incomplete: indiates whether this is the last fragments using the same
* sequeue number.
*/
* @incomplete: indiates whether this is the last fragments using the same
* sequeue number.
*/
void qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
uint16_t opr_id, uint16_t seqnum, int incomplete);
void qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
uint16_t opr_id, uint16_t seqnum, int incomplete);
* data structure.) 'stash' controls whether or not the write to main-memory
* expresses a cache-warming attribute.
*/
* data structure.) 'stash' controls whether or not the write to main-memory
* expresses a cache-warming attribute.
*/
void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
uint64_t storage_phys,
int stash);
void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
uint64_t storage_phys,
int stash);
* result "storage" before issuing an enqueue, and use any non-zero 'token'
* value.
*/
* result "storage" before issuing an enqueue, and use any non-zero 'token'
* value.
*/
void qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token);
/**
void qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token);
/**
* @d: the enqueue descriptor
* @fqid: the id of the frame queue to be enqueued.
*/
* @d: the enqueue descriptor
* @fqid: the id of the frame queue to be enqueued.
*/
void qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid);
/**
void qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid);
/**
* @qd_bin: the queuing destination bin
* @qd_prio: the queuing destination priority.
*/
* @qd_bin: the queuing destination bin
* @qd_prio: the queuing destination priority.
*/
void qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
uint16_t qd_bin, uint8_t qd_prio);
void qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
uint16_t qd_bin, uint8_t qd_prio);
* held-active (order-preserving) FQ, whether the FQ should be parked instead of
* being rescheduled.)
*/
* held-active (order-preserving) FQ, whether the FQ should be parked instead of
* being rescheduled.)
*/
void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
uint8_t dqrr_idx, int park);
void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
uint8_t dqrr_idx, int park);
*
* Return the fd pointer.
*/
*
* Return the fd pointer.
*/
struct qbman_fd *qbman_result_eqresp_fd(struct qbman_result *eqresp);
/**
struct qbman_fd *qbman_result_eqresp_fd(struct qbman_result *eqresp);
/**
* This value is set into the response id before the enqueue command, which,
* get overwritten by qbman once the enqueue command is complete.
*/
* This value is set into the response id before the enqueue command, which,
* get overwritten by qbman once the enqueue command is complete.
*/
void qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val);
/**
void qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val);
/**
* copied into the enqueue response to determine if the command has been
* completed, and response has been updated.
*/
* copied into the enqueue response to determine if the command has been
* completed, and response has been updated.
*/
uint8_t qbman_result_eqresp_rspid(struct qbman_result *eqresp);
/**
uint8_t qbman_result_eqresp_rspid(struct qbman_result *eqresp);
/**
*
* Return 0 when command is sucessful.
*/
*
* Return 0 when command is sucessful.
*/
uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp);
/**
uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp);
/**
*
* Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
*/
*
* Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
*/
int qbman_swp_enqueue_multiple(struct qbman_swp *s,
const struct qbman_eq_desc *d,
const struct qbman_fd *fd,
int qbman_swp_enqueue_multiple(struct qbman_swp *s,
const struct qbman_eq_desc *d,
const struct qbman_fd *fd,
*
* Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
*/
*
* Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
*/
int qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
const struct qbman_eq_desc *d,
struct qbman_fd **fd,
int qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
const struct qbman_eq_desc *d,
struct qbman_fd **fd,
*
* Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
*/
*
* Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
*/
int qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
const struct qbman_eq_desc *d,
const struct qbman_fd *fd,
int qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
const struct qbman_eq_desc *d,
const struct qbman_fd *fd,
* default/starting state.
* @d: the qbman release descriptor.
*/
* default/starting state.
* @d: the qbman release descriptor.
*/
void qbman_release_desc_clear(struct qbman_release_desc *d);
/**
* qbman_release_desc_set_bpid() - Set the ID of the buffer pool to release to
* @d: the qbman release descriptor.
*/
void qbman_release_desc_clear(struct qbman_release_desc *d);
/**
* qbman_release_desc_set_bpid() - Set the ID of the buffer pool to release to
* @d: the qbman release descriptor.
*/
void qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid);
/**
void qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid);
/**
*
* Return 0 for success, -EBUSY if the release command ring is not ready.
*/
*
* Return 0 for success, -EBUSY if the release command ring is not ready.
*/
int qbman_swp_release(struct qbman_swp *s, const struct qbman_release_desc *d,
const uint64_t *buffers, unsigned int num_buffers);
int qbman_swp_release(struct qbman_swp *s, const struct qbman_release_desc *d,
const uint64_t *buffers, unsigned int num_buffers);
* Return 0 for success, or negative error code if the acquire command
* fails.
*/
* Return 0 for success, or negative error code if the acquire command
* fails.
*/
int qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
unsigned int num_buffers);
int qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
unsigned int num_buffers);
+ local: *;
+};
+
+EXPERIMENTAL {
+ global:
+
+ rte_fslmc_vfio_mem_dmamap;
+};
+
+INTERNAL {
global:
dpaa2_affine_qbman_ethrx_swp;
global:
dpaa2_affine_qbman_ethrx_swp;
dpaa2_free_dpbp_dev;
dpaa2_free_dq_storage;
dpaa2_free_eq_descriptors;
dpaa2_free_dpbp_dev;
dpaa2_free_dq_storage;
dpaa2_free_eq_descriptors;
dpaa2_io_portal;
dpaa2_svr_family;
dpaa2_virt_mode;
dpaa2_io_portal;
dpaa2_svr_family;
dpaa2_virt_mode;
rte_fslmc_driver_unregister;
rte_fslmc_get_device_count;
rte_fslmc_object_register;
rte_fslmc_driver_unregister;
rte_fslmc_get_device_count;
rte_fslmc_object_register;
rte_global_active_dqs_list;
rte_mcp_ptr_list;
rte_global_active_dqs_list;
rte_mcp_ptr_list;
-
- local: *;
-};
-
-EXPERIMENTAL {
- global:
-
- rte_fslmc_vfio_mem_dmamap;
* A pointer to a rte_dpaa2_driver structure describing the driver
* to be registered.
*/
* A pointer to a rte_dpaa2_driver structure describing the driver
* to be registered.
*/
void rte_fslmc_driver_register(struct rte_dpaa2_driver *driver);
/**
void rte_fslmc_driver_register(struct rte_dpaa2_driver *driver);
/**
* A pointer to a rte_dpaa2_driver structure describing the driver
* to be unregistered.
*/
* A pointer to a rte_dpaa2_driver structure describing the driver
* to be unregistered.
*/
void rte_fslmc_driver_unregister(struct rte_dpaa2_driver *driver);
/** Helper for DPAA2 device registration from driver (eth, crypto) instance */
void rte_fslmc_driver_unregister(struct rte_dpaa2_driver *driver);
/** Helper for DPAA2 device registration from driver (eth, crypto) instance */
* A pointer to a rte_dpaa_object structure describing the mc object
* to be registered.
*/
* A pointer to a rte_dpaa_object structure describing the mc object
* to be registered.
*/
void rte_fslmc_object_register(struct rte_dpaa2_object *object);
/**
void rte_fslmc_object_register(struct rte_dpaa2_object *object);
/**
* >=0 for count; 0 indicates either no device of the said type scanned or
* invalid device type.
*/
* >=0 for count; 0 indicates either no device of the said type scanned or
* invalid device type.
*/
uint32_t rte_fslmc_get_device_count(enum rte_dpaa2_dev_type device_type);
/** Helper for DPAA2 object registration */
uint32_t rte_fslmc_get_device_count(enum rte_dpaa2_dev_type device_type);
/** Helper for DPAA2 object registration */