search for: nouveau_addmap_pci

Displaying 3 results from an estimated 3 matches for "nouveau_addmap_pci".

2008 Mar 09
0
[PATCH 1/4] nouveau: add nouveau_addmap_{agp, fb, pci} functions
...int nouveau_mem_init(struct drm_device * return 0; } +static int nouveau_addmap(struct drm_device *dev, struct mem_block *block, + unsigned long offset, enum drm_map_type type) +{ + return drm_addmap(dev, block->start, block->size, type, 0, + &block->map); +} + +static int nouveau_addmap_pci(struct drm_device *dev, struct mem_block *block) +{ + return nouveau_addmap(dev, block, block->start, _DRM_SCATTER_GATHER); +} + +static int nouveau_addmap_fb(struct drm_device *dev, struct mem_block *block) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + unsigned long offset...
2008 Mar 09
0
[PATCH 4/4] nouveau: clean up nouveau_mem_alloc function
...es the block need mapping? + */ + if (!(flags & NOUVEAU_MEM_MAPPED)) + return block; + + switch (type) { + case NOUVEAU_MEM_AGP: + err = nouveau_addmap_agp(dev, block); + break; + case NOUVEAU_MEM_FB: + err = nouveau_addmap_fb(dev, block); + break; + case NOUVEAU_MEM_PCI: + err = nouveau_addmap_pci(dev, block); + break; + default: + err = -EINVAL; + break; + }; + if (err) + goto error; + + return block; +error: + nouveau_mem_free_block(block); + return NULL; +} + +static struct mem_block * +nouveau_mem_alloc_pci(struct drm_device *dev, uint64_t size, int alignment, + int flags,...
2008 Mar 09
0
[PATCH 3/4] nouveau: move nouveau_map_block() call to nouveau_addmap()
...rm_map_type type) { - return drm_addmap(dev, block->start, block->size, type, 0, - &block->map); + int err; + + err = drm_addmap(dev, block->start, block->size, type, 0, &block->map); + if (err) + return err; + + return nouveau_map_block(dev, block); } static int nouveau_addmap_pci(struct drm_device *dev, struct mem_block *block) @@ -646,11 +651,6 @@ alloc_ok: nouveau_mem_free_block(block); return NULL; } - - if (!nouveau_map_block(dev, block)) { - nouveau_mem_free_block(block); - return NULL; - } } DRM_DEBUG("allocated %lld bytes at 0x%llx type=0x...