Displaying 3 results from an estimated 3 matches for "drm_map_type".
2008 Mar 09
0
[PATCH 1/4] nouveau: add nouveau_addmap_{agp, fb, pci} functions
...======================================
--- drm.orig/shared-core/nouveau_mem.c
+++ drm/shared-core/nouveau_mem.c
@@ -515,6 +515,39 @@ 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_f...
2008 Mar 09
0
[PATCH 2/4] nouveau: add nouveau_map_block function
...entry = drm_find_matching_map(dev, block->map);
+ if (!entry)
+ return -EINVAL;
+
+ block->map_handle = entry->user_token;
+ block->flags |= NOUVEAU_MEM_MAPPED;
+ return 0;
+}
+
static int nouveau_addmap(struct drm_device *dev, struct mem_block *block,
unsigned long offset, enum drm_map_type type)
{
@@ -619,9 +633,7 @@ alloc_ok:
if (flags&NOUVEAU_MEM_MAPPED)
{
- struct drm_map_list *entry;
int ret = 0;
- block->flags|=NOUVEAU_MEM_MAPPED;
if (type == NOUVEAU_MEM_AGP)
ret = nouveau_addmap_agp(dev, block);
@@ -635,12 +647,10 @@ alloc_ok:
return NULL;
}...
2008 Mar 09
0
[PATCH 3/4] nouveau: move nouveau_map_block() call to nouveau_addmap()
...=======================================================
--- drm.orig/shared-core/nouveau_mem.c
+++ drm/shared-core/nouveau_mem.c
@@ -532,8 +532,13 @@ static int nouveau_map_block(struct drm_
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);
+ 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_add...