Message ID | 1519081734-16572-1-git-send-email-david@lechnology.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Feb 19, 2018 at 05:08:54PM -0600, David Lechner wrote: > The end field of struct resource is resource_size_t, so on 32-bit > targets, this is a 32-bit value. That's not quite correct. resource_size_t is a phys_addr_t, which can be 64-bit also on 32-bit targets (if they've got CONFIG_PHYS_ADDR_T_64BIT enabled, which is used for example with PAE). With that fixed: Reviewed-by: Thierry Reding <treding@nvidia.com>
diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c index 7ca500b..3c54044 100644 --- a/drivers/gpu/drm/drm_memory.c +++ b/drivers/gpu/drm/drm_memory.c @@ -153,7 +153,7 @@ EXPORT_SYMBOL(drm_legacy_ioremapfree); u64 drm_get_max_iomem(void) { struct resource *tmp; - u64 max_iomem = 0; + resource_size_t max_iomem = 0; for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) { max_iomem = max(max_iomem, tmp->end);
The end field of struct resource is resource_size_t, so on 32-bit targets, this is a 32-bit value. This results in a compiler warning of "warning: comparison of distinct pointer types lacks a cast". Fix it by making max_iomem resource_size_t to match the end field. Fixes: (82626363a217 "drm: add func to get max iomem address v2") Signed-off-by: David Lechner <david@lechnology.com> --- drivers/gpu/drm/drm_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)