[dpdk-dev] [PATCHv6 02/33] drivers/common/dpaa2: adding qbman driver

Ferruh Yigit ferruh.yigit at intel.com
Mon Jan 23 18:30:44 CET 2017


On 1/23/2017 11:59 AM, Hemant Agrawal wrote:
> QBMAN, is a hardware block which interfaces with the other
> accelerating hardware blocks (For e.g., WRIOP) on NXP's DPAA2
> SoC for queue, buffer and packet scheduling.
> 
> This patch introduces a userspace driver for interfacing with
> the QBMAN hw block.
> 
> The qbman-portal component provides APIs to do the low level
> hardware bit twiddling for operations such as:
>       -initializing Qman software portals
>       -building and sending portal commands
>       -portal interrupt configuration and processing
> 
> This same/similar code is used in kernel and compat file is used
> to make it working in user space.
> 
> Signed-off-by: Geoff Thorpe <Geoff.Thorpe at nxp.com>
> Signed-off-by: Roy Pledge <Roy.Pledge at nxp.com>
> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> ---
<...>

> --- a/config/common_base
> +++ b/config/common_base
> @@ -287,7 +287,6 @@ CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n
>  CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_DRIVER=n
>  CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_MBOX=n
>  
> -#

Minor typo ..

>  # Compile burst-oriented VIRTIO PMD driver
>  #
>  CONFIG_RTE_LIBRTE_VIRTIO_PMD=y

<...>

> --- /dev/null
> +++ b/drivers/common/dpaa2/qbman/rte_common_dpaa2_qbman_version.map
> @@ -0,0 +1,27 @@
> +DPDK_17.02 {
> +	global:
> +
> +	qbman_check_command_complete;
> +	qbman_eq_desc_clear;
> +	qbman_eq_desc_set_fq;
> +	qbman_eq_desc_set_no_orp;
> +	qbman_eq_desc_set_qd;
> +	qbman_eq_desc_set_response;
> +	qbman_get_version;
> +	qbman_pull_desc_clear;
> +	qbman_pull_desc_set_fq;
> +	qbman_pull_desc_set_numframes;
> +	qbman_pull_desc_set_storage;
> +	qbman_release_desc_clear;
> +	qbman_release_desc_set_bpid;
> +	qbman_result_DQ_fd;
> +	qbman_result_DQ_flags;
> +	qbman_result_has_new_result;
> +	qbman_swp_acquire;
> +	qbman_swp_init;
> +	qbman_swp_pull;
> +	qbman_swp_release;
> +	qbman_swp_send_multiple;

Overall, dpdk library exported APIs not having DPDK prefix (rte_) is a
concern, which already pointed by Thomas.

I guess only user of this library will be other dpaa2 code, so these are
not really APIs. Not sure how to proceed.
I think I have seen "_rte" prefix used in some APIs to say that is
internal API, does it make sense to use that API here?

> +
> +	local: *;
> +};
> 



More information about the dev mailing list