[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1429081567.16400.16.camel@mhfsdcap03>
Date: Wed, 15 Apr 2015 15:06:07 +0800
From: Yong Wu <yong.wu@...iatek.com>
To: Tomasz Figa <tfiga@...gle.com>
CC: Robin Murphy <robin.murphy@....com>,
Mark Rutland <mark.rutland@....com>,
<devicetree@...r.kernel.org>, <srv_heupstream@...iatek.com>,
Catalin Marinas <catalin.marinas@....com>,
Joerg Roedel <joro@...tes.org>,
Will Deacon <will.deacon@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
<iommu@...ts.linux-foundation.org>,
Rob Herring <robh+dt@...nel.org>,
"Daniel Kurtz" <djkurtz@...gle.com>,
Sasha Hauer <kernel@...gutronix.de>,
"Matthias Brugger" <matthias.bgg@...il.com>,
<linux-mediatek@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Lucas Stach <l.stach@...gutronix.de>
Subject: Re: [PATCH 2/5] iommu/mediatek: Add mt8173 IOMMU driver
On Wed, 2015-04-15 at 11:20 +0900, Tomasz Figa wrote:
> On Tue, Apr 14, 2015 at 3:31 PM, Yong Wu <yong.wu@...iatek.com> wrote:
> >> >>
> >> >> > +
> >> >> > + piommu->protect_va = devm_kmalloc(piommu->dev, MTK_PROTECT_PA_ALIGN*2,
> >> >>
> >> >> style: Operators like * should have space on both sides.
> >> >>
> >> >> > + GFP_KERNEL);
> >> >>
> >> >> Shouldn't dma_alloc_coherent() be used for this?
> >> > We don't care the data in it. I think they are the same. Could you
> >> > help tell me why dma_alloc_coherent may be better.
> >>
> >> Can you guarantee that at the time you allocate the memory using
> >> devm_kmalloc() the memory is not dirty (i.e. some write back data are
> >> stored in CPU cache) and is not going to be written back in some time,
> >> overwriting data put there by IOMMU hardware?
> >>
> > As I noted in the function "mtk_iommu_hw_init":
> >
> > /* protect memory,HW will write here while translation fault */
> > protectpa = __virt_to_phys(piommu->protect_va);
> >
> > We don’t care the content of this buffer, It is ok even though its
> > data is dirty.
> > It seem to be a the protect memory. While a translation fault
> > happened, The iommu HW will overwrite here instead of writing to the
> > fault physical address which may be 0 or some random address.
> >
>
> Do you mean that it's just a dummy page for hardware behind the IOMMU
> to access when the mapping is not available? How would that work with
> potential on demand paging when the hardware needs to be blocked until
> the mapping is created?
>
> Best regards,
> Tomasz
1. YES
2. Sorry. Our iommu HW can not support this right now. The HW can not
be blocked until the mapping is created.
If the page is not ready, we can not get the physical address, then
How to fill the pagetable for that memory. I think the dma&iommu may
guaranty it?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists