RE: [PATCH v3 5/6] dpaa_eth: fix iova handling for contiguous frames
> -Original Message- > From: Christoph Hellwig > Sent: Friday, May 31, 2019 7:56 PM > > On Fri, May 31, 2019 at 04:53:16PM +, Laurentiu Tudor wrote: > > Unfortunately due to our hardware particularities we do not have > alternatives. This is also the case for our next generation of ethernet > drivers [1]. I'll let my colleagues that work on the ethernet drivers to > comment more on this. > > Then you need to enhance the DMA API to support your use case instead > of using an API only supported for two specific IOMMU implementations. > > Remember in Linux you can should improve core code and not hack around > it in crappy ways making lots of assumptions in your drivers. Alright, I'm ok with that. I'll try to come up with something, will keep you in the loop. --- Best Regards, Laurentiu
Re: [PATCH v3 5/6] dpaa_eth: fix iova handling for contiguous frames
On Fri, May 31, 2019 at 04:53:16PM +, Laurentiu Tudor wrote: > Unfortunately due to our hardware particularities we do not have > alternatives. This is also the case for our next generation of ethernet > drivers [1]. I'll let my colleagues that work on the ethernet drivers to > comment more on this. Then you need to enhance the DMA API to support your use case instead of using an API only supported for two specific IOMMU implementations. Remember in Linux you can should improve core code and not hack around it in crappy ways making lots of assumptions in your drivers.
RE: [PATCH v3 5/6] dpaa_eth: fix iova handling for contiguous frames
Hi Christoph, > -Original Message- > From: Christoph Hellwig > Sent: Friday, May 31, 2019 7:32 PM > > On Thu, May 30, 2019 at 05:19:50PM +0300, laurentiu.tu...@nxp.com wrote: > > +static phys_addr_t dpaa_iova_to_phys(const struct dpaa_priv *priv, > > +dma_addr_t addr) > > +{ > > + return priv->domain ? iommu_iova_to_phys(priv->domain, addr) : addr; > > +} > > Again, a driver using the iommu API must not call iommu_* APIs. > > This chane is not acceptable. Unfortunately due to our hardware particularities we do not have alternatives. This is also the case for our next generation of ethernet drivers [1]. I'll let my colleagues that work on the ethernet drivers to comment more on this. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c#n37 --- Best Regards, Laurentiu
Re: [PATCH v3 5/6] dpaa_eth: fix iova handling for contiguous frames
On Thu, May 30, 2019 at 05:19:50PM +0300, laurentiu.tu...@nxp.com wrote: > +static phys_addr_t dpaa_iova_to_phys(const struct dpaa_priv *priv, > + dma_addr_t addr) > +{ > + return priv->domain ? iommu_iova_to_phys(priv->domain, addr) : addr; > +} Again, a driver using the iommu API must not call iommu_* APIs. This chane is not acceptable.