Browse Source

Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm/radeon: fixup issue with radeon and PAT support.
Linus Torvalds 17 years ago
parent
commit
bcf559e385
3 changed files with 7 additions and 1 deletions
  1. 5 0
      drivers/gpu/drm/drm_memory.c
  2. 1 1
      drivers/gpu/drm/radeon/radeon_cp.c
  3. 1 0
      include/drm/drmP.h

+ 5 - 0
drivers/gpu/drm/drm_memory.c

@@ -167,6 +167,11 @@ void drm_core_ioremap(struct drm_map *map, struct drm_device *dev)
 }
 }
 EXPORT_SYMBOL(drm_core_ioremap);
 EXPORT_SYMBOL(drm_core_ioremap);
 
 
+void drm_core_ioremap_wc(struct drm_map *map, struct drm_device *dev)
+{
+	map->handle = ioremap_wc(map->offset, map->size);
+}
+EXPORT_SYMBOL(drm_core_ioremap_wc);
 void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev)
 void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev)
 {
 {
 	if (!map->handle || !map->size)
 	if (!map->handle || !map->size)

+ 1 - 1
drivers/gpu/drm/radeon/radeon_cp.c

@@ -1154,7 +1154,7 @@ static int radeon_do_init_cp(struct drm_device * dev, drm_radeon_init_t * init)
 			dev_priv->gart_info.mapping.size =
 			dev_priv->gart_info.mapping.size =
 			    dev_priv->gart_info.table_size;
 			    dev_priv->gart_info.table_size;
 
 
-			drm_core_ioremap(&dev_priv->gart_info.mapping, dev);
+			drm_core_ioremap_wc(&dev_priv->gart_info.mapping, dev);
 			dev_priv->gart_info.addr =
 			dev_priv->gart_info.addr =
 			    dev_priv->gart_info.mapping.handle;
 			    dev_priv->gart_info.mapping.handle;
 
 

+ 1 - 0
include/drm/drmP.h

@@ -1089,6 +1089,7 @@ extern int drm_mm_remove_space_from_tail(struct drm_mm *mm, unsigned long size);
 extern int drm_mm_add_space_to_tail(struct drm_mm *mm, unsigned long size);
 extern int drm_mm_add_space_to_tail(struct drm_mm *mm, unsigned long size);
 
 
 extern void drm_core_ioremap(struct drm_map *map, struct drm_device *dev);
 extern void drm_core_ioremap(struct drm_map *map, struct drm_device *dev);
+extern void drm_core_ioremap_wc(struct drm_map *map, struct drm_device *dev);
 extern void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev);
 extern void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev);
 
 
 static __inline__ struct drm_map *drm_core_findmap(struct drm_device *dev,
 static __inline__ struct drm_map *drm_core_findmap(struct drm_device *dev,