This fixes radeonfb to not truncate 64 bits resources on 32 bits
platforms. Unfortunately, there are still issues with addresses
returned to userspace via struct fb_fix_screeninfo. This will
have to be dealt with separately.

Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

 drivers/video/aty/radeon_base.c |    4 ++--
 drivers/video/aty/radeonfb.h    |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

--- linux-work.orig/drivers/video/aty/radeon_base.c     2008-04-22 
11:04:19.000000000 +1000
+++ linux-work/drivers/video/aty/radeon_base.c  2008-04-22 11:05:00.000000000 
+1000
@@ -1886,7 +1886,7 @@ static int __devinit radeon_set_fbinfo (
        info->screen_size = rinfo->mapped_vram;
        /* Fill fix common fields */
        strlcpy(info->fix.id, rinfo->name, sizeof(info->fix.id));
-        info->fix.smem_start = rinfo->fb_base_phys;
+        info->fix.smem_start = (unsigned long)rinfo->fb_base_phys;
         info->fix.smem_len = rinfo->video_ram;
         info->fix.type = FB_TYPE_PACKED_PIXELS;
         info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
@@ -1894,7 +1894,7 @@ static int __devinit radeon_set_fbinfo (
         info->fix.ypanstep = 1;
         info->fix.ywrapstep = 0;
         info->fix.type_aux = 0;
-        info->fix.mmio_start = rinfo->mmio_base_phys;
+        info->fix.mmio_start = (unsigned long)rinfo->mmio_base_phys;
         info->fix.mmio_len = RADEON_REGSIZE;
        info->fix.accel = FB_ACCEL_ATI_RADEON;
 
Index: linux-work/drivers/video/aty/radeonfb.h
===================================================================
--- linux-work.orig/drivers/video/aty/radeonfb.h        2008-04-22 
11:03:17.000000000 +1000
+++ linux-work/drivers/video/aty/radeonfb.h     2008-04-22 11:03:27.000000000 
+1000
@@ -287,8 +287,8 @@ struct radeonfb_info {
 
        char                    name[DEVICE_NAME_SIZE];
 
-       unsigned long           mmio_base_phys;
-       unsigned long           fb_base_phys;
+       resource_size_t         mmio_base_phys;
+       resource_size_t         fb_base_phys;
 
        void __iomem            *mmio_base;
        void __iomem            *fb_base;
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to