From 873e1c4d38c78e8b4a5df42d983f285cfb3ae4cc Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 12 Apr 2004 05:27:40 +0000 Subject: Add mach64 to the trunk --- linux/Kconfig | 12 ++++++++++++ linux/Makefile.kernel | 7 ++++++- linux/Makefile.linux | 16 ++++++++++++---- linux/drmP.h | 6 ++++++ 4 files changed, 36 insertions(+), 5 deletions(-) (limited to 'linux') 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__ */ -- cgit v1.2.3