On Wed, Oct 18, 2017 at 05:12:02PM +0800, Wei Hu (Xavier) wrote: > > > On 2017/10/18 16:42, Wei Hu (Xavier) wrote: > > > > > > On 2017/10/1 0:10, Leon Romanovsky wrote: > > > On Sat, Sep 30, 2017 at 05:28:59PM +0800, Wei Hu (Xavier) wrote: > > > > If the IOMMU is enabled, the length of sg obtained from > > > > __iommu_map_sg_attrs is not 4kB. When the IOVA is set with the sg > > > > dma address, the IOVA will not be page continuous. and the VA > > > > returned from dma_alloc_coherent is a vmalloc address. However, > > > > the VA obtained by the page_address is a discontinuous VA. Under > > > > these circumstances, the IOVA should be calculated based on the > > > > sg length, and record the VA returned from dma_alloc_coherent > > > > in the struct of hem. > > > > > > > > Signed-off-by: Wei Hu (Xavier) <xavier.huwei@xxxxxxxxxx> > > > > Signed-off-by: Shaobo Xu <xushaobo2@xxxxxxxxxx> > > > > Signed-off-by: Lijun Ou <oulijun@xxxxxxxxxx> > > > > --- > > > Doug, > > > > > > I didn't invest time in reviewing it, but having "is_vmalloc_addr" in > > > driver code to deal with dma_alloc_coherent is most probably wrong. > > > > > > Thanks > > > > > Hi, Doug > > When running in ARM64 platform, there probably be calltrace > > currently. > > Now our colleague will report it to iommu maillist and try to solve > > it. > > I also think RoCE driver shouldn't sense the difference. > > I will pull it out of this series and send v2. > > Thanks. > > > Hi, Doug & Leon > I have sent patch v2. > Thanks > Thanks
Attachment:
signature.asc
Description: PGP signature