Re: [RFC PATCH v2 3/7] iommu: add new iommu_ops callback for adding an OF device

2014-09-10 Thread Marek Szyprowski

Hello,

On 2014-09-02 19:56, Will Deacon wrote:

This patch adds a new function to the iommu_ops structure to allow an
OF device to be added to a specific IOMMU instance using the recently
merged generic devicetree binding for IOMMUs. The callback (of_xlate)
takes a struct device representing the master and an of_phandle_args
representing the IOMMU and the correspondong IDs for the new master.

Signed-off-by: Will Deacon will.dea...@arm.com
---
  include/linux/iommu.h | 5 +
  1 file changed, 5 insertions(+)

diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index fdddb14cd8f5..3e766b85daa3 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -21,6 +21,7 @@
  
  #include linux/errno.h

  #include linux/err.h
+#include linux/of.h
  #include linux/types.h
  #include trace/events/iommu.h
  
@@ -136,6 +137,10 @@ struct iommu_ops {

/* Get the numer of window per domain */
u32 (*domain_get_windows)(struct iommu_domain *domain);
  
+#ifdef CONFIG_OF_IOMMU

+   int (*of_xlate)(struct device *dev, struct of_phandle_args *args);


If I understand correctly how it is designed to work, then it should be:

struct iommu_data *(*of_xlate)(struct device *dev, struct 
of_phandle_args *args);



+#endif
+
unsigned long pgsize_bitmap;
  };
  


Best regards
--
Marek Szyprowski, PhD
Samsung RD Institute Poland

___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [RFC PATCH v2 3/7] iommu: add new iommu_ops callback for adding an OF device

2014-09-10 Thread Will Deacon
On Wed, Sep 10, 2014 at 12:16:06PM +0100, Marek Szyprowski wrote:
 On 2014-09-02 19:56, Will Deacon wrote:
  This patch adds a new function to the iommu_ops structure to allow an
  OF device to be added to a specific IOMMU instance using the recently
  merged generic devicetree binding for IOMMUs. The callback (of_xlate)
  takes a struct device representing the master and an of_phandle_args
  representing the IOMMU and the correspondong IDs for the new master.
 
  Signed-off-by: Will Deacon will.dea...@arm.com
  ---
include/linux/iommu.h | 5 +
1 file changed, 5 insertions(+)
 
  diff --git a/include/linux/iommu.h b/include/linux/iommu.h
  index fdddb14cd8f5..3e766b85daa3 100644
  --- a/include/linux/iommu.h
  +++ b/include/linux/iommu.h
  @@ -21,6 +21,7 @@

#include linux/errno.h
#include linux/err.h
  +#include linux/of.h
#include linux/types.h
#include trace/events/iommu.h

  @@ -136,6 +137,10 @@ struct iommu_ops {
  /* Get the numer of window per domain */
  u32 (*domain_get_windows)(struct iommu_domain *domain);

  +#ifdef CONFIG_OF_IOMMU
  +   int (*of_xlate)(struct device *dev, struct of_phandle_args *args);
 
 If I understand correctly how it is designed to work, then it should be:
 
 struct iommu_data *(*of_xlate)(struct device *dev, struct 
 of_phandle_args *args);

Yeah, that might be cleaner than the of_iommu_get_data call in
of_dma_configure. I'm currently cooking a v3, so I'll include this change.

Will
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [RFC PATCH v2 3/7] iommu: add new iommu_ops callback for adding an OF device

2014-09-10 Thread Will Deacon
On Wed, Sep 10, 2014 at 12:22:13PM +0100, Will Deacon wrote:
 On Wed, Sep 10, 2014 at 12:16:06PM +0100, Marek Szyprowski wrote:
  On 2014-09-02 19:56, Will Deacon wrote:
   +#ifdef CONFIG_OF_IOMMU
   + int (*of_xlate)(struct device *dev, struct of_phandle_args *args);
  
  If I understand correctly how it is designed to work, then it should be:
  
  struct iommu_data *(*of_xlate)(struct device *dev, struct 
  of_phandle_args *args);
 
 Yeah, that might be cleaner than the of_iommu_get_data call in
 of_dma_configure. I'm currently cooking a v3, so I'll include this change.

Actually, I spoke too soon. If we make of_xlate return the iommu_data, then
we have to continue getting the iommu_ops from the bus_type, otherwise we
have no way to call the right of_xlate.

So I'd rather leave of_dma_configure using of_iommu_get_data (I'm currently
ripping out the bus code in there) so that we can embed the iommu_ops in
iommu_data instead.

Will
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


[RFC PATCH v2 3/7] iommu: add new iommu_ops callback for adding an OF device

2014-09-02 Thread Will Deacon
This patch adds a new function to the iommu_ops structure to allow an
OF device to be added to a specific IOMMU instance using the recently
merged generic devicetree binding for IOMMUs. The callback (of_xlate)
takes a struct device representing the master and an of_phandle_args
representing the IOMMU and the correspondong IDs for the new master.

Signed-off-by: Will Deacon will.dea...@arm.com
---
 include/linux/iommu.h | 5 +
 1 file changed, 5 insertions(+)

diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index fdddb14cd8f5..3e766b85daa3 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -21,6 +21,7 @@
 
 #include linux/errno.h
 #include linux/err.h
+#include linux/of.h
 #include linux/types.h
 #include trace/events/iommu.h
 
@@ -136,6 +137,10 @@ struct iommu_ops {
/* Get the numer of window per domain */
u32 (*domain_get_windows)(struct iommu_domain *domain);
 
+#ifdef CONFIG_OF_IOMMU
+   int (*of_xlate)(struct device *dev, struct of_phandle_args *args);
+#endif
+
unsigned long pgsize_bitmap;
 };
 
-- 
2.1.0

___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu