Re: [GIT PULL] various IOMMU updates for 2.6.29

From: Joerg Roedel
Date: Sun Jan 04 2009 - 05:30:47 EST


On Sun, Jan 04, 2009 at 11:05:11AM +0100, Ingo Molnar wrote:
> See the patch below - i have queued it up in tip/core/urgent.
>
> Ingo
>
> ----------------------------->
> From c66b9906f863696159e05890bb7123269bb9a9de Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <mingo@xxxxxxx>
> Date: Sun, 4 Jan 2009 10:55:02 +0100
> Subject: [PATCH] intel-iommu: fix build error with INTR_REMAP=y and DMAR=n
>
> dmar.o can be built in the CONFIG_INTR_REMAP=y case but
> iommu_calculate_agaw() is only available if VT-d is built as well.
>
> So create an inline version of iommu_calculate_agaw() for the
> !CONFIG_DMAR case. The iommu->agaw value wont be used in this
> case, but the code is cleaner (has less #ifdefs) if we have it around
> unconditionally.
>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> ---
> include/linux/dma_remapping.h | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/dma_remapping.h b/include/linux/dma_remapping.h
> index 136f170..af1dab4 100644
> --- a/include/linux/dma_remapping.h
> +++ b/include/linux/dma_remapping.h
> @@ -17,7 +17,15 @@ struct dmar_domain;
> struct root_entry;
>
> extern void free_dmar_iommu(struct intel_iommu *iommu);
> +
> +#ifdef CONFIG_DMAR
> extern int iommu_calculate_agaw(struct intel_iommu *iommu);
> +#else
> +static inline int iommu_calculate_agaw(struct intel_iommu *iommu)
> +{
> + return 0;
> +}
> +#endif
>
> extern int dmar_disabled;

Yeah, thats indeed better. Thanks.

Joerg

--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/