lkml.org 
[lkml]   [2021]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC v1 4/8] intel/vt-d: export intel_iommu_get_resv_regions
From
Date
On 2021/7/9 19:43, Wei Liu wrote:
> When Microsoft Hypervisor runs on Intel platforms it needs to know the
> reserved regions to program devices correctly. There is no reason to
> duplicate intel_iommu_get_resv_regions. Export it.

Why not using iommu_get_resv_regions()?

Best regards,
baolu

>
> Signed-off-by: Wei Liu <wei.liu@kernel.org>
> ---
> drivers/iommu/intel/iommu.c | 5 +++--
> include/linux/intel-iommu.h | 4 ++++
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> index a4294d310b93..01973bc20080 100644
> --- a/drivers/iommu/intel/iommu.c
> +++ b/drivers/iommu/intel/iommu.c
> @@ -5176,8 +5176,8 @@ static void intel_iommu_probe_finalize(struct device *dev)
> set_dma_ops(dev, NULL);
> }
>
> -static void intel_iommu_get_resv_regions(struct device *device,
> - struct list_head *head)
> +void intel_iommu_get_resv_regions(struct device *device,
> + struct list_head *head)
> {
> int prot = DMA_PTE_READ | DMA_PTE_WRITE;
> struct iommu_resv_region *reg;
> @@ -5232,6 +5232,7 @@ static void intel_iommu_get_resv_regions(struct device *device,
> return;
> list_add_tail(&reg->list, head);
> }
> +EXPORT_SYMBOL_GPL(intel_iommu_get_resv_regions);
>
> int intel_iommu_enable_pasid(struct intel_iommu *iommu, struct device *dev)
> {
> diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
> index 03faf20a6817..f91869f765bc 100644
> --- a/include/linux/intel-iommu.h
> +++ b/include/linux/intel-iommu.h
> @@ -814,6 +814,8 @@ extern int iommu_calculate_max_sagaw(struct intel_iommu *iommu);
> extern int dmar_disabled;
> extern int intel_iommu_enabled;
> extern int intel_iommu_gfx_mapped;
> +extern void intel_iommu_get_resv_regions(struct device *device,
> + struct list_head *head);
> #else
> static inline int iommu_calculate_agaw(struct intel_iommu *iommu)
> {
> @@ -825,6 +827,8 @@ static inline int iommu_calculate_max_sagaw(struct intel_iommu *iommu)
> }
> #define dmar_disabled (1)
> #define intel_iommu_enabled (0)
> +static inline void intel_iommu_get_resv_regions(struct device *device,
> + struct list_head *head) {}
> #endif
>
> #endif
>

\
 
 \ /
  Last update: 2021-07-09 16:18    [W:1.138 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site