Commit 6d7bf017 authored by Thiemo Seufer's avatar Thiemo Seufer Committed by Ralf Baechle

It helps to not use a _mem_ function for requesting I/O space.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 77c728c2
...@@ -1126,7 +1126,7 @@ static int __init gbefb_probe(struct device *dev) ...@@ -1126,7 +1126,7 @@ static int __init gbefb_probe(struct device *dev)
gbefb_setup(options); gbefb_setup(options);
#endif #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"); printk(KERN_ERR "gbefb: couldn't reserve mmio region\n");
ret = -EBUSY; ret = -EBUSY;
goto out_release_framebuffer; goto out_release_framebuffer;
...@@ -1152,12 +1152,24 @@ static int __init gbefb_probe(struct device *dev) ...@@ -1152,12 +1152,24 @@ static int __init gbefb_probe(struct device *dev)
if (gbe_mem_phys) { if (gbe_mem_phys) {
/* memory was allocated at boot time */ /* memory was allocated at boot time */
gbe_mem = ioremap_nocache(gbe_mem_phys, gbe_mem_size); 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; gbe_dma_addr = 0;
} else { } else {
/* try to allocate memory with the classical allocator /* try to allocate memory with the classical allocator
* this has high chance to fail on low memory machines */ * this has high chance to fail on low memory machines */
gbe_mem = dma_alloc_coherent(NULL, gbe_mem_size, &gbe_dma_addr, gbe_mem = dma_alloc_coherent(NULL, gbe_mem_size, &gbe_dma_addr,
GFP_KERNEL); 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; gbe_mem_phys = (unsigned long) gbe_dma_addr;
} }
...@@ -1165,12 +1177,6 @@ static int __init gbefb_probe(struct device *dev) ...@@ -1165,12 +1177,6 @@ static int __init gbefb_probe(struct device *dev)
mtrr_add(gbe_mem_phys, gbe_mem_size, MTRR_TYPE_WRCOMB, 1); mtrr_add(gbe_mem_phys, gbe_mem_size, MTRR_TYPE_WRCOMB, 1);
#endif #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 */ /* map framebuffer memory into tiles table */
for (i = 0; i < (gbe_mem_size >> TILE_SHIFT); i++) for (i = 0; i < (gbe_mem_size >> TILE_SHIFT); i++)
gbe_tiles.cpu[i] = (gbe_mem_phys >> TILE_SHIFT) + i; gbe_tiles.cpu[i] = (gbe_mem_phys >> TILE_SHIFT) + i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment