Hi Heiko, On 1/9/2026 3:03 AM, Heiko Stuebner wrote: > Am Donnerstag, 6. November 2025, 03:06:31 Mitteleuropäische Normalzeit > schrieb Chaoyi Chen: >> From: Chaoyi Chen <[email protected]> >> >> On the RK3506 platform, there is no iommu hardware. And even on >> platform that have iommu hardware, it should be possible to use >> VOP without enabling iommu. In this case, a contiguous memory >> space like CMA should be used. >> >> So this patch removes the dependency on ROCKCHIP_IOMMU. >> >> Signed-off-by: Chaoyi Chen <[email protected]> >> --- >> drivers/gpu/drm/rockchip/Kconfig | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/rockchip/Kconfig >> b/drivers/gpu/drm/rockchip/Kconfig >> index b7b025814e72..a056d419190c 100644 >> --- a/drivers/gpu/drm/rockchip/Kconfig >> +++ b/drivers/gpu/drm/rockchip/Kconfig >> @@ -1,7 +1,8 @@ >> # SPDX-License-Identifier: GPL-2.0-only >> config DRM_ROCKCHIP >> tristate "DRM Support for Rockchip" >> - depends on DRM && ROCKCHIP_IOMMU >> + depends on DRM >> + depends on ROCKCHIP_IOMMU || !ROCKCHIP_IOMMU > > I don't really understand this yes+no line :-) > > Can't you just > - drop the dependency altogether > or > - do a depends on ROCKCHIP_IOMMU if ARM64 > >
This trick is called optional-dependencies [0]. In addition to the familiar depends on ROCKCHIP_IOMMU part, the newly added !ROCKCHIP_IOMMU ensures that DRM_ROCKCHIP can still be built even when ROCKCHIP_IOMMU is not build. [0]: https://docs.kernel.org/kbuild/kconfig-language.html#optional-dependencies If we just: - drop the dependency altogether When IOMMU is enabled, the dependency relationship cannot be handled correctly. For example, the following configuration is possible: ROCKCHIP_IOMMU=m, DRM_ROCKCHIP=y, which leads to a build failure. - do a depends on ROCKCHIP_IOMMU if ARM64 This changes the semantics. On arm64 we should also be able to work without IOMMU being enabled. -- Best, Chaoyi
