[dpdk-dev] [PATCH v4 3/3] net/enetc: enable dpaax library

Gagandeep Singh G.Singh at nxp.com
Tue Oct 22 13:30:58 CEST 2019



> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Tuesday, October 22, 2019 2:31 PM
> To: Gagandeep Singh <G.Singh at nxp.com>; dev at dpdk.org
> Subject: Re: [PATCH v4 3/3] net/enetc: enable dpaax library
> 
> On 10/22/2019 6:31 AM, Gagandeep Singh wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ferruh Yigit <ferruh.yigit at intel.com>
> >> Sent: Monday, October 21, 2019 9:26 PM
> >> To: Gagandeep Singh <G.Singh at nxp.com>; dev at dpdk.org
> >> Subject: Re: [PATCH v4 3/3] net/enetc: enable dpaax library
> >>
> >> On 10/21/2019 11:50 AM, Gagandeep Singh wrote:
> >>> With this patch, enetc driver would start using the
> >>> physical-virtual library interfaces.
> >>
> >> Out of curiosity what does it mean "start using the physical-virtual library
> >> interfaces" ?  Can you please provide a little more details how it is done?
> >>
> > I was just trying to explain that from now onwards, enetc driver
> > will start interact with DPAAX library for PA to VA translation in
> > case physical mode is enabled.
> 
> If it will be used later, what about adding this change in the patch it needs to
> be used?

This is right that currently enetc is not using the dpaaX table for PA->VA translation,
But with this change, caam JR driver can get benefits of dpaaX, when used with
enetc over enetc supported SoCs( e.g. in IPsec-secgw application)

Here is caam ptov code:

static inline void *
caam_jr_dma_ptov(rte_iova_t paddr)
{
	void *va;
	va = dpaax_iova_table_get_va(paddr);
	if (likely(va != NULL))
		return va;

	return rte_mem_iova2virt(paddr);
}

Currently, caam JR using the expensive API rte_mem_iova2virt in its datapath, and we can avoid this by enabling the dpaaX.


More information about the dev mailing list