GBE framebuffer fixes
PATCH 1/1 GBE framebuffer fixes
For reviewing pleassure. If nobody objects I'd like to submit this one as part of my pile of MIPS patches. GBE is the framebuffer of the SGI O2 which also exists in similar form
diff-tree 6f3fe836b5f14212063223562ee74f710291c2c8 (from 13f947cd035027c404390cb4f598fa8d60152a67)
Author: Thiemo Seufer <[email protected]> Date: Fri Mar 4 19:40:45 2005 +0000
It helps to not use a _mem_ function for requesting I/O space.
Signed-off-by Ralf Baechle <[email protected]>
drivers/video/gbefb.c +13 -7
@@ -1126,7 +1126,7 @@ static int __init gbefb_probe(struct devgbefb_setup (options);#endif -if (!request_mem_region (GBE_BASE ,sizeof (struct sgi_gbe ),"GBE" )) { +if (!request_region (GBE_BASE ,sizeof (struct sgi_gbe ),"GBE" )) {printk (KERN_ERR "gbefb: couldn't reserve mmio region\n" ); ret = -EBUSY ; goto out_release_framebuffer;
@@ -1152,12 +1152,24 @@ static int __init gbefb_probe(struct devif (gbe_mem_phys) {/* memory was allocated at boot time */ gbe_mem =ioremap_nocache (gbe_mem_phys, gbe_mem_size); +if (!gbe_mem) { +printk (KERN_ERR "gbefb: couldn't map framebuffer\n" ); + ret = -ENOMEM ; + goto out_tiles_free; + } + gbe_dma_addr =0 ; }else {/* try to allocate memory with the classical allocator * this has high chance to fail on low memory machines */ gbe_mem =dma_alloc_coherent (NULL , gbe_mem_size, &gbe_dma_addr,GFP_KERNEL ); +if (!gbe_mem) { +printk (KERN_ERR "gbefb: couldn't allocate framebuffer memory\n" ); + ret = -ENOMEM ; + goto out_tiles_free; + } + gbe_mem_phys = (unsigned long ) gbe_dma_addr; }
@@ -1165,12 +1177,6 @@ static int __init gbefb_probe(struct devmtrr_add (gbe_mem_phys, gbe_mem_size,MTRR_TYPE_WRCOMB ,1 );#endif -if (!gbe_mem) { -printk (KERN_ERR "gbefb: couldn't map framebuffer\n" ); - ret = -ENXIO ; - goto out_tiles_free; - } -/* map framebuffer memory into tiles table */ for (i =0 ; i < (gbe_mem_size >>TILE_SHIFT ); i++) gbe_tiles.cpu[i] = (gbe_mem_phys >>TILE_SHIFT ) + i;
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl