All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Philippe Brucker <jean-philippe@linaro.org>
To: Joerg Roedel <joro@8bytes.org>
Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	virtualization@lists.linux-foundation.org,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Hanjun Guo <guohanjun@huawei.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
	Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Joerg Roedel <jroedel@suse.de>
Subject: Re: [PATCH 13/15] iommu/qcom: Use accessor functions for iommu private data
Date: Mon, 16 Mar 2020 16:52:23 +0100	[thread overview]
Message-ID: <20200316155223.GM304669@myrica> (raw)
In-Reply-To: <20200310091229.29830-14-joro@8bytes.org>

On Tue, Mar 10, 2020 at 10:12:27AM +0100, Joerg Roedel wrote:
> From: Joerg Roedel <jroedel@suse.de>
> 
> Make use of dev_iommu_priv_set/get() functions.
> 
> Signed-off-by: Joerg Roedel <jroedel@suse.de>
> ---
>  drivers/iommu/qcom_iommu.c | 61 ++++++++++++++++++++++----------------
>  1 file changed, 36 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
> index 4328da0b0a9f..80147f82d427 100644
> --- a/drivers/iommu/qcom_iommu.c
> +++ b/drivers/iommu/qcom_iommu.c
> @@ -74,16 +74,19 @@ static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom)
>  
>  static const struct iommu_ops qcom_iommu_ops;
>  
> -static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec)
> +static struct qcom_iommu_dev * to_iommu(struct device *dev)
>  {
> +	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> +
>  	if (!fwspec || fwspec->ops != &qcom_iommu_ops)
>  		return NULL;

Following other drivers, I think this test could move to add_device() (and
remove_device()?), but this is probably good enough for now.

> -	return fwspec->iommu_priv;
> +
> +	return dev_iommu_priv_get(dev);
>  }
[...]
>  static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
>  {
> -	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
>  	struct qcom_iommu_dev *qcom_iommu;
>  	struct platform_device *iommu_pdev;
>  	unsigned asid = args->args[0];
> @@ -583,14 +594,14 @@ static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
>  	    WARN_ON(asid > qcom_iommu->num_ctxs))
>  		return -EINVAL;
>  
> -	if (!fwspec->iommu_priv) {
> -		fwspec->iommu_priv = qcom_iommu;
> +	if (dev_iommu_priv_get(dev)) {

Should be:

	if (!dev_iommu_priv_set(dev))

Thanks,
Jean

> +		dev_iommu_priv_set(dev, qcom_iommu);
>  	} else {
>  		/* make sure devices iommus dt node isn't referring to
>  		 * multiple different iommu devices.  Multiple context
>  		 * banks are ok, but multiple devices are not:
>  		 */
> -		if (WARN_ON(qcom_iommu != fwspec->iommu_priv))
> +		if (WARN_ON(qcom_iommu != dev_iommu_priv_get(dev)))
>  			return -EINVAL;
>  	}
>  
> -- 
> 2.17.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: Jean-Philippe Brucker <jean-philippe@linaro.org>
To: Joerg Roedel <joro@8bytes.org>
Cc: Will Deacon <will@kernel.org>,
	linux-arm-msm@vger.kernel.org,
	Sudeep Holla <sudeep.holla@arm.com>,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org,
	Thierry Reding <thierry.reding@gmail.com>,
	linux-mediatek@lists.infradead.org,
	Andy Gross <agross@kernel.org>, Joerg Roedel <jroedel@suse.de>,
	Hanjun Guo <guohanjun@huawei.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Sean Paul <sean@poorly.run>, Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH 13/15] iommu/qcom: Use accessor functions for iommu private data
Date: Mon, 16 Mar 2020 16:52:23 +0100	[thread overview]
Message-ID: <20200316155223.GM304669@myrica> (raw)
In-Reply-To: <20200310091229.29830-14-joro@8bytes.org>

On Tue, Mar 10, 2020 at 10:12:27AM +0100, Joerg Roedel wrote:
> From: Joerg Roedel <jroedel@suse.de>
> 
> Make use of dev_iommu_priv_set/get() functions.
> 
> Signed-off-by: Joerg Roedel <jroedel@suse.de>
> ---
>  drivers/iommu/qcom_iommu.c | 61 ++++++++++++++++++++++----------------
>  1 file changed, 36 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
> index 4328da0b0a9f..80147f82d427 100644
> --- a/drivers/iommu/qcom_iommu.c
> +++ b/drivers/iommu/qcom_iommu.c
> @@ -74,16 +74,19 @@ static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom)
>  
>  static const struct iommu_ops qcom_iommu_ops;
>  
> -static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec)
> +static struct qcom_iommu_dev * to_iommu(struct device *dev)
>  {
> +	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> +
>  	if (!fwspec || fwspec->ops != &qcom_iommu_ops)
>  		return NULL;

Following other drivers, I think this test could move to add_device() (and
remove_device()?), but this is probably good enough for now.

> -	return fwspec->iommu_priv;
> +
> +	return dev_iommu_priv_get(dev);
>  }
[...]
>  static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
>  {
> -	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
>  	struct qcom_iommu_dev *qcom_iommu;
>  	struct platform_device *iommu_pdev;
>  	unsigned asid = args->args[0];
> @@ -583,14 +594,14 @@ static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
>  	    WARN_ON(asid > qcom_iommu->num_ctxs))
>  		return -EINVAL;
>  
> -	if (!fwspec->iommu_priv) {
> -		fwspec->iommu_priv = qcom_iommu;
> +	if (dev_iommu_priv_get(dev)) {

Should be:

	if (!dev_iommu_priv_set(dev))

Thanks,
Jean

> +		dev_iommu_priv_set(dev, qcom_iommu);
>  	} else {
>  		/* make sure devices iommus dt node isn't referring to
>  		 * multiple different iommu devices.  Multiple context
>  		 * banks are ok, but multiple devices are not:
>  		 */
> -		if (WARN_ON(qcom_iommu != fwspec->iommu_priv))
> +		if (WARN_ON(qcom_iommu != dev_iommu_priv_get(dev)))
>  			return -EINVAL;
>  	}
>  
> -- 
> 2.17.1
> 
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Jean-Philippe Brucker <jean-philippe@linaro.org>
To: Joerg Roedel <joro@8bytes.org>
Cc: Rob Clark <robdclark@gmail.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-msm@vger.kernel.org,
	Sudeep Holla <sudeep.holla@arm.com>,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org,
	Thierry Reding <thierry.reding@gmail.com>,
	linux-mediatek@lists.infradead.org,
	Andy Gross <agross@kernel.org>, Joerg Roedel <jroedel@suse.de>,
	Hanjun Guo <guohanjun@huawei.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Sean Paul <sean@poorly.run>, Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH 13/15] iommu/qcom: Use accessor functions for iommu private data
Date: Mon, 16 Mar 2020 16:52:23 +0100	[thread overview]
Message-ID: <20200316155223.GM304669@myrica> (raw)
In-Reply-To: <20200310091229.29830-14-joro@8bytes.org>

On Tue, Mar 10, 2020 at 10:12:27AM +0100, Joerg Roedel wrote:
> From: Joerg Roedel <jroedel@suse.de>
> 
> Make use of dev_iommu_priv_set/get() functions.
> 
> Signed-off-by: Joerg Roedel <jroedel@suse.de>
> ---
>  drivers/iommu/qcom_iommu.c | 61 ++++++++++++++++++++++----------------
>  1 file changed, 36 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
> index 4328da0b0a9f..80147f82d427 100644
> --- a/drivers/iommu/qcom_iommu.c
> +++ b/drivers/iommu/qcom_iommu.c
> @@ -74,16 +74,19 @@ static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom)
>  
>  static const struct iommu_ops qcom_iommu_ops;
>  
> -static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec)
> +static struct qcom_iommu_dev * to_iommu(struct device *dev)
>  {
> +	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> +
>  	if (!fwspec || fwspec->ops != &qcom_iommu_ops)
>  		return NULL;

Following other drivers, I think this test could move to add_device() (and
remove_device()?), but this is probably good enough for now.

> -	return fwspec->iommu_priv;
> +
> +	return dev_iommu_priv_get(dev);
>  }
[...]
>  static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
>  {
> -	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
>  	struct qcom_iommu_dev *qcom_iommu;
>  	struct platform_device *iommu_pdev;
>  	unsigned asid = args->args[0];
> @@ -583,14 +594,14 @@ static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
>  	    WARN_ON(asid > qcom_iommu->num_ctxs))
>  		return -EINVAL;
>  
> -	if (!fwspec->iommu_priv) {
> -		fwspec->iommu_priv = qcom_iommu;
> +	if (dev_iommu_priv_get(dev)) {

Should be:

	if (!dev_iommu_priv_set(dev))

Thanks,
Jean

> +		dev_iommu_priv_set(dev, qcom_iommu);
>  	} else {
>  		/* make sure devices iommus dt node isn't referring to
>  		 * multiple different iommu devices.  Multiple context
>  		 * banks are ok, but multiple devices are not:
>  		 */
> -		if (WARN_ON(qcom_iommu != fwspec->iommu_priv))
> +		if (WARN_ON(qcom_iommu != dev_iommu_priv_get(dev)))
>  			return -EINVAL;
>  	}
>  
> -- 
> 2.17.1
> 

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

  reply	other threads:[~2020-03-16 15:52 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-10  9:12 [PATCH 00/15 v2] iommu: Move iommu_fwspec out of 'struct device' Joerg Roedel
2020-03-10  9:12 ` Joerg Roedel
2020-03-10  9:12 ` Joerg Roedel
2020-03-10  9:12 ` [PATCH 01/15] iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:39   ` Jean-Philippe Brucker
2020-03-16 15:39     ` Jean-Philippe Brucker
2020-03-16 15:39     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 02/15] ACPI/IORT: Remove direct access of dev->iommu_fwspec Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:40   ` Jean-Philippe Brucker
2020-03-16 15:40     ` Jean-Philippe Brucker
2020-03-16 15:40     ` Jean-Philippe Brucker
2020-03-16 15:40     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 03/15] drm/msm/mdp5: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:42   ` Jean-Philippe Brucker
2020-03-16 15:42     ` Jean-Philippe Brucker
2020-03-16 15:42     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 04/15] iommu/tegra-gart: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:42   ` Jean-Philippe Brucker
2020-03-16 15:42     ` Jean-Philippe Brucker
2020-03-16 15:42     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 05/15] iommu: Rename struct iommu_param to dev_iommu Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:45   ` Jean-Philippe Brucker
2020-03-16 15:45     ` Jean-Philippe Brucker
2020-03-16 15:45     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 06/15] iommu: Move iommu_fwspec to struct dev_iommu Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:46   ` Jean-Philippe Brucker
2020-03-16 15:46     ` Jean-Philippe Brucker
2020-03-16 15:46     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 07/15] iommu/arm-smmu: Fix uninitilized variable warning Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:47   ` Jean-Philippe Brucker
2020-03-16 15:47     ` Jean-Philippe Brucker
2020-03-16 15:47     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 08/15] iommu: Introduce accessors for iommu private data Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:47   ` Jean-Philippe Brucker
2020-03-16 15:47     ` Jean-Philippe Brucker
2020-03-16 15:47     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 09/15] iommu/arm-smmu-v3: Use accessor functions " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:49   ` Jean-Philippe Brucker
2020-03-16 15:49     ` Jean-Philippe Brucker
2020-03-16 15:49     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 10/15] iommu/arm-smmu: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 17:55   ` Jean-Philippe Brucker
2020-03-16 17:55     ` Jean-Philippe Brucker
2020-03-16 17:55     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 11/15] iommu/renesas: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:50   ` Jean-Philippe Brucker
2020-03-16 15:50     ` Jean-Philippe Brucker
2020-03-16 15:50     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 12/15] iommu/mediatek: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:51   ` Jean-Philippe Brucker
2020-03-16 15:51     ` Jean-Philippe Brucker
2020-03-16 15:51     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 13/15] iommu/qcom: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:52   ` Jean-Philippe Brucker [this message]
2020-03-16 15:52     ` Jean-Philippe Brucker
2020-03-16 15:52     ` Jean-Philippe Brucker
2020-03-19 13:11     ` Joerg Roedel
2020-03-19 13:11       ` Joerg Roedel
2020-03-19 13:11       ` Joerg Roedel
2020-03-10  9:12 ` [PATCH 14/15] iommu/virtio: " Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:56   ` Jean-Philippe Brucker
2020-03-16 15:56     ` Jean-Philippe Brucker
2020-03-16 15:56     ` Jean-Philippe Brucker
2020-03-10  9:12 ` [PATCH 15/15] iommu: Move fwspec->iommu_priv to struct dev_iommu Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-10  9:12   ` Joerg Roedel
2020-03-16 15:57   ` Jean-Philippe Brucker
2020-03-16 15:57     ` Jean-Philippe Brucker
2020-03-16 15:57     ` Jean-Philippe Brucker

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=20200316155223.GM304669@myrica \
    --to=jean-philippe@linaro.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=guohanjun@huawei.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=jroedel@suse.de \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robdclark@gmail.com \
    --cc=robin.murphy@arm.com \
    --cc=sean@poorly.run \
    --cc=sudeep.holla@arm.com \
    --cc=thierry.reding@gmail.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=will@kernel.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.