Message ID | 1566324587-3442-7-git-send-email-olekstysh@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iommu/arm: Add Renesas IPMMU-VMSA support + Linux's iommu_fwspec | expand |
On 20.08.2019 20:09, Oleksandr Tyshchenko wrote: > --- a/xen/include/xen/iommu.h > +++ b/xen/include/xen/iommu.h > @@ -240,6 +240,16 @@ struct iommu_ops { > int __must_check (*iotlb_flush_all)(struct domain *d); > int (*get_reserved_device_memory)(iommu_grdm_t *, void *); > void (*dump_p2m_table)(struct domain *d); > + > +#ifdef CONFIG_HAS_DEVICE_TREE > + /* > + * All IOMMU drivers which support generic IOMMU DT bindings should use > + * this callback. This is a way for the framework to provide the driver > + * with DT IOMMU specifier which describes the IOMMU master interfaces of > + * that device (device IDs, etc). > + */ > + int (*of_xlate)(device_t *dev, struct dt_phandle_args *args); > +#endif > }; I think this should be folded into the first patch using it. Doing so may also answer my question of what "of" here stands for. Jan
Hi Jan > On 20.08.2019 20:09, Oleksandr Tyshchenko wrote: >> --- a/xen/include/xen/iommu.h >> +++ b/xen/include/xen/iommu.h >> @@ -240,6 +240,16 @@ struct iommu_ops { >> int __must_check (*iotlb_flush_all)(struct domain *d); >> int (*get_reserved_device_memory)(iommu_grdm_t *, void *); >> void (*dump_p2m_table)(struct domain *d); >> + >> +#ifdef CONFIG_HAS_DEVICE_TREE >> + /* >> + * All IOMMU drivers which support generic IOMMU DT bindings >> should use >> + * this callback. This is a way for the framework to provide the >> driver >> + * with DT IOMMU specifier which describes the IOMMU master >> interfaces of >> + * that device (device IDs, etc). >> + */ >> + int (*of_xlate)(device_t *dev, struct dt_phandle_args *args); >> +#endif >> }; > > I think this should be folded into the first patch using it. Doing > so may also answer my question of what "of" here stands for. In Linux, code related to the device-tree is prefixed with "of_". But, in Xen, code related to the device-tree is prefixed with "dt_" [1]. Looks like, I should have named it "dt_xlate" to be consistent. There was a preference to introduce callback in a separate patch [2]. Anyway, shall I fold it? [1] https://github.com/xen-project/xen/blob/master/xen/include/xen/device_tree.h [2] https://lists.xenproject.org/archives/html/xen-devel/2019-08/msg01393.html
On 27.08.2019 16:59, Oleksandr wrote:
> There was a preference to introduce callback in a separate patch [2]. Anyway, shall I fold it?
Hmm, I disagree with Julien here. I don't think we should have unused
hooks in the tree, not even intermediately.
Jan
Hi, On 8/27/19 4:11 PM, Jan Beulich wrote: > On 27.08.2019 16:59, Oleksandr wrote: >> There was a preference to introduce callback in a separate patch [2]. >> Anyway, shall I fold it? > > Hmm, I disagree with Julien here. I don't think we should have unused > hooks in the tree, not even intermediately. I have stated my preference before, but this is not a strong one nor a must. If this is your condition to get the series accepted, then Oleksandr should follow your requested. Cheers,
On 09.09.19 15:37, Julien Grall wrote: > Hi, Hi, all. > > > On 8/27/19 4:11 PM, Jan Beulich wrote: >> On 27.08.2019 16:59, Oleksandr wrote: >>> There was a preference to introduce callback in a separate patch >>> [2]. Anyway, shall I fold it? >> >> Hmm, I disagree with Julien here. I don't think we should have unused >> hooks in the tree, not even intermediately. > > I have stated my preference before, but this is not a strong one nor a > must. If this is your condition to get the series accepted, then > Oleksandr should follow your requested. Will fold it as requested. And will rename callback to "dt_xlate". > > Cheers, >
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h index 48f8748..79b86ac 100644 --- a/xen/include/xen/iommu.h +++ b/xen/include/xen/iommu.h @@ -240,6 +240,16 @@ struct iommu_ops { int __must_check (*iotlb_flush_all)(struct domain *d); int (*get_reserved_device_memory)(iommu_grdm_t *, void *); void (*dump_p2m_table)(struct domain *d); + +#ifdef CONFIG_HAS_DEVICE_TREE + /* + * All IOMMU drivers which support generic IOMMU DT bindings should use + * this callback. This is a way for the framework to provide the driver + * with DT IOMMU specifier which describes the IOMMU master interfaces of + * that device (device IDs, etc). + */ + int (*of_xlate)(device_t *dev, struct dt_phandle_args *args); +#endif }; #include <asm/iommu.h>