* [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group
@ 2013-07-25 15:34 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-07-25 15:34 UTC (permalink / raw)
To: linux-arm-kernel, iommu, linux-samsung-soc
Cc: kvmarm, Antonios Motakis, Cho KyongHo, Joerg Roedel,
Sachin Kamat, Varun Sethi, open list
IOMMU groups are expected by certain users of the IOMMU API,
e.g. VFIO. Since each device is behind its own System MMU, we
can allocate a new IOMMU group for each device.
This patch depends on Cho KyongHo's patch series titled "[PATCH v7 00/12]
iommu/exynos: Fixes and Enhancements of System MMU driver with DT",
applied on a Linux 3.10.1 kernel. It has been tested on the Arndale board.
Changes since in v2:
- Removed possibility for minor memory leak in case of
misbehaving platform drivers
Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
---
drivers/iommu/exynos-iommu.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index 51d43bb..c7dd4b5 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -1134,6 +1134,32 @@ static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
return phys;
}
+static int exynos_iommu_add_device(struct device *dev)
+{
+ struct iommu_group *group;
+ int ret;
+
+ group = iommu_group_get(dev);
+
+ if (!group) {
+ group = iommu_group_alloc();
+ if (IS_ERR(group)) {
+ dev_err(dev, "Failed to allocate IOMMU group\n");
+ return PTR_ERR(group);
+ }
+ }
+
+ ret = iommu_group_add_device(group, dev);
+ iommu_group_put(group);
+
+ return ret;
+}
+
+static void exynos_iommu_remove_device(struct device *dev)
+{
+ iommu_group_remove_device(dev);
+}
+
static struct iommu_ops exynos_iommu_ops = {
.domain_init = &exynos_iommu_domain_init,
.domain_destroy = &exynos_iommu_domain_destroy,
@@ -1142,6 +1168,8 @@ static struct iommu_ops exynos_iommu_ops = {
.map = &exynos_iommu_map,
.unmap = &exynos_iommu_unmap,
.iova_to_phys = &exynos_iommu_iova_to_phys,
+ .add_device = exynos_iommu_add_device,
+ .remove_device = exynos_iommu_remove_device,
.pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
};
--
1.8.1.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group
@ 2013-07-25 15:34 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-07-25 15:34 UTC (permalink / raw)
To: linux-arm-kernel, iommu, linux-samsung-soc
Cc: kvmarm, Antonios Motakis, Cho KyongHo, Joerg Roedel,
Sachin Kamat, Varun Sethi, open list
IOMMU groups are expected by certain users of the IOMMU API,
e.g. VFIO. Since each device is behind its own System MMU, we
can allocate a new IOMMU group for each device.
This patch depends on Cho KyongHo's patch series titled "[PATCH v7 00/12]
iommu/exynos: Fixes and Enhancements of System MMU driver with DT",
applied on a Linux 3.10.1 kernel. It has been tested on the Arndale board.
Changes since in v2:
- Removed possibility for minor memory leak in case of
misbehaving platform drivers
Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
---
drivers/iommu/exynos-iommu.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index 51d43bb..c7dd4b5 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -1134,6 +1134,32 @@ static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
return phys;
}
+static int exynos_iommu_add_device(struct device *dev)
+{
+ struct iommu_group *group;
+ int ret;
+
+ group = iommu_group_get(dev);
+
+ if (!group) {
+ group = iommu_group_alloc();
+ if (IS_ERR(group)) {
+ dev_err(dev, "Failed to allocate IOMMU group\n");
+ return PTR_ERR(group);
+ }
+ }
+
+ ret = iommu_group_add_device(group, dev);
+ iommu_group_put(group);
+
+ return ret;
+}
+
+static void exynos_iommu_remove_device(struct device *dev)
+{
+ iommu_group_remove_device(dev);
+}
+
static struct iommu_ops exynos_iommu_ops = {
.domain_init = &exynos_iommu_domain_init,
.domain_destroy = &exynos_iommu_domain_destroy,
@@ -1142,6 +1168,8 @@ static struct iommu_ops exynos_iommu_ops = {
.map = &exynos_iommu_map,
.unmap = &exynos_iommu_unmap,
.iova_to_phys = &exynos_iommu_iova_to_phys,
+ .add_device = exynos_iommu_add_device,
+ .remove_device = exynos_iommu_remove_device,
.pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
};
--
1.8.1.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group
@ 2013-07-25 15:34 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-07-25 15:34 UTC (permalink / raw)
To: linux-arm-kernel
IOMMU groups are expected by certain users of the IOMMU API,
e.g. VFIO. Since each device is behind its own System MMU, we
can allocate a new IOMMU group for each device.
This patch depends on Cho KyongHo's patch series titled "[PATCH v7 00/12]
iommu/exynos: Fixes and Enhancements of System MMU driver with DT",
applied on a Linux 3.10.1 kernel. It has been tested on the Arndale board.
Changes since in v2:
- Removed possibility for minor memory leak in case of
misbehaving platform drivers
Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
---
drivers/iommu/exynos-iommu.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index 51d43bb..c7dd4b5 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -1134,6 +1134,32 @@ static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
return phys;
}
+static int exynos_iommu_add_device(struct device *dev)
+{
+ struct iommu_group *group;
+ int ret;
+
+ group = iommu_group_get(dev);
+
+ if (!group) {
+ group = iommu_group_alloc();
+ if (IS_ERR(group)) {
+ dev_err(dev, "Failed to allocate IOMMU group\n");
+ return PTR_ERR(group);
+ }
+ }
+
+ ret = iommu_group_add_device(group, dev);
+ iommu_group_put(group);
+
+ return ret;
+}
+
+static void exynos_iommu_remove_device(struct device *dev)
+{
+ iommu_group_remove_device(dev);
+}
+
static struct iommu_ops exynos_iommu_ops = {
.domain_init = &exynos_iommu_domain_init,
.domain_destroy = &exynos_iommu_domain_destroy,
@@ -1142,6 +1168,8 @@ static struct iommu_ops exynos_iommu_ops = {
.map = &exynos_iommu_map,
.unmap = &exynos_iommu_unmap,
.iova_to_phys = &exynos_iommu_iova_to_phys,
+ .add_device = exynos_iommu_add_device,
+ .remove_device = exynos_iommu_remove_device,
.pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
};
--
1.8.1.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-07-25 15:35 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-07-25 15:35 UTC (permalink / raw)
To: linux-arm-kernel, iommu, linux-samsung-soc
Cc: kvmarm, Antonios Motakis, Cho KyongHo, Joerg Roedel,
Sachin Kamat, Varun Sethi, open list
On success, the __sysmmu_enable returns 1 instead of 0, which does not
respect the convention described in Chapter 16 of the Linux kernel coding
style.
In fact, this return value is propagated all the way up to
iommu_attach_device() and iommu_attach_device() in drivers/iommu.c,
which results into inconsistent behavior of the IOMMU API with Exynos
systems, compared to other IOMMUs.
This patch replaces the return value with 0, which makes the Exynos'
IOMMU driver behavior consistent with that of other IOMMUs.
Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
---
drivers/iommu/exynos-iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index c7dd4b5..4ea3abb 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -504,7 +504,7 @@ static int __sysmmu_enable(struct sysmmu_drvdata *data,
dev_dbg(data->sysmmu, "Enabled\n");
} else {
- ret = (pgtable == data->pgtable) ? 1 : -EBUSY;
+ ret = (pgtable == data->pgtable) ? 0 : -EBUSY;
dev_dbg(data->sysmmu, "already enabled\n");
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-07-25 15:35 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-07-25 15:35 UTC (permalink / raw)
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA
Cc: Sachin Kamat, open list, Varun Sethi, Antonios Motakis,
Cho KyongHo, kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg
On success, the __sysmmu_enable returns 1 instead of 0, which does not
respect the convention described in Chapter 16 of the Linux kernel coding
style.
In fact, this return value is propagated all the way up to
iommu_attach_device() and iommu_attach_device() in drivers/iommu.c,
which results into inconsistent behavior of the IOMMU API with Exynos
systems, compared to other IOMMUs.
This patch replaces the return value with 0, which makes the Exynos'
IOMMU driver behavior consistent with that of other IOMMUs.
Signed-off-by: Antonios Motakis <a.motakis-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>
---
drivers/iommu/exynos-iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index c7dd4b5..4ea3abb 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -504,7 +504,7 @@ static int __sysmmu_enable(struct sysmmu_drvdata *data,
dev_dbg(data->sysmmu, "Enabled\n");
} else {
- ret = (pgtable == data->pgtable) ? 1 : -EBUSY;
+ ret = (pgtable == data->pgtable) ? 0 : -EBUSY;
dev_dbg(data->sysmmu, "already enabled\n");
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-07-25 15:35 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-07-25 15:35 UTC (permalink / raw)
To: linux-arm-kernel
On success, the __sysmmu_enable returns 1 instead of 0, which does not
respect the convention described in Chapter 16 of the Linux kernel coding
style.
In fact, this return value is propagated all the way up to
iommu_attach_device() and iommu_attach_device() in drivers/iommu.c,
which results into inconsistent behavior of the IOMMU API with Exynos
systems, compared to other IOMMUs.
This patch replaces the return value with 0, which makes the Exynos'
IOMMU driver behavior consistent with that of other IOMMUs.
Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
---
drivers/iommu/exynos-iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index c7dd4b5..4ea3abb 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -504,7 +504,7 @@ static int __sysmmu_enable(struct sysmmu_drvdata *data,
dev_dbg(data->sysmmu, "Enabled\n");
} else {
- ret = (pgtable == data->pgtable) ? 1 : -EBUSY;
+ ret = (pgtable == data->pgtable) ? 0 : -EBUSY;
dev_dbg(data->sysmmu, "already enabled\n");
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group
@ 2013-07-26 4:48 ` Sachin Kamat
0 siblings, 0 replies; 18+ messages in thread
From: Sachin Kamat @ 2013-07-26 4:48 UTC (permalink / raw)
To: Antonios Motakis
Cc: linux-arm-kernel, iommu, linux-samsung-soc, kvmarm, Cho KyongHo,
Joerg Roedel, Varun Sethi, open list
Hi Antonios,
On 25 July 2013 21:04, Antonios Motakis
<a.motakis@virtualopensystems.com> wrote:
> IOMMU groups are expected by certain users of the IOMMU API,
> e.g. VFIO. Since each device is behind its own System MMU, we
> can allocate a new IOMMU group for each device.
>
> This patch depends on Cho KyongHo's patch series titled "[PATCH v7 00/12]
> iommu/exynos: Fixes and Enhancements of System MMU driver with DT",
> applied on a Linux 3.10.1 kernel.
This kind of meta information should go after the "---" line below.
It has been tested on the Arndale board.
>
> Changes since in v2:
> - Removed possibility for minor memory leak in case of
> misbehaving platform drivers
>
> Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
> ---
> drivers/iommu/exynos-iommu.c | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 51d43bb..c7dd4b5 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -1134,6 +1134,32 @@ static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
> return phys;
> }
>
> +static int exynos_iommu_add_device(struct device *dev)
> +{
> + struct iommu_group *group;
> + int ret;
> +
> + group = iommu_group_get(dev);
> +
> + if (!group) {
> + group = iommu_group_alloc();
> + if (IS_ERR(group)) {
> + dev_err(dev, "Failed to allocate IOMMU group\n");
> + return PTR_ERR(group);
> + }
> + }
> +
> + ret = iommu_group_add_device(group, dev);
> + iommu_group_put(group);
> +
> + return ret;
> +}
> +
> +static void exynos_iommu_remove_device(struct device *dev)
> +{
> + iommu_group_remove_device(dev);
> +}
> +
> static struct iommu_ops exynos_iommu_ops = {
> .domain_init = &exynos_iommu_domain_init,
> .domain_destroy = &exynos_iommu_domain_destroy,
> @@ -1142,6 +1168,8 @@ static struct iommu_ops exynos_iommu_ops = {
> .map = &exynos_iommu_map,
> .unmap = &exynos_iommu_unmap,
> .iova_to_phys = &exynos_iommu_iova_to_phys,
> + .add_device = exynos_iommu_add_device,
> + .remove_device = exynos_iommu_remove_device,
> .pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
> };
>
> --
> 1.8.1.2
>
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group
@ 2013-07-26 4:48 ` Sachin Kamat
0 siblings, 0 replies; 18+ messages in thread
From: Sachin Kamat @ 2013-07-26 4:48 UTC (permalink / raw)
To: Antonios Motakis
Cc: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, open list,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Varun Sethi,
Cho KyongHo, kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi Antonios,
On 25 July 2013 21:04, Antonios Motakis
<a.motakis-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org> wrote:
> IOMMU groups are expected by certain users of the IOMMU API,
> e.g. VFIO. Since each device is behind its own System MMU, we
> can allocate a new IOMMU group for each device.
>
> This patch depends on Cho KyongHo's patch series titled "[PATCH v7 00/12]
> iommu/exynos: Fixes and Enhancements of System MMU driver with DT",
> applied on a Linux 3.10.1 kernel.
This kind of meta information should go after the "---" line below.
It has been tested on the Arndale board.
>
> Changes since in v2:
> - Removed possibility for minor memory leak in case of
> misbehaving platform drivers
>
> Signed-off-by: Antonios Motakis <a.motakis-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>
> ---
> drivers/iommu/exynos-iommu.c | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 51d43bb..c7dd4b5 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -1134,6 +1134,32 @@ static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
> return phys;
> }
>
> +static int exynos_iommu_add_device(struct device *dev)
> +{
> + struct iommu_group *group;
> + int ret;
> +
> + group = iommu_group_get(dev);
> +
> + if (!group) {
> + group = iommu_group_alloc();
> + if (IS_ERR(group)) {
> + dev_err(dev, "Failed to allocate IOMMU group\n");
> + return PTR_ERR(group);
> + }
> + }
> +
> + ret = iommu_group_add_device(group, dev);
> + iommu_group_put(group);
> +
> + return ret;
> +}
> +
> +static void exynos_iommu_remove_device(struct device *dev)
> +{
> + iommu_group_remove_device(dev);
> +}
> +
> static struct iommu_ops exynos_iommu_ops = {
> .domain_init = &exynos_iommu_domain_init,
> .domain_destroy = &exynos_iommu_domain_destroy,
> @@ -1142,6 +1168,8 @@ static struct iommu_ops exynos_iommu_ops = {
> .map = &exynos_iommu_map,
> .unmap = &exynos_iommu_unmap,
> .iova_to_phys = &exynos_iommu_iova_to_phys,
> + .add_device = exynos_iommu_add_device,
> + .remove_device = exynos_iommu_remove_device,
> .pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
> };
>
> --
> 1.8.1.2
>
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group
@ 2013-07-26 4:48 ` Sachin Kamat
0 siblings, 0 replies; 18+ messages in thread
From: Sachin Kamat @ 2013-07-26 4:48 UTC (permalink / raw)
To: linux-arm-kernel
Hi Antonios,
On 25 July 2013 21:04, Antonios Motakis
<a.motakis@virtualopensystems.com> wrote:
> IOMMU groups are expected by certain users of the IOMMU API,
> e.g. VFIO. Since each device is behind its own System MMU, we
> can allocate a new IOMMU group for each device.
>
> This patch depends on Cho KyongHo's patch series titled "[PATCH v7 00/12]
> iommu/exynos: Fixes and Enhancements of System MMU driver with DT",
> applied on a Linux 3.10.1 kernel.
This kind of meta information should go after the "---" line below.
It has been tested on the Arndale board.
>
> Changes since in v2:
> - Removed possibility for minor memory leak in case of
> misbehaving platform drivers
>
> Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
> ---
> drivers/iommu/exynos-iommu.c | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 51d43bb..c7dd4b5 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -1134,6 +1134,32 @@ static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
> return phys;
> }
>
> +static int exynos_iommu_add_device(struct device *dev)
> +{
> + struct iommu_group *group;
> + int ret;
> +
> + group = iommu_group_get(dev);
> +
> + if (!group) {
> + group = iommu_group_alloc();
> + if (IS_ERR(group)) {
> + dev_err(dev, "Failed to allocate IOMMU group\n");
> + return PTR_ERR(group);
> + }
> + }
> +
> + ret = iommu_group_add_device(group, dev);
> + iommu_group_put(group);
> +
> + return ret;
> +}
> +
> +static void exynos_iommu_remove_device(struct device *dev)
> +{
> + iommu_group_remove_device(dev);
> +}
> +
> static struct iommu_ops exynos_iommu_ops = {
> .domain_init = &exynos_iommu_domain_init,
> .domain_destroy = &exynos_iommu_domain_destroy,
> @@ -1142,6 +1168,8 @@ static struct iommu_ops exynos_iommu_ops = {
> .map = &exynos_iommu_map,
> .unmap = &exynos_iommu_unmap,
> .iova_to_phys = &exynos_iommu_iova_to_phys,
> + .add_device = exynos_iommu_add_device,
> + .remove_device = exynos_iommu_remove_device,
> .pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
> };
>
> --
> 1.8.1.2
>
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 18+ messages in thread
* RE: [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
2013-07-25 15:35 ` Antonios Motakis
@ 2013-07-26 10:46 ` Cho KyongHo
-1 siblings, 0 replies; 18+ messages in thread
From: Cho KyongHo @ 2013-07-26 10:46 UTC (permalink / raw)
To: 'Antonios Motakis', linux-arm-kernel, iommu, linux-samsung-soc
Cc: kvmarm, 'Joerg Roedel', 'Sachin Kamat',
'Varun Sethi', 'open list'
> -----Original Message-----
> From: Antonios Motakis [mailto:a.motakis@virtualopensystems.com]
> Sent: Friday, July 26, 2013 12:35 AM
>
> On success, the __sysmmu_enable returns 1 instead of 0, which does not
> respect the convention described in Chapter 16 of the Linux kernel coding
> style.
>
> In fact, this return value is propagated all the way up to
> iommu_attach_device() and iommu_attach_device() in drivers/iommu.c,
> which results into inconsistent behavior of the IOMMU API with Exynos
> systems, compared to other IOMMUs.
>
> This patch replaces the return value with 0, which makes the Exynos'
> IOMMU driver behavior consistent with that of other IOMMUs.
>
> Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
> ---
> drivers/iommu/exynos-iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index c7dd4b5..4ea3abb 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -504,7 +504,7 @@ static int __sysmmu_enable(struct sysmmu_drvdata *data,
>
> dev_dbg(data->sysmmu, "Enabled\n");
> } else {
> - ret = (pgtable == data->pgtable) ? 1 : -EBUSY;
> + ret = (pgtable == data->pgtable) ? 0 : -EBUSY;
>
Ok.
__sysmmu_enable() must return 1 if it is called with the same page table.
I have fixed it exynos_iommu_attach_device() to always return zero on success
in the next patchset which I will post today.
Thank you.
> dev_dbg(data->sysmmu, "already enabled\n");
> }
> --
> 1.8.1.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-07-26 10:46 ` Cho KyongHo
0 siblings, 0 replies; 18+ messages in thread
From: Cho KyongHo @ 2013-07-26 10:46 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Antonios Motakis [mailto:a.motakis at virtualopensystems.com]
> Sent: Friday, July 26, 2013 12:35 AM
>
> On success, the __sysmmu_enable returns 1 instead of 0, which does not
> respect the convention described in Chapter 16 of the Linux kernel coding
> style.
>
> In fact, this return value is propagated all the way up to
> iommu_attach_device() and iommu_attach_device() in drivers/iommu.c,
> which results into inconsistent behavior of the IOMMU API with Exynos
> systems, compared to other IOMMUs.
>
> This patch replaces the return value with 0, which makes the Exynos'
> IOMMU driver behavior consistent with that of other IOMMUs.
>
> Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
> ---
> drivers/iommu/exynos-iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index c7dd4b5..4ea3abb 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -504,7 +504,7 @@ static int __sysmmu_enable(struct sysmmu_drvdata *data,
>
> dev_dbg(data->sysmmu, "Enabled\n");
> } else {
> - ret = (pgtable == data->pgtable) ? 1 : -EBUSY;
> + ret = (pgtable == data->pgtable) ? 0 : -EBUSY;
>
Ok.
__sysmmu_enable() must return 1 if it is called with the same page table.
I have fixed it exynos_iommu_attach_device() to always return zero on success
in the next patchset which I will post today.
Thank you.
> dev_dbg(data->sysmmu, "already enabled\n");
> }
> --
> 1.8.1.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
2013-07-26 10:46 ` Cho KyongHo
@ 2013-08-14 13:15 ` 'Joerg Roedel'
-1 siblings, 0 replies; 18+ messages in thread
From: 'Joerg Roedel' @ 2013-08-14 13:15 UTC (permalink / raw)
To: Cho KyongHo
Cc: 'Antonios Motakis',
linux-arm-kernel, iommu, linux-samsung-soc, kvmarm,
'Sachin Kamat', 'Varun Sethi',
'open list'
KyongHo,
On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
> __sysmmu_enable() must return 1 if it is called with the same page table.
> I have fixed it exynos_iommu_attach_device() to always return zero on success
> in the next patchset which I will post today.
>
> Thank you.
When you are fine with these patches please put them on-top of your
patch-set when you re-submit. I will take them from there then.
Joerg
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-08-14 13:15 ` 'Joerg Roedel'
0 siblings, 0 replies; 18+ messages in thread
From: 'Joerg Roedel' @ 2013-08-14 13:15 UTC (permalink / raw)
To: linux-arm-kernel
KyongHo,
On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
> __sysmmu_enable() must return 1 if it is called with the same page table.
> I have fixed it exynos_iommu_attach_device() to always return zero on success
> in the next patchset which I will post today.
>
> Thank you.
When you are fine with these patches please put them on-top of your
patch-set when you re-submit. I will take them from there then.
Joerg
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
2013-08-14 13:15 ` 'Joerg Roedel'
@ 2013-08-16 11:21 ` Cho KyongHo
-1 siblings, 0 replies; 18+ messages in thread
From: Cho KyongHo @ 2013-08-16 11:21 UTC (permalink / raw)
To: 'Joerg Roedel'
Cc: 'Antonios Motakis',
linux-arm-kernel, iommu, linux-samsung-soc, kvmarm,
'Sachin Kamat', 'Varun Sethi',
'open list'
On Wed, 14 Aug 2013 15:15:49 +0200, 'Joerg Roedel' wrote:
> KyongHo,
>
> On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
> > __sysmmu_enable() must return 1 if it is called with the same page table.
> > I have fixed it exynos_iommu_attach_device() to always return zero on success
> > in the next patchset which I will post today.
> >
> > Thank you.
>
> When you are fine with these patches please put them on-top of your
> patch-set when you re-submit. I will take them from there then.
>
Ok.
Antonios,
Would you mind
if I submit your 2 patches on top of my patches with your signed-off?
KyongHo.
>
> Joerg
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-08-16 11:21 ` Cho KyongHo
0 siblings, 0 replies; 18+ messages in thread
From: Cho KyongHo @ 2013-08-16 11:21 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 14 Aug 2013 15:15:49 +0200, 'Joerg Roedel' wrote:
> KyongHo,
>
> On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
> > __sysmmu_enable() must return 1 if it is called with the same page table.
> > I have fixed it exynos_iommu_attach_device() to always return zero on success
> > in the next patchset which I will post today.
> >
> > Thank you.
>
> When you are fine with these patches please put them on-top of your
> patch-set when you re-submit. I will take them from there then.
>
Ok.
Antonios,
Would you mind
if I submit your 2 patches on top of my patches with your signed-off?
KyongHo.
>
> Joerg
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-08-18 13:33 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-08-18 13:33 UTC (permalink / raw)
To: Cho KyongHo
Cc: Joerg Roedel, Linux ARM Kernel, Linux IOMMU, Linux Samsung SOC,
kvm-arm, Sachin Kamat, Varun Sethi, open list
Yes, of course, I have no objections.
On Fri, Aug 16, 2013 at 1:21 PM, Cho KyongHo <pullip.cho@samsung.com> wrote:
> On Wed, 14 Aug 2013 15:15:49 +0200, 'Joerg Roedel' wrote:
>> KyongHo,
>>
>> On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
>> > __sysmmu_enable() must return 1 if it is called with the same page table.
>> > I have fixed it exynos_iommu_attach_device() to always return zero on success
>> > in the next patchset which I will post today.
>> >
>> > Thank you.
>>
>> When you are fine with these patches please put them on-top of your
>> patch-set when you re-submit. I will take them from there then.
>>
>
> Ok.
>
> Antonios,
>
> Would you mind
> if I submit your 2 patches on top of my patches with your signed-off?
>
> KyongHo.
>
>>
>> Joerg
>>
>>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-08-18 13:33 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-08-18 13:33 UTC (permalink / raw)
To: Cho KyongHo
Cc: Linux Samsung SOC, Sachin Kamat, open list, Linux IOMMU,
Varun Sethi, kvm-arm, Linux ARM Kernel
Yes, of course, I have no objections.
On Fri, Aug 16, 2013 at 1:21 PM, Cho KyongHo <pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
> On Wed, 14 Aug 2013 15:15:49 +0200, 'Joerg Roedel' wrote:
>> KyongHo,
>>
>> On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
>> > __sysmmu_enable() must return 1 if it is called with the same page table.
>> > I have fixed it exynos_iommu_attach_device() to always return zero on success
>> > in the next patchset which I will post today.
>> >
>> > Thank you.
>>
>> When you are fine with these patches please put them on-top of your
>> patch-set when you re-submit. I will take them from there then.
>>
>
> Ok.
>
> Antonios,
>
> Would you mind
> if I submit your 2 patches on top of my patches with your signed-off?
>
> KyongHo.
>
>>
>> Joerg
>>
>>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type
@ 2013-08-18 13:33 ` Antonios Motakis
0 siblings, 0 replies; 18+ messages in thread
From: Antonios Motakis @ 2013-08-18 13:33 UTC (permalink / raw)
To: linux-arm-kernel
Yes, of course, I have no objections.
On Fri, Aug 16, 2013 at 1:21 PM, Cho KyongHo <pullip.cho@samsung.com> wrote:
> On Wed, 14 Aug 2013 15:15:49 +0200, 'Joerg Roedel' wrote:
>> KyongHo,
>>
>> On Fri, Jul 26, 2013 at 07:46:01PM +0900, Cho KyongHo wrote:
>> > __sysmmu_enable() must return 1 if it is called with the same page table.
>> > I have fixed it exynos_iommu_attach_device() to always return zero on success
>> > in the next patchset which I will post today.
>> >
>> > Thank you.
>>
>> When you are fine with these patches please put them on-top of your
>> patch-set when you re-submit. I will take them from there then.
>>
>
> Ok.
>
> Antonios,
>
> Would you mind
> if I submit your 2 patches on top of my patches with your signed-off?
>
> KyongHo.
>
>>
>> Joerg
>>
>>
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2013-08-18 13:33 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-25 15:34 [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group Antonios Motakis
2013-07-25 15:34 ` Antonios Motakis
2013-07-25 15:34 ` Antonios Motakis
2013-07-25 15:35 ` [PATCH 2/2] iommu/exynos: Follow kernel coding style for __sysmmu_enable return type Antonios Motakis
2013-07-25 15:35 ` Antonios Motakis
2013-07-25 15:35 ` Antonios Motakis
2013-07-26 10:46 ` Cho KyongHo
2013-07-26 10:46 ` Cho KyongHo
2013-08-14 13:15 ` 'Joerg Roedel'
2013-08-14 13:15 ` 'Joerg Roedel'
2013-08-16 11:21 ` Cho KyongHo
2013-08-16 11:21 ` Cho KyongHo
2013-08-18 13:33 ` Antonios Motakis
2013-08-18 13:33 ` Antonios Motakis
2013-08-18 13:33 ` Antonios Motakis
2013-07-26 4:48 ` [PATCHv2 1/2] iommu/exynos: add devices attached to the System MMU to an IOMMU group Sachin Kamat
2013-07-26 4:48 ` Sachin Kamat
2013-07-26 4:48 ` Sachin Kamat
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.