[dpdk-dev] [PATCH v4 2/4] net/enetc: enable Rx and Tx
Ferruh Yigit
ferruh.yigit at intel.com
Mon Oct 1 17:59:53 CEST 2018
On 9/28/2018 8:45 AM, Gagandeep Singh wrote:
> Add RX and TX queue setup, datapath functions
>
> Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
<...>
> @@ -104,16 +104,19 @@ enum enetc_bdr_type {TX, RX};
> #define ETH_ADDR_LEN 6
>
> /* general register accessors */
> -#define enetc_rd_reg(reg) rte_read32((reg))
> -#define enetc_wr_reg(reg, val) rte_write32((val), (reg))
> -#define enetc_rd(hw, off) enetc_rd_reg((hw)->reg + (off))
> -#define enetc_wr(hw, off, val) enetc_wr_reg((hw)->reg + (off), val)
> +#define enetc_rd_reg(reg) rte_read32((void *)(reg))
> +#define enetc_wr_reg(reg, val) rte_write32((val), (void *)(reg))
> +#define enetc_rd(hw, off) enetc_rd_reg((size_t)(hw)->reg + (off))
> +#define enetc_wr(hw, off, val) enetc_wr_reg((size_t)(hw)->reg + (off), val)
> /* port register accessors - PF only */
> -#define enetc_port_rd(hw, off) enetc_rd_reg((hw)->port + (off))
> -#define enetc_port_wr(hw, off, val) enetc_wr_reg((hw)->port + (off), val)
> +#define enetc_port_rd(hw, off) enetc_rd_reg((size_t)(hw)->port + (off))
> +#define enetc_port_wr(hw, off, val) \
> + enetc_wr_reg((size_t)(hw)->port + (off), val)
> /* global register accessors - PF only */
> -#define enetc_global_rd(hw, off) enetc_rd_reg((hw)->global + (off))
> -#define enetc_global_wr(hw, off, val) enetc_wr_reg((hw)->global + (off), val)
> +#define enetc_global_rd(hw, off) \
> + enetc_rd_reg((size_t)(hw)->global + (off))
> +#define enetc_global_wr(hw, off, val) \
> + enetc_wr_reg((size_t)(hw)->global + (off), val)
Is there any reason to not add these functions as updated version at first plane
at previous patch?
> /* BDR register accessors, see ENETC_BDR() */
> #define enetc_bdr_rd(hw, t, n, off) \
> enetc_rd(hw, ENETC_BDR(t, n, off))
> diff --git a/drivers/net/enetc/enetc.h b/drivers/net/enetc/enetc.h
> index 9fa7c726c..140daf0dd 100644
> --- a/drivers/net/enetc/enetc.h
> +++ b/drivers/net/enetc/enetc.h
> @@ -18,7 +18,11 @@
> #define MAX_RX_RINGS 1
>
> /* Max BD counts per Ring. */
> -#define MAX_BD_COUNT 256
> +#define MAX_BD_COUNT 64000
Same here, is there a reason this has not been defined as 64000 in prev patch at
first place.
Or if this variable not used in prev patch at all, why not introduce here.
<...>
> @@ -37,6 +46,10 @@ static const struct eth_dev_ops enetc_ops = {
> .dev_close = enetc_dev_close,
> .link_update = enetc_link_update,
> .dev_infos_get = enetc_dev_infos_get,
> + .rx_queue_setup = enetc_rx_queue_setup,
> + .rx_queue_release = enetc_rx_queue_release,
> + .tx_queue_setup = enetc_tx_queue_setup,
> + .tx_queue_release = enetc_tx_queue_release,
It is not very explicit in API doc but generally PMDs clean all queue related
resources in dev_close() too, can you please implement it.
More information about the dev
mailing list