aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/ast/ast_drv.c2
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_drv.c2
-rw-r--r--drivers/gpu/drm/drm_bufs.c13
-rw-r--r--drivers/gpu/drm/drm_pci.c14
-rw-r--r--drivers/gpu/drm/drm_vm.c3
-rw-r--r--drivers/gpu/drm/i810/i810_drv.c2
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c2
-rw-r--r--drivers/gpu/drm/mga/mga_drv.c2
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_drv.c2
-rw-r--r--drivers/gpu/drm/r128/r128_drv.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.c4
-rw-r--r--drivers/gpu/drm/savage/savage_drv.c2
-rw-r--r--drivers/gpu/drm/sis/sis_drv.c2
-rw-r--r--drivers/gpu/drm/tdfx/tdfx_drv.c1
-rw-r--r--drivers/gpu/drm/via/via_drv.c2
-rw-r--r--include/drm/drmP.h11
16 files changed, 24 insertions, 42 deletions
diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c
index 60f1ce3998c3..32e270dc714e 100644
--- a/drivers/gpu/drm/ast/ast_drv.c
+++ b/drivers/gpu/drm/ast/ast_drv.c
@@ -197,7 +197,7 @@ static const struct file_operations ast_fops = {
197}; 197};
198 198
199static struct drm_driver driver = { 199static struct drm_driver driver = {
200 .driver_features = DRIVER_USE_MTRR | DRIVER_MODESET | DRIVER_GEM, 200 .driver_features = DRIVER_MODESET | DRIVER_GEM,
201 .dev_priv_size = 0, 201 .dev_priv_size = 0,
202 202
203 .load = ast_driver_load, 203 .load = ast_driver_load,
diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c
index dd9c908ab3fc..138364d91782 100644
--- a/drivers/gpu/drm/cirrus/cirrus_drv.c
+++ b/drivers/gpu/drm/cirrus/cirrus_drv.c
@@ -87,7 +87,7 @@ static const struct file_operations cirrus_driver_fops = {
87#endif 87#endif
88}; 88};
89static struct drm_driver driver = { 89static struct drm_driver driver = {
90 .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_USE_MTRR, 90 .driver_features = DRIVER_MODESET | DRIVER_GEM,
91 .load = cirrus_driver_load, 91 .load = cirrus_driver_load,
92 .unload = cirrus_driver_unload, 92 .unload = cirrus_driver_unload,
93 .fops = &cirrus_driver_fops, 93 .fops = &cirrus_driver_fops,
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
index 5f73f0af6125..f63133b0a9ab 100644
--- a/drivers/gpu/drm/drm_bufs.c
+++ b/drivers/gpu/drm/drm_bufs.c
@@ -207,12 +207,10 @@ static int drm_addmap_core(struct drm_device * dev, resource_size_t offset,
207 return 0; 207 return 0;
208 } 208 }
209 209
210 if (drm_core_has_MTRR(dev)) { 210 if (map->type == _DRM_FRAME_BUFFER ||
211 if (map->type == _DRM_FRAME_BUFFER || 211 (map->flags & _DRM_WRITE_COMBINING)) {
212 (map->flags & _DRM_WRITE_COMBINING)) { 212 map->mtrr =
213 map->mtrr = 213 arch_phys_wc_add(map->offset, map->size);
214 arch_phys_wc_add(map->offset, map->size);
215 }
216 } 214 }
217 if (map->type == _DRM_REGISTERS) { 215 if (map->type == _DRM_REGISTERS) {
218 if (map->flags & _DRM_WRITE_COMBINING) 216 if (map->flags & _DRM_WRITE_COMBINING)
@@ -464,8 +462,7 @@ int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map)
464 iounmap(map->handle); 462 iounmap(map->handle);
465 /* FALLTHROUGH */ 463 /* FALLTHROUGH */
466 case _DRM_FRAME_BUFFER: 464 case _DRM_FRAME_BUFFER:
467 if (drm_core_has_MTRR(dev)) 465 arch_phys_wc_del(map->mtrr);
468 arch_phys_wc_del(map->mtrr);
469 break; 466 break;
470 case _DRM_SHM: 467 case _DRM_SHM:
471 vfree(map->handle); 468 vfree(map->handle);
diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c
index 0f54ad8a9ced..3fca2db1c40c 100644
--- a/drivers/gpu/drm/drm_pci.c
+++ b/drivers/gpu/drm/drm_pci.c
@@ -272,12 +272,11 @@ static int drm_pci_agp_init(struct drm_device *dev)
272 DRM_ERROR("Cannot initialize the agpgart module.\n"); 272 DRM_ERROR("Cannot initialize the agpgart module.\n");
273 return -EINVAL; 273 return -EINVAL;
274 } 274 }
275 if (drm_core_has_MTRR(dev)) { 275 if (dev->agp) {
276 if (dev->agp) 276 dev->agp->agp_mtrr = arch_phys_wc_add(
277 dev->agp->agp_mtrr = arch_phys_wc_add( 277 dev->agp->agp_info.aper_base,
278 dev->agp->agp_info.aper_base, 278 dev->agp->agp_info.aper_size *
279 dev->agp->agp_info.aper_size * 279 1024 * 1024);
280 1024 * 1024);
281 } 280 }
282 } 281 }
283 return 0; 282 return 0;
@@ -286,8 +285,7 @@ static int drm_pci_agp_init(struct drm_device *dev)
286static void drm_pci_agp_destroy(struct drm_device *dev) 285static void drm_pci_agp_destroy(struct drm_device *dev)
287{ 286{
288 if (drm_core_has_AGP(dev) && dev->agp) { 287 if (drm_core_has_AGP(dev) && dev->agp) {
289 if (drm_core_has_MTRR(dev)) 288 arch_phys_wc_del(dev->agp->agp_mtrr);
290 arch_phys_wc_del(dev->agp->agp_mtrr);
291 drm_agp_clear(dev); 289 drm_agp_clear(dev);
292 drm_agp_destroy(dev->agp); 290 drm_agp_destroy(dev->agp);
293 dev->agp = NULL; 291 dev->agp = NULL;
diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
index feb20035b2c4..b5c5af7328df 100644
--- a/drivers/gpu/drm/drm_vm.c
+++ b/drivers/gpu/drm/drm_vm.c
@@ -251,8 +251,7 @@ static void drm_vm_shm_close(struct vm_area_struct *vma)
251 switch (map->type) { 251 switch (map->type) {
252 case _DRM_REGISTERS: 252 case _DRM_REGISTERS:
253 case _DRM_FRAME_BUFFER: 253 case _DRM_FRAME_BUFFER:
254 if (drm_core_has_MTRR(dev)) 254 arch_phys_wc_del(map->mtrr);
255 arch_phys_wc_del(map->mtrr);
256 iounmap(map->handle); 255 iounmap(map->handle);
257 break; 256 break;
258 case _DRM_SHM: 257 case _DRM_SHM:
diff --git a/drivers/gpu/drm/i810/i810_drv.c b/drivers/gpu/drm/i810/i810_drv.c
index d85c05b4877d..d8180d22cedd 100644
--- a/drivers/gpu/drm/i810/i810_drv.c
+++ b/drivers/gpu/drm/i810/i810_drv.c
@@ -57,7 +57,7 @@ static const struct file_operations i810_driver_fops = {
57 57
58static struct drm_driver driver = { 58static struct drm_driver driver = {
59 .driver_features = 59 .driver_features =
60 DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR | 60 DRIVER_USE_AGP | DRIVER_REQUIRE_AGP |
61 DRIVER_HAVE_DMA, 61 DRIVER_HAVE_DMA,
62 .dev_priv_size = sizeof(drm_i810_buf_priv_t), 62 .dev_priv_size = sizeof(drm_i810_buf_priv_t),
63 .load = i810_driver_load, 63 .load = i810_driver_load,
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 9411a745adaf..eec47bd00353 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1006,7 +1006,7 @@ static struct drm_driver driver = {
1006 * deal with them for Intel hardware. 1006 * deal with them for Intel hardware.
1007 */ 1007 */
1008 .driver_features = 1008 .driver_features =
1009 DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | /* DRIVER_USE_MTRR |*/ 1009 DRIVER_USE_AGP | DRIVER_REQUIRE_AGP |
1010 DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM | DRIVER_PRIME, 1010 DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM | DRIVER_PRIME,
1011 .load = i915_driver_load, 1011 .load = i915_driver_load,
1012 .unload = i915_driver_unload, 1012 .unload = i915_driver_unload,
diff --git a/drivers/gpu/drm/mga/mga_drv.c b/drivers/gpu/drm/mga/mga_drv.c
index fe71e1e44e48..6b1a87c8aac5 100644
--- a/drivers/gpu/drm/mga/mga_drv.c
+++ b/drivers/gpu/drm/mga/mga_drv.c
@@ -58,7 +58,7 @@ static const struct file_operations mga_driver_fops = {
58 58
59static struct drm_driver driver = { 59static struct drm_driver driver = {
60 .driver_features = 60 .driver_features =
61 DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | 61 DRIVER_USE_AGP | DRIVER_PCI_DMA |
62 DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, 62 DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED,
63 .dev_priv_size = sizeof(drm_mga_buf_priv_t), 63 .dev_priv_size = sizeof(drm_mga_buf_priv_t),
64 .load = mga_driver_load, 64 .load = mga_driver_load,
diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c
index b570127ae3b2..fcce7b2f8011 100644
--- a/drivers/gpu/drm/mgag200/mgag200_drv.c
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
@@ -88,7 +88,7 @@ static const struct file_operations mgag200_driver_fops = {
88}; 88};
89 89
90static struct drm_driver driver = { 90static struct drm_driver driver = {
91 .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_USE_MTRR, 91 .driver_features = DRIVER_GEM | DRIVER_MODESET,
92 .load = mgag200_driver_load, 92 .load = mgag200_driver_load,
93 .unload = mgag200_driver_unload, 93 .unload = mgag200_driver_unload,
94 .fops = &mgag200_driver_fops, 94 .fops = &mgag200_driver_fops,
diff --git a/drivers/gpu/drm/r128/r128_drv.c b/drivers/gpu/drm/r128/r128_drv.c
index c2338cbc56ad..5bd307cd8da1 100644
--- a/drivers/gpu/drm/r128/r128_drv.c
+++ b/drivers/gpu/drm/r128/r128_drv.c
@@ -56,7 +56,7 @@ static const struct file_operations r128_driver_fops = {
56 56
57static struct drm_driver driver = { 57static struct drm_driver driver = {
58 .driver_features = 58 .driver_features =
59 DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | 59 DRIVER_USE_AGP | DRIVER_PCI_DMA | DRIVER_SG |
60 DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, 60 DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED,
61 .dev_priv_size = sizeof(drm_r128_buf_priv_t), 61 .dev_priv_size = sizeof(drm_r128_buf_priv_t),
62 .load = r128_driver_load, 62 .load = r128_driver_load,
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index 3e52331124de..1f93dd503646 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -275,7 +275,7 @@ static const struct file_operations radeon_driver_old_fops = {
275 275
276static struct drm_driver driver_old = { 276static struct drm_driver driver_old = {
277 .driver_features = 277 .driver_features =
278 DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | 278 DRIVER_USE_AGP | DRIVER_PCI_DMA | DRIVER_SG |
279 DRIVER_HAVE_IRQ | DRIVER_HAVE_DMA | DRIVER_IRQ_SHARED, 279 DRIVER_HAVE_IRQ | DRIVER_HAVE_DMA | DRIVER_IRQ_SHARED,
280 .dev_priv_size = sizeof(drm_radeon_buf_priv_t), 280 .dev_priv_size = sizeof(drm_radeon_buf_priv_t),
281 .load = radeon_driver_load, 281 .load = radeon_driver_load,
@@ -382,7 +382,7 @@ static const struct file_operations radeon_driver_kms_fops = {
382 382
383static struct drm_driver kms_driver = { 383static struct drm_driver kms_driver = {
384 .driver_features = 384 .driver_features =
385 DRIVER_USE_AGP | DRIVER_USE_MTRR | 385 DRIVER_USE_AGP |
386 DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM | 386 DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM |
387 DRIVER_PRIME, 387 DRIVER_PRIME,
388 .dev_priv_size = 0, 388 .dev_priv_size = 0,
diff --git a/drivers/gpu/drm/savage/savage_drv.c b/drivers/gpu/drm/savage/savage_drv.c
index 9135c8bd6fbc..3c030216e888 100644
--- a/drivers/gpu/drm/savage/savage_drv.c
+++ b/drivers/gpu/drm/savage/savage_drv.c
@@ -50,7 +50,7 @@ static const struct file_operations savage_driver_fops = {
50 50
51static struct drm_driver driver = { 51static struct drm_driver driver = {
52 .driver_features = 52 .driver_features =
53 DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_DMA | DRIVER_PCI_DMA, 53 DRIVER_USE_AGP | DRIVER_HAVE_DMA | DRIVER_PCI_DMA,
54 .dev_priv_size = sizeof(drm_savage_buf_priv_t), 54 .dev_priv_size = sizeof(drm_savage_buf_priv_t),
55 .load = savage_driver_load, 55 .load = savage_driver_load,
56 .firstopen = savage_driver_firstopen, 56 .firstopen = savage_driver_firstopen,
diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c
index b88b2d302105..4383b74a3aa4 100644
--- a/drivers/gpu/drm/sis/sis_drv.c
+++ b/drivers/gpu/drm/sis/sis_drv.c
@@ -102,7 +102,7 @@ void sis_driver_postclose(struct drm_device *dev, struct drm_file *file)
102} 102}
103 103
104static struct drm_driver driver = { 104static struct drm_driver driver = {
105 .driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR, 105 .driver_features = DRIVER_USE_AGP,
106 .load = sis_driver_load, 106 .load = sis_driver_load,
107 .unload = sis_driver_unload, 107 .unload = sis_driver_unload,
108 .open = sis_driver_open, 108 .open = sis_driver_open,
diff --git a/drivers/gpu/drm/tdfx/tdfx_drv.c b/drivers/gpu/drm/tdfx/tdfx_drv.c
index 951ec13e4e5c..3492ca5c46d3 100644
--- a/drivers/gpu/drm/tdfx/tdfx_drv.c
+++ b/drivers/gpu/drm/tdfx/tdfx_drv.c
@@ -55,7 +55,6 @@ static const struct file_operations tdfx_driver_fops = {
55}; 55};
56 56
57static struct drm_driver driver = { 57static struct drm_driver driver = {
58 .driver_features = DRIVER_USE_MTRR,
59 .fops = &tdfx_driver_fops, 58 .fops = &tdfx_driver_fops,
60 .name = DRIVER_NAME, 59 .name = DRIVER_NAME,
61 .desc = DRIVER_DESC, 60 .desc = DRIVER_DESC,
diff --git a/drivers/gpu/drm/via/via_drv.c b/drivers/gpu/drm/via/via_drv.c
index 448799968a06..92684a9b7e34 100644
--- a/drivers/gpu/drm/via/via_drv.c
+++ b/drivers/gpu/drm/via/via_drv.c
@@ -72,7 +72,7 @@ static const struct file_operations via_driver_fops = {
72 72
73static struct drm_driver driver = { 73static struct drm_driver driver = {
74 .driver_features = 74 .driver_features =
75 DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | 75 DRIVER_USE_AGP | DRIVER_HAVE_IRQ |
76 DRIVER_IRQ_SHARED, 76 DRIVER_IRQ_SHARED,
77 .load = via_driver_load, 77 .load = via_driver_load,
78 .unload = via_driver_unload, 78 .unload = via_driver_unload,
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 0ef8e5481e15..139d859adf16 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -74,7 +74,6 @@
74#include <linux/idr.h> 74#include <linux/idr.h>
75 75
76#define __OS_HAS_AGP (defined(CONFIG_AGP) || (defined(CONFIG_AGP_MODULE) && defined(MODULE))) 76#define __OS_HAS_AGP (defined(CONFIG_AGP) || (defined(CONFIG_AGP_MODULE) && defined(MODULE)))
77#define __OS_HAS_MTRR (defined(CONFIG_MTRR))
78 77
79struct module; 78struct module;
80 79
@@ -139,7 +138,6 @@ int drm_err(const char *func, const char *format, ...);
139/* driver capabilities and requirements mask */ 138/* driver capabilities and requirements mask */
140#define DRIVER_USE_AGP 0x1 139#define DRIVER_USE_AGP 0x1
141#define DRIVER_REQUIRE_AGP 0x2 140#define DRIVER_REQUIRE_AGP 0x2
142#define DRIVER_USE_MTRR 0x4
143#define DRIVER_PCI_DMA 0x8 141#define DRIVER_PCI_DMA 0x8
144#define DRIVER_SG 0x10 142#define DRIVER_SG 0x10
145#define DRIVER_HAVE_DMA 0x20 143#define DRIVER_HAVE_DMA 0x20
@@ -1216,15 +1214,6 @@ static inline int drm_dev_to_irq(struct drm_device *dev)
1216 return dev->driver->bus->get_irq(dev); 1214 return dev->driver->bus->get_irq(dev);
1217} 1215}
1218 1216
1219#if __OS_HAS_MTRR
1220static inline int drm_core_has_MTRR(struct drm_device *dev)
1221{
1222 return drm_core_check_feature(dev, DRIVER_USE_MTRR);
1223}
1224#else
1225#define drm_core_has_MTRR(dev) (0)
1226#endif
1227
1228static inline void drm_device_set_unplugged(struct drm_device *dev) 1217static inline void drm_device_set_unplugged(struct drm_device *dev)
1229{ 1218{
1230 smp_wmb(); 1219 smp_wmb();