On 8/26/19 3:31 PM, YueHaibing wrote: > If COMPILE_TEST is y and IOMMU_SUPPORT is n, selecting TEGRA_VDE > to m will set IOMMU_IOVA to m, this fails the building of > TEGRA_HOST1X and DRM_TEGRA which is y like this: > > drivers/gpu/host1x/cdma.o: In function `host1x_cdma_init': > cdma.c:(.text+0x66c): undefined reference to `alloc_iova' > cdma.c:(.text+0x698): undefined reference to `__free_iova' > > drivers/gpu/drm/tegra/drm.o: In function `tegra_drm_unload': > drm.c:(.text+0xeb0): undefined reference to `put_iova_domain' > drm.c:(.text+0xeb4): undefined reference to `iova_cache_put' > > Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> > Fixes: 6b2265975239 ("media: staging: tegra-vde: Fix build error") > Fixes: b301f8de1925 ("media: staging: media: tegra-vde: Add IOMMU support") > Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> > --- > drivers/staging/media/tegra-vde/Kconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/tegra-vde/Kconfig b/drivers/staging/media/tegra-vde/Kconfig > index ba49ea5..a41d30c 100644 > --- a/drivers/staging/media/tegra-vde/Kconfig > +++ b/drivers/staging/media/tegra-vde/Kconfig > @@ -1,9 +1,9 @@ > # SPDX-License-Identifier: GPL-2.0 > config TEGRA_VDE > tristate "NVIDIA Tegra Video Decoder Engine driver" > - depends on ARCH_TEGRA || COMPILE_TEST > + depends on ARCH_TEGRA What happens if you drop this change, > select DMA_SHARED_BUFFER > - select IOMMU_IOVA if (IOMMU_SUPPORT || COMPILE_TEST) > + select IOMMU_IOVA if IOMMU_SUPPORT but keep this change? iova.h has stubs that are used if IOMMU_IOVA is not set, so it should work when compile testing this tegra-vde driver. Haven't tried it, but making sure that compile testing keep working is really important. Regards, Hans > select SRAM > help > Say Y here to enable support for the NVIDIA Tegra video decoder >