lkml.org 
[lkml]   [2008]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
Subject[PATCH 2/3] aty128fb: Fix 64 bits resources on 32 bits archs
This fixes aty128fb 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 <benh@kernel.crashing.org>
---

drivers/video/aty/aty128fb.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

--- linux-work.orig/drivers/video/aty/aty128fb.c 2008-04-22 11:18:41.000000000 +1000
+++ linux-work/drivers/video/aty/aty128fb.c 2008-04-22 11:19:31.000000000 +1000
@@ -2011,7 +2011,7 @@ static int __devinit aty128_init(struct
/* register a card ++ajoshi */
static int __devinit aty128_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{
- unsigned long fb_addr, reg_addr;
+ resource_size_t fb_addr, reg_addr;
struct aty128fb_par *par;
struct fb_info *info;
int err;
@@ -2052,7 +2052,6 @@ static int __devinit aty128_probe(struct
info->pseudo_palette = par->pseudo_palette;

/* Virtualize mmio region */
- info->fix.mmio_start = reg_addr;
par->regbase = ioremap(reg_addr, pci_resource_len(pdev, 2));
if (!par->regbase)
goto err_free_info;
@@ -2068,9 +2067,9 @@ static int __devinit aty128_probe(struct

/* Set up info->fix */
info->fix = aty128fb_fix;
- info->fix.smem_start = fb_addr;
+ info->fix.smem_start = (unsigned long)fb_addr;
info->fix.smem_len = par->vram_size;
- info->fix.mmio_start = reg_addr;
+ info->fix.mmio_start = (unsigned long)reg_addr;

/* If we can't test scratch registers, something is seriously wrong */
if (!register_test(par)) {

\
 
 \ /
  Last update: 2008-04-22 03:31    [W:0.023 / U:0.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site