Re: [PATCH 2/3 v3] iommu/fsl: Add iommu domain attributes required by fsl PAMU driver.

Scott Wood
2012-10-22T22:05:50Z

On 10/17/2012 12:32:49 PM, Varun Sethi wrote:
> Added the following domain attributes required by FSL PAMU driver:
> 1. Subwindows field added to the iommu domain geometry attribute.
> 2. Added new iommu stash attribute, which allows setting of the
> LIODN specific stash id parameter through IOMMU API.
> 3. Added an attribute for enabling/disabling DMA to a particular
> memory window.
>
> Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
> ---
> change in v3:
> -renamed the stash attribute targets
>
> include/linux/iommu.h | 35 +++++++++++++++++++++++++++++++++++
> 1 files changed, 35 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index f3b99e1..c3b9d73 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -44,6 +44,33 @@ struct iommu_domain_geometry {
> dma_addr_t aperture_start; /* First address that can be
> mapped */
> dma_addr_t aperture_end; /* Last address that can be
> mapped */
> bool force_aperture; /* DMA only allowed in mappable
> range? */
> +
> + /* The subwindows field indicates number of DMA subwindows
> supported
> + * by the geometry. Following is the interpretation of
> + * values for this field:
> + * 0 : This implies that the supported geometry size is 1 MB
> + * with each subwindow size being 4KB. Thus number of
> subwindows

Whitespace

> + * being = 1MB/4KB = 256.
> + * 1 : Only one DMA window i.e. no subwindows.
> + * value other than 0 or 1 would indicate actual number of
> subwindows.
> + */

This language is way too specific for the generic geometry struct
(especially when you start talking about specific sizes). Please
explain in implementation-neutral terms what this field means.

> @@ -60,6 +87,14 @@ struct iommu_domain {
> enum iommu_attr {
> DOMAIN_ATTR_MAX,
> DOMAIN_ATTR_GEOMETRY,
> + /* Set the IOMMU hardware stashing
> + * parameters.
> + */
> + DOMAIN_ATTR_STASH,
> + /* Explicity enable/disable DMA for a
> + * particular memory window.
> + */
> + DOMAIN_ATTR_ENABLE,
> };

Whitespace

-Scott