summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
Diffstat (limited to 'linux')
-rw-r--r--linux/Kconfig12
-rw-r--r--linux/Makefile.kernel7
-rw-r--r--linux/Makefile.linux16
-rw-r--r--linux/drmP.h6
4 files changed, 36 insertions, 5 deletions
diff --git a/linux/Kconfig b/linux/Kconfig
index e45e723b..0dd10b8d 100644
--- a/linux/Kconfig
+++ b/linux/Kconfig
@@ -88,3 +88,15 @@ config DRM_VIA
Choose this option if you have a Via unichrome or compatible video
chipset. If M is selected the module will be called via.
+config DRM_MACH64
+ tristate "ATI Rage Pro (Mach64)"
+ depends on DRM
+ help
+ Choose this option if you have an ATI Rage Pro (mach64 chipset)
+ graphics card. Example cards include: 3D Rage Pro, Xpert 98,
+ 3D Rage LT Pro, 3D Rage XL/XC, and 3D Rage Mobility (P/M, M1).
+ Cards earlier than ATI Rage Pro (e.g. Rage II) are not supported.
+ If M is selected, the module will be called mach64. AGP support for
+ this card is strongly suggested (unless you have a PCI version).
+
+
diff --git a/linux/Makefile.kernel b/linux/Makefile.kernel
index bcb0f92c..3f467384 100644
--- a/linux/Makefile.kernel
+++ b/linux/Makefile.kernel
@@ -18,6 +18,7 @@ sis-objs := sis_drv.o sis_ds.o sis_mm.o
ffb-objs := ffb_drv.o ffb_context.o
savage-objs := savage_drv.o savage_dma.o
via-objs := via_irq.o via_drv.o via_ds.o via_map.o via_mm.o
+mach64-objs := mach64_drv.o mach64_dma.o mach64_irq.o mach64_state.o
# Kernel version checks
@@ -33,7 +34,7 @@ endif
ifeq ($(BELOW25),y)
O_TARGET := drm.o
list-multi := gamma.o tdfx.o r128.o mga.o i810.o i830.o ffb.o radeon.o \
- savage.o via.o
+ savage.o via.o mach64.o
obj-m :=
obj-n :=
obj- :=
@@ -51,6 +52,7 @@ obj-$(CONFIG_DRM_SIS) += sis.o
obj-$(CONFIG_DRM_FFB) += ffb.o
obj-$(CONFIG_DRM_SAVAGE)+= savage.o
obj-$(CONFIG_DRM_VIA) += via.o
+obj-$(CONFIG_DRM_MACH64)+= mach64.o
ifeq ($(BELOW2552),y)
include $(TOPDIR)/Rules.make
@@ -90,5 +92,8 @@ savage.o: $(savage-objs) $(lib)
via.o: $(via-objs) $(lib)
$(LD) -r -o $@ $(via-objs) $(lib)
+mach64.o: $(mach64-objs) $(lib)
+ $(LD) -r -o $@ $(mach64-objs) $(lib)
+
endif
diff --git a/linux/Makefile.linux b/linux/Makefile.linux
index 9634bc3e..229219fb 100644
--- a/linux/Makefile.linux
+++ b/linux/Makefile.linux
@@ -44,7 +44,7 @@ endif
MACHINE := $(shell uname -m)
# Modules for all architectures
-MODULE_LIST := gamma.o tdfx.o r128.o radeon.o mga.o sis.o savage.o via.o
+MODULE_LIST := gamma.o tdfx.o r128.o radeon.o mga.o sis.o savage.o via.o mach64.o
# Modules only for ix86 architectures
ifneq (,$(findstring 86,$(MACHINE)))
@@ -89,9 +89,13 @@ VIAHEADERS = via_drm.h via_drv.h via.h via_mm.h via_ds.h \
$(DRMHEADERS) $(DRMTEMPLATES)
VIASHARED = via_drm.h via_drv.h via.h via_mm.h via_ds.h via_drv.c \
via_ds.c via_irq.c via_map.c via_mm.c
+MACH64HEADERS = mach64.h mach64_drv.h mach64_drm.h $(DRMHEADERS) \
+ $(DRMTEMPLATES)
+MACH64SHARED = mach64.h mach64_drv.h mach64_drm.h mach64_dma.c \
+ mach64_irq.c mach64_state.c
SHAREDSRC = $(DRMSHARED) $(MGASHARED) $(R128SHARED) $(RADEONSHARED) \
- $(SISSHARED) $(TDFXSHARED) $(VIASHARED)
+ $(SISSHARED) $(TDFXSHARED) $(VIASHARED) $(MACH64SHARED)
PROGS = dristat drmstat
@@ -322,7 +326,7 @@ CONFIG_DRM_SIS := n
CONFIG_DRM_FFB := n
CONFIG_DRM_SAVAGE := n
CONFIG_DRM_VIA := n
-
+CONFIG_DRM_MACH64 := n
# Enable module builds for the modules requested/supported.
@@ -344,6 +348,10 @@ endif
ifneq (,$(findstring via,$(DRM_MODULES)))
CONFIG_DRM_VIA := m
endif
+ifneq (,$(findstring mach64,$(DRM_MODULES)))
+CONFIG_DRM_MACH64 := m
+endif
+
# These require AGP support
@@ -377,7 +385,7 @@ $(sis-objs): $(SISHEADERS)
$(ffb-objs): $(FFBHEADERS)
$(savage-objs): $(SAVAGEHEADERS)
$(via-objs): $(VIAHEADERS)
-
+$(mach64-objs): $(MACH64HEADERS)
endif
diff --git a/linux/drmP.h b/linux/drmP.h
index c61bac1d..09556b89 100644
--- a/linux/drmP.h
+++ b/linux/drmP.h
@@ -1057,6 +1057,12 @@ extern int DRM(ati_pcigart_cleanup)(drm_device_t *dev,
unsigned long addr,
dma_addr_t bus_addr);
+extern void *DRM(pci_alloc)(drm_device_t *dev, size_t size,
+ size_t align, dma_addr_t maxaddr,
+ dma_addr_t *busaddr);
+extern void DRM(pci_free)(drm_device_t *dev, size_t size,
+ void *vaddr, dma_addr_t busaddr);
+
/*@}*/
#endif /* __KERNEL__ */