All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yong Wu <yong.wu@mediatek.com>
To: Tomasz Figa <tfiga@google.com>
Cc: Robin Murphy <robin.murphy@arm.com>,
	Mark Rutland <mark.rutland@arm.com>, <devicetree@vger.kernel.org>,
	<srv_heupstream@mediatek.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Joerg Roedel <joro@8bytes.org>, Will Deacon <will.deacon@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	<iommu@lists.linux-foundation.org>,
	Rob Herring <robh+dt@kernel.org>,
	"Daniel Kurtz" <djkurtz@google.com>,
	Sasha Hauer <kernel@pengutronix.de>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	<linux-mediatek@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Lucas Stach <l.stach@pengutronix.de>
Subject: Re: [PATCH 2/5] iommu/mediatek: Add mt8173 IOMMU driver
Date: Wed, 15 Apr 2015 15:06:07 +0800	[thread overview]
Message-ID: <1429081567.16400.16.camel@mhfsdcap03> (raw)
In-Reply-To: <CAAFQd5Db+DacQYa1pdr=w5JpU76AYa-Xhd20wHBF=F6m=Efokw@mail.gmail.com>

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@mediatek.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?



WARNING: multiple messages have this Message-ID (diff)
From: Yong Wu <yong.wu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
To: Tomasz Figa <tfiga-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Daniel Kurtz <djkurtz-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Sasha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Matthias Brugger
	<matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Lucas Stach <l.stach-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Subject: Re: [PATCH 2/5] iommu/mediatek: Add mt8173 IOMMU driver
Date: Wed, 15 Apr 2015 15:06:07 +0800	[thread overview]
Message-ID: <1429081567.16400.16.camel@mhfsdcap03> (raw)
In-Reply-To: <CAAFQd5Db+DacQYa1pdr=w5JpU76AYa-Xhd20wHBF=F6m=Efokw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

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@mediatek.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?


_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: yong.wu@mediatek.com (Yong Wu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/5] iommu/mediatek: Add mt8173 IOMMU driver
Date: Wed, 15 Apr 2015 15:06:07 +0800	[thread overview]
Message-ID: <1429081567.16400.16.camel@mhfsdcap03> (raw)
In-Reply-To: <CAAFQd5Db+DacQYa1pdr=w5JpU76AYa-Xhd20wHBF=F6m=Efokw@mail.gmail.com>

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@mediatek.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?

  reply	other threads:[~2015-04-15  7:06 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06 10:48 [RFC PATCH 0/5] MT8173 IOMMU support yong.wu
2015-03-06 10:48 ` yong.wu at mediatek.com
2015-03-06 10:48 ` yong.wu-NuS5LvNUpcJWk0Htik3J/w
2015-03-06 10:48 ` [PATCH 1/5] soc: mediatek: Add SMI driver yong.wu
2015-03-06 10:48   ` yong.wu at mediatek.com
2015-03-06 10:48   ` yong.wu-NuS5LvNUpcJWk0Htik3J/w
2015-03-06 11:30   ` Paul Bolle
2015-03-06 11:30     ` Paul Bolle
2015-03-09 11:57     ` Yong Wu
2015-03-09 11:57       ` Yong Wu
2015-03-09 11:57       ` Yong Wu
2015-03-09 17:59       ` Paul Bolle
2015-03-09 17:59         ` Paul Bolle
2015-03-09 17:59         ` Paul Bolle
2015-03-09 21:54         ` Arnd Bergmann
2015-03-09 21:54           ` Arnd Bergmann
2015-03-09 21:54           ` Arnd Bergmann
2015-03-10  6:17         ` Yingjoe Chen
2015-03-10  6:17           ` Yingjoe Chen
2015-03-10  6:17           ` Yingjoe Chen
2015-03-09  3:26   ` Yingjoe Chen
2015-03-09  3:26     ` Yingjoe Chen
2015-03-09  3:26     ` Yingjoe Chen
2015-03-09 21:56     ` Arnd Bergmann
2015-03-09 21:56       ` Arnd Bergmann
2015-03-09 21:56       ` Arnd Bergmann
2015-03-10  6:27       ` Yingjoe Chen
2015-03-10  6:27         ` Yingjoe Chen
2015-03-10  6:27         ` Yingjoe Chen
2015-03-10  9:05         ` Arnd Bergmann
2015-03-10  9:05           ` Arnd Bergmann
2015-03-10  9:05           ` Arnd Bergmann
2015-03-10  9:24       ` Lucas Stach
2015-03-10  9:24         ` Lucas Stach
2015-03-10  9:24         ` Lucas Stach
2015-03-09 11:03   ` Sascha Hauer
2015-03-09 11:03     ` Sascha Hauer
2015-03-09 11:03     ` Sascha Hauer
2015-03-06 10:48 ` [PATCH 2/5] iommu/mediatek: Add mt8173 IOMMU driver yong.wu
2015-03-06 10:48   ` yong.wu at mediatek.com
2015-03-06 10:48   ` yong.wu-NuS5LvNUpcJWk0Htik3J/w
2015-03-06 10:58   ` Will Deacon
2015-03-06 10:58     ` Will Deacon
2015-03-06 10:58     ` Will Deacon
2015-03-09 12:11     ` Yong Wu
2015-03-09 12:11       ` Yong Wu
2015-03-09 12:11       ` Yong Wu
2015-03-17 15:14       ` Will Deacon
2015-03-17 15:14         ` Will Deacon
2015-03-17 15:14         ` Will Deacon
2015-03-06 17:15   ` Mitchel Humpherys
2015-03-06 17:15     ` Mitchel Humpherys
2015-03-06 17:15     ` Mitchel Humpherys
2015-03-09 12:16     ` Yong Wu
2015-03-09 12:16       ` Yong Wu
2015-03-09 12:16       ` Yong Wu
2015-03-09 16:57       ` Mitchel Humpherys
2015-03-09 16:57         ` Mitchel Humpherys
2015-03-08  4:12   ` Tomasz Figa
2015-03-08  4:12     ` Tomasz Figa
2015-03-08  4:12     ` Tomasz Figa
2015-03-12 14:16     ` Yong Wu
2015-03-12 14:16       ` Yong Wu
2015-03-12 14:16       ` Yong Wu
2015-03-09  8:24   ` Daniel Kurtz
2015-03-09  8:24     ` Daniel Kurtz
2015-03-09  8:24     ` Daniel Kurtz
2015-03-09 11:11   ` Tomasz Figa
2015-03-09 11:11     ` Tomasz Figa
2015-03-09 11:11     ` Tomasz Figa
2015-03-09 14:46     ` Yingjoe Chen
2015-03-09 14:46       ` Yingjoe Chen
2015-03-09 14:46       ` Yingjoe Chen
2015-03-09 17:00       ` Tomasz Figa
2015-03-09 17:00         ` Tomasz Figa
2015-03-09 17:00         ` Tomasz Figa
2015-03-10  3:41         ` Yingjoe Chen
2015-03-10  3:41           ` Yingjoe Chen
2015-03-10  3:41           ` Yingjoe Chen
2015-03-10  4:06           ` Tomasz Figa
2015-03-10  4:06             ` Tomasz Figa
2015-03-10  4:06             ` Tomasz Figa
2015-03-11 10:53   ` Tomasz Figa
2015-03-11 10:53     ` Tomasz Figa
2015-03-11 10:53     ` Tomasz Figa
2015-03-18 11:22     ` Yong Wu
2015-03-18 11:22       ` Yong Wu
2015-03-18 11:22       ` Yong Wu
2015-03-20 19:14       ` Robin Murphy
2015-03-20 19:14         ` Robin Murphy
2015-03-20 19:14         ` Robin Murphy
2015-04-14  6:50         ` Yong Wu
2015-04-14  6:50           ` Yong Wu
2015-04-14  6:50           ` Yong Wu
2015-03-27  9:41       ` Tomasz Figa
2015-03-27  9:41         ` Tomasz Figa
2015-03-27  9:41         ` Tomasz Figa
2015-04-14  6:31         ` Yong Wu
2015-04-14  6:31           ` Yong Wu
2015-04-14  6:31           ` Yong Wu
2015-04-15  2:20           ` Tomasz Figa
2015-04-15  2:20             ` Tomasz Figa
2015-04-15  2:20             ` Tomasz Figa
2015-04-15  7:06             ` Yong Wu [this message]
2015-04-15  7:06               ` Yong Wu
2015-04-15  7:06               ` Yong Wu
2015-04-15  7:41               ` Tomasz Figa
2015-04-15  7:41                 ` Tomasz Figa
2015-04-15  7:41                 ` Tomasz Figa
2015-04-29  6:23         ` Yong Wu
2015-04-29  6:23           ` Yong Wu
2015-04-29  6:23           ` Yong Wu
2015-03-06 10:48 ` [PATCH 3/5] dt-bindings: mediatek: Add smi dts binding yong.wu
2015-03-06 10:48   ` yong.wu at mediatek.com
2015-03-06 10:48   ` yong.wu-NuS5LvNUpcJWk0Htik3J/w
2015-03-06 11:13   ` Mark Rutland
2015-03-06 11:13     ` Mark Rutland
2015-03-06 11:13     ` Mark Rutland
2015-03-09 12:55     ` Yong Wu
2015-03-09 12:55       ` Yong Wu
2015-03-09 12:55       ` Yong Wu
2015-04-14  9:07     ` Yong Wu
2015-04-14  9:07       ` Yong Wu
2015-04-14  9:07       ` Yong Wu
2015-04-14 10:06       ` Mark Rutland
2015-04-14 10:06         ` Mark Rutland
2015-04-14 10:06         ` Mark Rutland
2015-04-14 13:49         ` Yong Wu
2015-04-14 13:49           ` Yong Wu
2015-04-14 13:49           ` Yong Wu
2015-04-14 13:55           ` Yong Wu
2015-04-14 13:55             ` Yong Wu
2015-04-14 13:55             ` Yong Wu
2015-04-14 13:56           ` Mark Rutland
2015-04-14 13:56             ` Mark Rutland
2015-04-14 13:56             ` Mark Rutland
2015-03-06 14:48   ` Sergei Shtylyov
2015-03-06 14:48     ` Sergei Shtylyov
2015-03-06 14:48     ` Sergei Shtylyov
2015-03-09 12:32     ` Yong Wu
2015-03-09 12:32       ` Yong Wu
2015-03-09 12:32       ` Yong Wu
2015-03-06 10:48 ` [PATCH 4/5] dt-bindings: iommu: Add binding for mediatek IOMMU yong.wu
2015-03-06 10:48   ` yong.wu at mediatek.com
2015-03-06 10:48   ` yong.wu-NuS5LvNUpcJWk0Htik3J/w
2015-03-06 11:21   ` Mark Rutland
2015-03-06 11:21     ` Mark Rutland
2015-03-06 11:21     ` Mark Rutland
2015-03-09 11:30     ` Yong Wu
2015-03-09 11:30       ` Yong Wu
2015-03-09 11:30       ` Yong Wu
2015-03-06 10:48 ` [PATCH 5/5] dts: mt8173: Add iommu/smi nodes for mt8173 yong.wu
2015-03-06 10:48   ` yong.wu at mediatek.com
2015-03-06 10:48   ` yong.wu-NuS5LvNUpcJWk0Htik3J/w
2015-03-07 15:20   ` Daniel Kurtz
2015-03-07 15:20     ` Daniel Kurtz
2015-03-07 15:20     ` Daniel Kurtz
2015-03-09 12:18     ` Yong Wu
2015-03-09 12:18       ` Yong Wu
2015-03-09 12:18       ` Yong Wu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1429081567.16400.16.camel@mhfsdcap03 \
    --to=yong.wu@mediatek.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=djkurtz@google.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=kernel@pengutronix.de \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=srv_heupstream@mediatek.com \
    --cc=tfiga@google.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.