Jose, 
> From: Ilias Apalodimas <[email protected]>
> Date: Jul/24/2019, 09:54:27 (UTC+00:00)
> 
> > Hi David, 
> > 
> > > From: Jon Hunter <[email protected]>
> > > Date: Tue, 23 Jul 2019 13:09:00 +0100
> > > 
> > > > Setting "iommu.passthrough=1" works for me. However, I am not sure where
> > > > to go from here, so any ideas you have would be great.
> > > 
> > > Then definitely we are accessing outside of a valid IOMMU mapping due
> > > to the page pool support changes.
> > 
> > Yes. On the netsec driver i did test with and without SMMU to make sure i 
> > am not
> > breaking anything.
> > Since we map the whole page on the API i think some offset on the driver 
> > causes
> > that. In any case i'll have another look on page_pool to make sure we are 
> > not
> > missing anything. 
> 
> Ilias, can it be due to this:
> 
> stmmac_main.c:
>       pp_params.order = DIV_ROUND_UP(priv->dma_buf_sz, PAGE_SIZE);
> 
> page_pool.c:
>       dma = dma_map_page_attrs(pool->p.dev, page, 0,
>                                (PAGE_SIZE << pool->p.order),
>                                pool->p.dma_dir, DMA_ATTR_SKIP_CPU_SYNC);
> 
> "order", will be at least 1 and then mapping the page can cause overlap 
> ?

well the API is calling the map with the correct page, page offset (0) and size
right? I don't see any overlapping here. Aren't we mapping what we allocate?

Why do you need higher order pages? Jumbo frames? Can we do a quick test with
the order being 0?

Thanks,
/Ilias

Reply via email to