All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
To: Chen Feng <puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	pawel.moll-5wv7dgnIgG8@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	puck.chen-Dw/NWeUnuQfQT0dZR+AlfA@public.gmane.org,
	w.f-hv44wF8Li93QT0dZR+AlfA@public.gmane.org,
	xuwei5-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org,
	guodong.xu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	arnd-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	haojian.zhuang-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH V5 RESEND 2/3] iommu/hisilicon: Add hi6220-SoC smmu driver
Date: Fri, 27 Nov 2015 13:02:03 +0100	[thread overview]
Message-ID: <20151127120203.GI24300@8bytes.org> (raw)
In-Reply-To: <1447986309-47548-3-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>

On Fri, Nov 20, 2015 at 10:25:08AM +0800, Chen Feng wrote:
> +config HI6220_IOMMU
> +	bool "Hi6220 IOMMU Support"
> +	depends on ARM64
> +	select IOMMU_API
> +	select IOMMU_IOVA
> +	help
> +	  Enable IOMMU Driver for hi6220 SoC. The IOMMU API and IOMMU IOVA
> +	  is also selected.

The last sentence is of little help for the user. Better put the reasons
in here when a user should select this option.

> +	/*set axi id*/

Coding style nit: Please write these oneline comments with spaces, like
this:

	/* set axi id */

> +static int hi6220_smmu_attach_dev(struct iommu_domain *domain,
> +				  struct device *dev)
> +{
> +	dev->archdata.iommu = &iova_allocator;
> +
> +	return 0;
> +}
> +
> +static void hi6220_smmu_detach_dev(struct iommu_domain *domain,
> +				   struct device *dev)
> +{
> +	dev->archdata.iommu = NULL;
> +}

This basically means that this driver only supports one domain, right?
That is not compatible with the iommu-api requirements.

You need to create an iommu-group per smmu in your system and put all
devices translated by this smmu in that group. And then you must change
your code to allow attaching/detaching this iommu-group to different
domains.


	Joerg

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Joerg Roedel <joro@8bytes.org>
To: Chen Feng <puck.chen@hisilicon.com>
Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com,
	ijc+devicetree@hellion.org.uk, devicetree@vger.kernel.org,
	puck.chen@aliyun.com, w.f@huawei.com, xuwei5@hisilicon.com,
	guodong.xu@linaro.org, arnd@linaro.org,
	haojian.zhuang@linaro.org
Subject: Re: [PATCH V5 RESEND 2/3] iommu/hisilicon: Add hi6220-SoC smmu driver
Date: Fri, 27 Nov 2015 13:02:03 +0100	[thread overview]
Message-ID: <20151127120203.GI24300@8bytes.org> (raw)
In-Reply-To: <1447986309-47548-3-git-send-email-puck.chen@hisilicon.com>

On Fri, Nov 20, 2015 at 10:25:08AM +0800, Chen Feng wrote:
> +config HI6220_IOMMU
> +	bool "Hi6220 IOMMU Support"
> +	depends on ARM64
> +	select IOMMU_API
> +	select IOMMU_IOVA
> +	help
> +	  Enable IOMMU Driver for hi6220 SoC. The IOMMU API and IOMMU IOVA
> +	  is also selected.

The last sentence is of little help for the user. Better put the reasons
in here when a user should select this option.

> +	/*set axi id*/

Coding style nit: Please write these oneline comments with spaces, like
this:

	/* set axi id */

> +static int hi6220_smmu_attach_dev(struct iommu_domain *domain,
> +				  struct device *dev)
> +{
> +	dev->archdata.iommu = &iova_allocator;
> +
> +	return 0;
> +}
> +
> +static void hi6220_smmu_detach_dev(struct iommu_domain *domain,
> +				   struct device *dev)
> +{
> +	dev->archdata.iommu = NULL;
> +}

This basically means that this driver only supports one domain, right?
That is not compatible with the iommu-api requirements.

You need to create an iommu-group per smmu in your system and put all
devices translated by this smmu in that group. And then you must change
your code to allow attaching/detaching this iommu-group to different
domains.


	Joerg


  parent reply	other threads:[~2015-11-27 12:02 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-20  2:25 [PATCH V5 RESEND 0/3] Add iommu support for hi6220 HiKey board Chen Feng
2015-11-20  2:25 ` Chen Feng
     [not found] ` <1447986309-47548-1-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-20  2:25   ` [PATCH V5 RESEND 1/3] docs: iommu: Documentation for iommu in hi6220 SoC Chen Feng
2015-11-20  2:25     ` Chen Feng
     [not found]     ` <1447986309-47548-2-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-20 14:21       ` Rob Herring
2015-11-20 14:21         ` Rob Herring
2015-11-20  2:25   ` [PATCH V5 RESEND 3/3] arm64: dts: Add dts node for hi6220 smmu driver Chen Feng
2015-11-20  2:25     ` Chen Feng
2015-11-27 11:49   ` [PATCH V5 RESEND 0/3] Add iommu support for hi6220 HiKey board Joerg Roedel
2015-11-27 11:49     ` Joerg Roedel
     [not found]     ` <20151127114920.GH24300-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-11-28  2:09       ` chenfeng
2015-11-28  2:09         ` chenfeng
2015-11-20  2:25 ` [PATCH V5 RESEND 2/3] iommu/hisilicon: Add hi6220-SoC smmu driver Chen Feng
2015-11-20  2:25   ` Chen Feng
     [not found]   ` <1447986309-47548-3-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-27 12:02     ` Joerg Roedel [this message]
2015-11-27 12:02       ` Joerg Roedel
     [not found]       ` <20151127120203.GI24300-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-11-28  2:19         ` chenfeng
2015-11-28  2:19           ` chenfeng
     [not found]           ` <56590F22.90105-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-28 12:19             ` Joerg Roedel
2015-11-28 12:19               ` 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=20151127120203.GI24300@8bytes.org \
    --to=joro-zlv9swrftaidnm+yrofe0a@public.gmane.org \
    --cc=arnd-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=guodong.xu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=haojian.zhuang-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org \
    --cc=puck.chen-Dw/NWeUnuQfQT0dZR+AlfA@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=w.f-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=xuwei5-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org \
    /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.