diff options
-rw-r--r-- | drivers/char/drm/drmP.h | 15 | ||||
-rw-r--r-- | drivers/char/drm/savage_bci.c | 29 |
2 files changed, 27 insertions, 17 deletions
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h index 295de65b7088..a3ad85e05bd3 100644 --- a/drivers/char/drm/drmP.h +++ b/drivers/char/drm/drmP.h | |||
@@ -750,6 +750,21 @@ static inline int drm_core_has_MTRR(struct drm_device *dev) | |||
750 | { | 750 | { |
751 | return drm_core_check_feature(dev, DRIVER_USE_MTRR); | 751 | return drm_core_check_feature(dev, DRIVER_USE_MTRR); |
752 | } | 752 | } |
753 | |||
754 | #define DRM_MTRR_WC MTRR_TYPE_WRCOMB | ||
755 | |||
756 | static inline int drm_mtrr_add(unsigned long offset, unsigned long size, | ||
757 | unsigned int flags) | ||
758 | { | ||
759 | return mtrr_add(offset, size, flags, 1); | ||
760 | } | ||
761 | |||
762 | static inline int drm_mtrr_del(int handle, unsigned long offset, | ||
763 | unsigned long size, unsigned int flags) | ||
764 | { | ||
765 | return mtrr_del(handle, offset, size); | ||
766 | } | ||
767 | |||
753 | #else | 768 | #else |
754 | #define drm_core_has_MTRR(dev) (0) | 769 | #define drm_core_has_MTRR(dev) (0) |
755 | #endif | 770 | #endif |
diff --git a/drivers/char/drm/savage_bci.c b/drivers/char/drm/savage_bci.c index 00658621b2f6..0d426deeefec 100644 --- a/drivers/char/drm/savage_bci.c +++ b/drivers/char/drm/savage_bci.c | |||
@@ -584,21 +584,18 @@ int savage_driver_firstopen(drm_device_t *dev) | |||
584 | dev_priv->mtrr[0].base = fb_base; | 584 | dev_priv->mtrr[0].base = fb_base; |
585 | dev_priv->mtrr[0].size = 0x01000000; | 585 | dev_priv->mtrr[0].size = 0x01000000; |
586 | dev_priv->mtrr[0].handle = | 586 | dev_priv->mtrr[0].handle = |
587 | mtrr_add(dev_priv->mtrr[0].base, | 587 | drm_mtrr_add(dev_priv->mtrr[0].base, |
588 | dev_priv->mtrr[0].size, MTRR_TYPE_WRCOMB, | 588 | dev_priv->mtrr[0].size, DRM_MTRR_WC); |
589 | 1); | ||
590 | dev_priv->mtrr[1].base = fb_base + 0x02000000; | 589 | dev_priv->mtrr[1].base = fb_base + 0x02000000; |
591 | dev_priv->mtrr[1].size = 0x02000000; | 590 | dev_priv->mtrr[1].size = 0x02000000; |
592 | dev_priv->mtrr[1].handle = | 591 | dev_priv->mtrr[1].handle = |
593 | mtrr_add(dev_priv->mtrr[1].base, | 592 | drm_mtrr_add(dev_priv->mtrr[1].base, |
594 | dev_priv->mtrr[1].size, MTRR_TYPE_WRCOMB, | 593 | dev_priv->mtrr[1].size, DRM_MTRR_WC); |
595 | 1); | ||
596 | dev_priv->mtrr[2].base = fb_base + 0x04000000; | 594 | dev_priv->mtrr[2].base = fb_base + 0x04000000; |
597 | dev_priv->mtrr[2].size = 0x04000000; | 595 | dev_priv->mtrr[2].size = 0x04000000; |
598 | dev_priv->mtrr[2].handle = | 596 | dev_priv->mtrr[2].handle = |
599 | mtrr_add(dev_priv->mtrr[2].base, | 597 | drm_mtrr_add(dev_priv->mtrr[2].base, |
600 | dev_priv->mtrr[2].size, MTRR_TYPE_WRCOMB, | 598 | dev_priv->mtrr[2].size, DRM_MTRR_WC); |
601 | 1); | ||
602 | } else { | 599 | } else { |
603 | DRM_ERROR("strange pci_resource_len %08lx\n", | 600 | DRM_ERROR("strange pci_resource_len %08lx\n", |
604 | drm_get_resource_len(dev, 0)); | 601 | drm_get_resource_len(dev, 0)); |
@@ -618,9 +615,8 @@ int savage_driver_firstopen(drm_device_t *dev) | |||
618 | dev_priv->mtrr[0].base = fb_base; | 615 | dev_priv->mtrr[0].base = fb_base; |
619 | dev_priv->mtrr[0].size = 0x08000000; | 616 | dev_priv->mtrr[0].size = 0x08000000; |
620 | dev_priv->mtrr[0].handle = | 617 | dev_priv->mtrr[0].handle = |
621 | mtrr_add(dev_priv->mtrr[0].base, | 618 | drm_mtrr_add(dev_priv->mtrr[0].base, |
622 | dev_priv->mtrr[0].size, MTRR_TYPE_WRCOMB, | 619 | dev_priv->mtrr[0].size, DRM_MTRR_WC); |
623 | 1); | ||
624 | } else { | 620 | } else { |
625 | DRM_ERROR("strange pci_resource_len %08lx\n", | 621 | DRM_ERROR("strange pci_resource_len %08lx\n", |
626 | drm_get_resource_len(dev, 1)); | 622 | drm_get_resource_len(dev, 1)); |
@@ -664,9 +660,9 @@ void savage_driver_lastclose(drm_device_t *dev) | |||
664 | 660 | ||
665 | for (i = 0; i < 3; ++i) | 661 | for (i = 0; i < 3; ++i) |
666 | if (dev_priv->mtrr[i].handle >= 0) | 662 | if (dev_priv->mtrr[i].handle >= 0) |
667 | mtrr_del(dev_priv->mtrr[i].handle, | 663 | drm_mtrr_del(dev_priv->mtrr[i].handle, |
668 | dev_priv->mtrr[i].base, | 664 | dev_priv->mtrr[i].base, |
669 | dev_priv->mtrr[i].size); | 665 | dev_priv->mtrr[i].size, DRM_MTRR_WC); |
670 | } | 666 | } |
671 | 667 | ||
672 | int savage_driver_unload(drm_device_t *dev) | 668 | int savage_driver_unload(drm_device_t *dev) |
@@ -1008,8 +1004,7 @@ static int savage_bci_event_wait(DRM_IOCTL_ARGS) | |||
1008 | * DMA buffer management | 1004 | * DMA buffer management |
1009 | */ | 1005 | */ |
1010 | 1006 | ||
1011 | static int savage_bci_get_buffers(DRMFILE filp, drm_device_t * dev, | 1007 | static int savage_bci_get_buffers(DRMFILE filp, drm_device_t *dev, drm_dma_t *d) |
1012 | drm_dma_t * d) | ||
1013 | { | 1008 | { |
1014 | drm_buf_t *buf; | 1009 | drm_buf_t *buf; |
1015 | int i; | 1010 | int i; |
@@ -1071,7 +1066,7 @@ int savage_bci_buffers(DRM_IOCTL_ARGS) | |||
1071 | return ret; | 1066 | return ret; |
1072 | } | 1067 | } |
1073 | 1068 | ||
1074 | void savage_reclaim_buffers(drm_device_t * dev, DRMFILE filp) | 1069 | void savage_reclaim_buffers(drm_device_t *dev, DRMFILE filp) |
1075 | { | 1070 | { |
1076 | drm_device_dma_t *dma = dev->dma; | 1071 | drm_device_dma_t *dma = dev->dma; |
1077 | drm_savage_private_t *dev_priv = dev->dev_private; | 1072 | drm_savage_private_t *dev_priv = dev->dev_private; |