All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: Joerg Roedel <joerg.roedel@amd.com>
Cc: Joerg Roedel <joro@8bytes.org>,
	Sethi Varun-B16395 <B16395@freescale.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	Ohad Ben-Cohen <ohad@wizery.com>,
	Tony Lindgren <tony@atomide.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Wood Scott-B07421 <B07421@freescale.com>,
	David Brown <davidb@codeaurora.org>,
	David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH 2/5] iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute
Date: Fri, 27 Jan 2012 15:22:43 -0600	[thread overview]
Message-ID: <4F2315A3.80909@freescale.com> (raw)
In-Reply-To: <20120127110120.GL19255@amd.com>

On 01/27/2012 05:01 AM, Joerg Roedel wrote:
> On Thu, Jan 26, 2012 at 02:02:26PM -0600, Scott Wood wrote:
>> On 01/26/2012 01:44 PM, Joerg Roedel wrote:
> 
>>>>> Another reason why it must be in the generic struct is the intended
>>>>> generic dma-ops layer on-top. This code can decide on this flag wheter a
>>>>> address needs to be remapped at all.
>>>>
>>>> So the DMA API would just read this, not write it?
> 
> Yes, the dma-ops code needs this information to decide whether remapping
> is required at all and where the remap window is.
> 
>>> The whole geometry thing is only implemented on the read side. There is
>>> no implementation in domain_set_attr for it. So the geometry
>>> information is read-only by default.
>>
>> We will need to be able to set this, for some vfio+kvm uses.
> 
> That's fine. Just implement a handler for it in the driver-specific
> set_attr callback then. 

OK, so there's a geometry that is read-only, and potentially a
driver-specific geometry that is read/write.  The default config for
PAMU would likely be a 1 MiB aperture in which the dma api can do
arbitrary 4k mappings -- this fits within the get generic geometry
operation.

Should generic get geometry return an error if the driver-specific
geometry has been set to something that doesn't fit within the generic
geometry model?

>>>> Still no reason why it couldn't be a separate attribute.  Then if you
>>>> get a failure trying to write it, it's more obvious why.
>>>
>>> This would mean iommu specific hacks, which are not necessary in this
>>> case.
>>
>> Why would making it a separate generic attribute require iommu specific
>> hacks?
> 
> Because the dma-ops code needs something like
> 
> 	iommu_domain_get_attr(domain, GART_ATTR_FORCE_APERTURE, data);
> 
> to check it. I call this a hack because the dma-ops code asks if it runs
> on a specific hardware. This is not necessary here.

I said a generic attribute (not GART specific) -- but if we're never
going to use the generic geometry struct for a set operation, bundling
it should be OK.

>>> Which hardware capabilities besides the geometry do you mean?
>>
>> Well, we have things like stash target (automatic cache prefetch after
>> DMA) configuration, but in this case I was thinking about restrictions
>> on what kind of aperture you can set, and what sort of mappings you can
>> create with the result.
> 
> The stash target is a perfect fit for a PAMU specific domain attribute.

Yes.

> Yes, we talked about that already. Probably we should talk about code to
> make progress here. Do you have anything ready to post?

No, at this point I'm just trying to follow the API development while
tending to other tasks.  I think Varun is working on the code for now.

-Scott

  reply	other threads:[~2012-01-27 21:22 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-19 14:30 [PATCH 0/5] IOMMU: Make IOMMU-API ready for GART-like hardware Joerg Roedel
2012-01-19 14:30 ` [PATCH 1/5] iommu: Add domain-attribute handlers Joerg Roedel
2012-01-19 14:30 ` [PATCH 2/5] iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute Joerg Roedel
2012-01-19 15:46   ` Laurent Pinchart
2012-01-19 16:07     ` Joerg Roedel
2012-01-19 16:27       ` Laurent Pinchart
     [not found]         ` <201201191727.10176.laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
2012-01-20  5:44           ` Hiroshi Doyu
2012-01-20  5:44             ` Hiroshi Doyu
2012-01-20 16:01           ` Joerg Roedel
2012-01-20 16:01             ` Joerg Roedel
     [not found]             ` <20120120160128.GF2205-5C7GfCeVMHo@public.gmane.org>
2012-02-01  9:37               ` Sethi Varun-B16395
2012-02-01  9:37                 ` Sethi Varun-B16395
2012-01-26 18:26         ` Scott Wood
2012-01-26 18:26           ` Scott Wood
     [not found]   ` <1326983405-319-3-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-01-19 17:16     ` Sethi Varun-B16395
2012-01-19 17:16   ` Sethi Varun-B16395
     [not found]     ` <C5ECD7A89D1DC44195F34B25E172658D038749-RL0Hj/+nBVCMXPU/2EZmt64g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-01-20 16:03       ` Joerg Roedel
2012-01-20 16:03         ` Joerg Roedel
2012-01-26 18:25         ` Scott Wood
2012-01-26 18:31           ` Joerg Roedel
2012-01-26 18:42             ` Scott Wood
     [not found]               ` <4F219E82.106-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2012-01-26 18:51                 ` Joerg Roedel
2012-01-26 18:51                   ` Joerg Roedel
2012-01-26 19:00                   ` Scott Wood
     [not found]                     ` <4F21A2D5.6000204-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2012-01-26 19:44                       ` Joerg Roedel
2012-01-26 19:44                         ` Joerg Roedel
2012-01-26 20:02                         ` Scott Wood
     [not found]                           ` <4F21B152.3010103-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2012-01-27 11:01                             ` Joerg Roedel
2012-01-27 11:01                               ` Joerg Roedel
2012-01-27 21:22                               ` Scott Wood [this message]
     [not found]                                 ` <4F2315A3.80909-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2012-01-30 14:24                                   ` Joerg Roedel
2012-01-30 14:24                                     ` Joerg Roedel
2012-01-30 20:21                                     ` Scott Wood
     [not found]                   ` <20120126185101.GJ19255-5C7GfCeVMHo@public.gmane.org>
2012-01-30  6:27                     ` Sethi Varun-B16395
2012-01-30  6:27                       ` Sethi Varun-B16395
     [not found]                       ` <C5ECD7A89D1DC44195F34B25E172658D041E81-RL0Hj/+nBVDAtPZc1oz0FK4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-01-30 14:30                         ` Joerg Roedel
2012-01-30 14:30                           ` Joerg Roedel
2012-01-19 14:30 ` [PATCH 3/5] iommu/vt-d: " Joerg Roedel
2012-01-19 14:30 ` [PATCH 4/5] iommu/omap: " Joerg Roedel
2012-01-19 14:30 ` [PATCH 5/5] iommu/msm: " Joerg Roedel
     [not found] ` <1326983405-319-1-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-01-20  6:14   ` [PATCH 0/5] IOMMU: Make IOMMU-API ready for GART-like hardware Hiroshi Doyu
2012-01-20  6:14     ` Hiroshi Doyu
     [not found]     ` <20120120.081403.2268989617582455160.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-20 16:05       ` joerg.roedel-5C7GfCeVMHo
2012-01-20 16:05         ` joerg.roedel

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=4F2315A3.80909@freescale.com \
    --to=scottwood@freescale.com \
    --cc=B07421@freescale.com \
    --cc=B16395@freescale.com \
    --cc=davidb@codeaurora.org \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joerg.roedel@amd.com \
    --cc=joro@8bytes.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ohad@wizery.com \
    --cc=tony@atomide.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.