* [PATCH v11 13/27] iommu/exynos: support for device tree
@ 2014-03-14 5:09 Cho KyongHo
[not found] ` <20140314140935.e0652b58ce16591b54d0e10b-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-14 15:27 ` Sachin Kamat
0 siblings, 2 replies; 9+ messages in thread
From: Cho KyongHo @ 2014-03-14 5:09 UTC (permalink / raw)
To: Linux ARM Kernel, Linux DeviceTree, Linux IOMMU, Linux Kernel,
Linux Samsung SOC
Cc: Kukjin Kim, Prathyush, Grant Grundler, Sachin Kamat,
Sylwester Nawrocki, Varun Sethi, Antonios Motakis, Tomasz Figa,
Rahul Sharma
This commit adds device tree support for System MMU.
Signed-off-by: Cho KyongHo <pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
---
drivers/iommu/Kconfig | 5 ++---
drivers/iommu/exynos-iommu.c | 21 +++++++++++++++++----
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index df56e4c..22af807 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -178,16 +178,15 @@ config TEGRA_IOMMU_SMMU
config EXYNOS_IOMMU
bool "Exynos IOMMU Support"
- depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU
+ depends on ARCH_EXYNOS
select IOMMU_API
+ default n
help
Support for the IOMMU(System MMU) of Samsung Exynos application
processor family. This enables H/W multimedia accellerators to see
non-linear physical memory chunks as a linear memory in their
address spaces
- If unsure, say N here.
-
config EXYNOS_IOMMU_DEBUG
bool "Debugging log for Exynos IOMMU"
depends on EXYNOS_IOMMU
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index 33b424d..34feb04 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -26,6 +26,7 @@
#include <linux/list.h>
#include <linux/memblock.h>
#include <linux/export.h>
+#include <linux/of.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
@@ -497,7 +498,7 @@ void exynos_sysmmu_tlb_invalidate(struct device *dev)
read_unlock_irqrestore(&data->lock, flags);
}
-static int exynos_sysmmu_probe(struct platform_device *pdev)
+static int __init exynos_sysmmu_probe(struct platform_device *pdev)
{
int irq, ret;
struct device *dev = &pdev->dev;
@@ -557,11 +558,23 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
return 0;
}
-static struct platform_driver exynos_sysmmu_driver = {
- .probe = exynos_sysmmu_probe,
- .driver = {
+#ifdef CONFIG_OF
+static struct of_device_id sysmmu_of_match[] __initconst = {
+ { .compatible = "samsung,sysmmu-v1", },
+ { .compatible = "samsung,sysmmu-v2", },
+ { .compatible = "samsung,sysmmu-v3.1", },
+ { .compatible = "samsung,sysmmu-v3.2", },
+ { .compatible = "samsung,sysmmu-v3.3", },
+ { },
+};
+#endif
+
+static struct platform_driver exynos_sysmmu_driver __refdata = {
+ .probe = exynos_sysmmu_probe,
+ .driver = {
.owner = THIS_MODULE,
.name = "exynos-sysmmu",
+ .of_match_table = of_match_ptr(sysmmu_of_match),
}
};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 9+ messages in thread[parent not found: <20140314140935.e0652b58ce16591b54d0e10b-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCH v11 13/27] iommu/exynos: support for device tree
[not found] ` <20140314140935.e0652b58ce16591b54d0e10b-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
@ 2014-03-14 13:39 ` Tomasz Figa
[not found] ` <53230695.9080606-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Tomasz Figa @ 2014-03-14 13:39 UTC (permalink / raw)
To: Cho KyongHo, Linux ARM Kernel, Linux DeviceTree, Linux IOMMU,
Linux Kernel, Linux Samsung SOC
Cc: Kukjin Kim, Prathyush, Grant Grundler, Sachin Kamat,
Sylwester Nawrocki, Varun Sethi, Antonios Motakis, Rahul Sharma
Hi KyongHo,
On 14.03.2014 06:09, Cho KyongHo wrote:
> This commit adds device tree support for System MMU.
>
> Signed-off-by: Cho KyongHo <pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> ---
> drivers/iommu/Kconfig | 5 ++---
> drivers/iommu/exynos-iommu.c | 21 +++++++++++++++++----
> 2 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> index df56e4c..22af807 100644
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -178,16 +178,15 @@ config TEGRA_IOMMU_SMMU
>
> config EXYNOS_IOMMU
> bool "Exynos IOMMU Support"
> - depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU
> + depends on ARCH_EXYNOS
> select IOMMU_API
> + default n
> help
> Support for the IOMMU(System MMU) of Samsung Exynos application
nit: There should be a white space before the opening parenthesis.
> processor family. This enables H/W multimedia accellerators to see
typo: s/accellerators/accelerators/
> non-linear physical memory chunks as a linear memory in their
> address spaces
>
> - If unsure, say N here.
> -
> config EXYNOS_IOMMU_DEBUG
> bool "Debugging log for Exynos IOMMU"
> depends on EXYNOS_IOMMU
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 33b424d..34feb04 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -26,6 +26,7 @@
> #include <linux/list.h>
> #include <linux/memblock.h>
> #include <linux/export.h>
> +#include <linux/of.h>
>
> #include <asm/cacheflush.h>
> #include <asm/pgtable.h>
> @@ -497,7 +498,7 @@ void exynos_sysmmu_tlb_invalidate(struct device *dev)
> read_unlock_irqrestore(&data->lock, flags);
> }
>
> -static int exynos_sysmmu_probe(struct platform_device *pdev)
> +static int __init exynos_sysmmu_probe(struct platform_device *pdev)
> {
> int irq, ret;
> struct device *dev = &pdev->dev;
> @@ -557,11 +558,23 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static struct platform_driver exynos_sysmmu_driver = {
> - .probe = exynos_sysmmu_probe,
> - .driver = {
> +#ifdef CONFIG_OF
> +static struct of_device_id sysmmu_of_match[] __initconst = {
> + { .compatible = "samsung,sysmmu-v1", },
> + { .compatible = "samsung,sysmmu-v2", },
> + { .compatible = "samsung,sysmmu-v3.1", },
> + { .compatible = "samsung,sysmmu-v3.2", },
> + { .compatible = "samsung,sysmmu-v3.3", },
Do you need all these compatible strings? I mean, are there any
implementation differences that can't be identified by reading IP
registers, such as REG_MMU_VERSION?
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v11 13/27] iommu/exynos: support for device tree
2014-03-14 5:09 [PATCH v11 13/27] iommu/exynos: support for device tree Cho KyongHo
[not found] ` <20140314140935.e0652b58ce16591b54d0e10b-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
@ 2014-03-14 15:27 ` Sachin Kamat
2014-03-18 11:14 ` Cho KyongHo
1 sibling, 1 reply; 9+ messages in thread
From: Sachin Kamat @ 2014-03-14 15:27 UTC (permalink / raw)
To: Cho KyongHo
Cc: Linux ARM Kernel, Linux DeviceTree, Linux IOMMU, Linux Kernel,
Linux Samsung SOC, Antonios Motakis, Grant Grundler, Joerg Roedel,
Kukjin Kim, Prathyush, Rahul Sharma, Sylwester Nawrocki,
Tomasz Figa, Varun Sethi
Hi KyongHo,
On 14 March 2014 10:39, Cho KyongHo <pullip.cho@samsung.com> wrote:
> This commit adds device tree support for System MMU.
>
> Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
> ---
> drivers/iommu/Kconfig | 5 ++---
> drivers/iommu/exynos-iommu.c | 21 +++++++++++++++++----
> 2 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> index df56e4c..22af807 100644
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -178,16 +178,15 @@ config TEGRA_IOMMU_SMMU
>
> config EXYNOS_IOMMU
> bool "Exynos IOMMU Support"
> - depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU
> + depends on ARCH_EXYNOS
> select IOMMU_API
> + default n
This is not needed as it is the default choice.
> help
> Support for the IOMMU(System MMU) of Samsung Exynos application
> processor family. This enables H/W multimedia accellerators to see
> non-linear physical memory chunks as a linear memory in their
> address spaces
>
> - If unsure, say N here.
> -
> config EXYNOS_IOMMU_DEBUG
> bool "Debugging log for Exynos IOMMU"
> depends on EXYNOS_IOMMU
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 33b424d..34feb04 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -26,6 +26,7 @@
> #include <linux/list.h>
> #include <linux/memblock.h>
> #include <linux/export.h>
> +#include <linux/of.h>
>
> #include <asm/cacheflush.h>
> #include <asm/pgtable.h>
> @@ -497,7 +498,7 @@ void exynos_sysmmu_tlb_invalidate(struct device *dev)
> read_unlock_irqrestore(&data->lock, flags);
> }
>
> -static int exynos_sysmmu_probe(struct platform_device *pdev)
> +static int __init exynos_sysmmu_probe(struct platform_device *pdev)
> {
> int irq, ret;
> struct device *dev = &pdev->dev;
> @@ -557,11 +558,23 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static struct platform_driver exynos_sysmmu_driver = {
> - .probe = exynos_sysmmu_probe,
> - .driver = {
> +#ifdef CONFIG_OF
This is not needed as Exynos is DT only platform.
> +static struct of_device_id sysmmu_of_match[] __initconst = {
> + { .compatible = "samsung,sysmmu-v1", },
> + { .compatible = "samsung,sysmmu-v2", },
> + { .compatible = "samsung,sysmmu-v3.1", },
> + { .compatible = "samsung,sysmmu-v3.2", },
> + { .compatible = "samsung,sysmmu-v3.3", },
> + { },
> +};
> +#endif
> +
> +static struct platform_driver exynos_sysmmu_driver __refdata = {
> + .probe = exynos_sysmmu_probe,
> + .driver = {
> .owner = THIS_MODULE,
> .name = "exynos-sysmmu",
> + .of_match_table = of_match_ptr(sysmmu_of_match),
of_match_ptr is not needed for the same reason as above.
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v11 13/27] iommu/exynos: support for device tree
2014-03-14 15:27 ` Sachin Kamat
@ 2014-03-18 11:14 ` Cho KyongHo
2014-03-18 11:16 ` Sachin Kamat
0 siblings, 1 reply; 9+ messages in thread
From: Cho KyongHo @ 2014-03-18 11:14 UTC (permalink / raw)
To: Sachin Kamat
Cc: Linux DeviceTree, Linux Samsung SOC, Prathyush, Grant Grundler,
Linux Kernel, Linux IOMMU, Kukjin Kim, Sylwester Nawrocki,
Varun Sethi, Antonios Motakis, Tomasz Figa, Linux ARM Kernel,
Rahul Sharma
On Fri, 14 Mar 2014 20:57:42 +0530, Sachin Kamat wrote:
> Hi KyongHo,
>
> On 14 March 2014 10:39, Cho KyongHo <pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
> > This commit adds device tree support for System MMU.
> >
> > Signed-off-by: Cho KyongHo <pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> > ---
> > drivers/iommu/Kconfig | 5 ++---
> > drivers/iommu/exynos-iommu.c | 21 +++++++++++++++++----
> > 2 files changed, 19 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> > index df56e4c..22af807 100644
> > --- a/drivers/iommu/Kconfig
> > +++ b/drivers/iommu/Kconfig
> > @@ -178,16 +178,15 @@ config TEGRA_IOMMU_SMMU
> >
> > config EXYNOS_IOMMU
> > bool "Exynos IOMMU Support"
> > - depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU
> > + depends on ARCH_EXYNOS
> > select IOMMU_API
> > + default n
>
> This is not needed as it is the default choice.
>
OK.
> > help
> > Support for the IOMMU(System MMU) of Samsung Exynos application
> > processor family. This enables H/W multimedia accellerators to see
> > non-linear physical memory chunks as a linear memory in their
> > address spaces
> >
> > - If unsure, say N here.
> > -
> > config EXYNOS_IOMMU_DEBUG
> > bool "Debugging log for Exynos IOMMU"
> > depends on EXYNOS_IOMMU
> > diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> > index 33b424d..34feb04 100644
> > --- a/drivers/iommu/exynos-iommu.c
> > +++ b/drivers/iommu/exynos-iommu.c
> > @@ -26,6 +26,7 @@
> > #include <linux/list.h>
> > #include <linux/memblock.h>
> > #include <linux/export.h>
> > +#include <linux/of.h>
> >
> > #include <asm/cacheflush.h>
> > #include <asm/pgtable.h>
> > @@ -497,7 +498,7 @@ void exynos_sysmmu_tlb_invalidate(struct device *dev)
> > read_unlock_irqrestore(&data->lock, flags);
> > }
> >
> > -static int exynos_sysmmu_probe(struct platform_device *pdev)
> > +static int __init exynos_sysmmu_probe(struct platform_device *pdev)
> > {
> > int irq, ret;
> > struct device *dev = &pdev->dev;
> > @@ -557,11 +558,23 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
> > return 0;
> > }
> >
> > -static struct platform_driver exynos_sysmmu_driver = {
> > - .probe = exynos_sysmmu_probe,
> > - .driver = {
> > +#ifdef CONFIG_OF
>
> This is not needed as Exynos is DT only platform.
>
Yes, but I hesitate to remove that.
> > +static struct of_device_id sysmmu_of_match[] __initconst = {
> > + { .compatible = "samsung,sysmmu-v1", },
> > + { .compatible = "samsung,sysmmu-v2", },
> > + { .compatible = "samsung,sysmmu-v3.1", },
> > + { .compatible = "samsung,sysmmu-v3.2", },
> > + { .compatible = "samsung,sysmmu-v3.3", },
> > + { },
> > +};
> > +#endif
> > +
> > +static struct platform_driver exynos_sysmmu_driver __refdata = {
> > + .probe = exynos_sysmmu_probe,
> > + .driver = {
> > .owner = THIS_MODULE,
> > .name = "exynos-sysmmu",
> > + .of_match_table = of_match_ptr(sysmmu_of_match),
>
> of_match_ptr is not needed for the same reason as above.
>
Ditto.
Thanks.
KyongHo
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v11 13/27] iommu/exynos: support for device tree
2014-03-18 11:14 ` Cho KyongHo
@ 2014-03-18 11:16 ` Sachin Kamat
[not found] ` <CAK9yfHy+uiRPZjEDzZRpNKVY1CnWehVGdJmu3ztOTXAuHBx_Yg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Sachin Kamat @ 2014-03-18 11:16 UTC (permalink / raw)
To: Cho KyongHo
Cc: Linux ARM Kernel, Linux DeviceTree, Linux IOMMU, Linux Kernel,
Linux Samsung SOC, Antonios Motakis, Grant Grundler, Joerg Roedel,
Kukjin Kim, Prathyush, Rahul Sharma, Sylwester Nawrocki,
Tomasz Figa, Varun Sethi
On 18 March 2014 16:44, Cho KyongHo <pullip.cho@samsung.com> wrote:
> On Fri, 14 Mar 2014 20:57:42 +0530, Sachin Kamat wrote:
>> Hi KyongHo,
>>
>> On 14 March 2014 10:39, Cho KyongHo <pullip.cho@samsung.com> wrote:
>> >
>> > -static struct platform_driver exynos_sysmmu_driver = {
>> > - .probe = exynos_sysmmu_probe,
>> > - .driver = {
>> > +#ifdef CONFIG_OF
>>
>> This is not needed as Exynos is DT only platform.
>>
> Yes, but I hesitate to remove that.
What is the reason for your hesitation? :)
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-03-19 9:06 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-14 5:09 [PATCH v11 13/27] iommu/exynos: support for device tree Cho KyongHo
[not found] ` <20140314140935.e0652b58ce16591b54d0e10b-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-14 13:39 ` Tomasz Figa
[not found] ` <53230695.9080606-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-18 10:52 ` Cho KyongHo
[not found] ` <20140318195210.14c953a70498f634032f35b7-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-18 15:25 ` Tomasz Figa
[not found] ` <53286557.6070808-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-19 9:06 ` Cho KyongHo
2014-03-14 15:27 ` Sachin Kamat
2014-03-18 11:14 ` Cho KyongHo
2014-03-18 11:16 ` Sachin Kamat
[not found] ` <CAK9yfHy+uiRPZjEDzZRpNKVY1CnWehVGdJmu3ztOTXAuHBx_Yg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-19 8:46 ` Cho KyongHo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).