[PATCH 1/3] drm: add func to get max iomem address v2

Chris Wilson chris at chris-wilson.co.uk
Fri Feb 16 14:40:11 UTC 2018


Quoting Chunming Zhou (2018-02-09 02:44:08)
> it will be used to check if the driver needs swiotlb
> v2: Don't use inline, instead, move function to drm_memory.c (Mechel Daenzer <michel at daenzer.net>)
> 
> Change-Id: Idbe47af8f12032d4803bb3d47273e807f19169c3
> Signed-off-by: Chunming Zhou <david1.zhou at amd.com>
> Reviewed-by: Monk Liu <monk.liu at amd.com>
> Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
>  drivers/gpu/drm/drm_memory.c | 13 +++++++++++++
>  include/drm/drm_cache.h      |  2 ++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c
> index fc0ebd273ef8..7ca500b8c399 100644
> --- a/drivers/gpu/drm/drm_memory.c
> +++ b/drivers/gpu/drm/drm_memory.c
> @@ -149,3 +149,16 @@ void drm_legacy_ioremapfree(struct drm_local_map *map, struct drm_device *dev)
>                 iounmap(map->handle);
>  }
>  EXPORT_SYMBOL(drm_legacy_ioremapfree);
> +
> +u64 drm_get_max_iomem(void)
> +{
> +       struct resource *tmp;
> +       u64 max_iomem = 0;
> +
> +       for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) {
> +               max_iomem = max(max_iomem,  tmp->end);

Note that resource.end is of type resource_size_t which is not u64 on
32b.

Either use max_t(u64) or resource_size_t max_iomem with the implicit
cast on the return.
-Chris


More information about the amd-gfx mailing list