[PATCH] drm/rockchip: support non-iommu buffer path

Heiko Stübner heiko at sntech.de
Mon Apr 18 23:27:10 PDT 2016


Am Dienstag, 19. April 2016, 10:19:32 schrieb Mark Yao:
> Some rockchip vop not support iommu, need use non-iommu
> buffer for it. And if we get iommu issues, we can compare
> the issues with non-iommu path, the would help the debug.
> 
> Signed-off-by: Mark Yao <mark.yao at rock-chips.com>
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c |   65
> +++++++++++++++++++-------- 1 file changed, 47 insertions(+), 18
> deletions(-)
> 
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index f556a8f..90729c0 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c

[...]

> @@ -497,6 +514,18 @@ static int rockchip_drm_platform_probe(struct
> platform_device *pdev) continue;
>  		}
> 
> +		iommu = of_parse_phandle(port->parent, "iommus", 0);
> +		if (!iommu || !of_device_is_available(iommu->parent)) {
> +			dev_warn(dev, "No available iommu found for %s\n",
> +				 port->parent->full_name);
> +			dev_warn(dev, "Force non-iommu buffer for all crtc\n");

As stated in the patch-description, this is somewhat common for _some_ vops 
[like the Cortex-A9s I'm still hoping to support at some point in the future 
:-D ], so this should probably be either a dev_dbg or a dev_info as maximum 
and also condensed into one line of output like:

	dev_dbg(dev, "no iommu attached for %s, using non-iommu buffers\n",
			  port->parent->full_name);


Heiko



More information about the Linux-rockchip mailing list