summaryrefslogtreecommitdiff
path: root/shared-core/nouveau_fifo.c
AgeCommit message (Expand)Author
2008-07-08nouveau: interface changes for nv5x 3dBen Skeggs
2008-03-07nouveau: redo channel idle detectionBen Skeggs
2008-03-07nouveau: don't touch NV_USER regs on channel destroy.Ben Skeggs
2008-02-22nouveau: Remove some random (french) comment.Maarten Maathuis
2008-01-30nv40: some more nv67 changesBen Skeggs
2007-11-14nouveau: Also wait until CACHE1 gets emptied.Ben Skeggs
2007-11-14Revert "nouveau: stub superioctl"Ben Skeggs
2007-11-14Merge branch 'fifo-cleanup' into upstream-masterBen Skeggs
2007-11-14nouveau: Attempt to wait for channel idle before we destroy it.Ben Skeggs
2007-11-14nouveau: Use "new" NV40 USER control regs.Ben Skeggs
2007-11-14nouveau: store user control reg offsets in channel structBen Skeggs
2007-11-14nouveau: funcs to determine active channel on PFIFO.Ben Skeggs
2007-11-14nouveau: stub superioctlBen Skeggs
2007-11-05drm: remove lots of spurious whitespace.Dave Airlie
2007-09-29nouveau : stop the fifo of the channel we are deletingMatthieu Castet
2007-08-31nouveau: give nv03 the last cut.Stephane Marchesin
2007-08-21nouveau: Poke 0x2230 on NV47 also.Ben Skeggs
2007-08-10nouveau/nv50: demagic instmem setup.Ben Skeggs
2007-08-08nouveau: Always allocate drm's push buffer in VRAMBen Skeggs
2007-08-08nouveau: enable/disable engine-specific interrupts in _init()/_takedown()Ben Skeggs
2007-08-06nouveau: Remove PGRAPH_SURFACE hack, it wont work now anyway.Ben Skeggs
2007-08-06nouveau: Give DRM its own gpu channelBen Skeggs
2007-08-06nouveau: Various internal and external API changesBen Skeggs
2007-08-06nouveau: Pass channel struct around instead of channel id.Ben Skeggs
2007-07-20Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.Eric Anholt
2007-07-20Replace filp in ioctl arguments with drm_file *file_priv.Eric Anholt
2007-07-20Remove DRM_ERR OS macro.Eric Anholt
2007-07-17nouveau: G8x PCIEGARTBen Skeggs
2007-07-16drm: remove drmP.h internal typedefsDave Airlie
2007-07-14nouveau: nv10 and nv11/15 are differentPatrice Mandin
2007-07-13nouveau: nuke internal typedefs, and drm_device_t use.Ben Skeggs
2007-07-12nouveau: separate region_offset into map_handle and offset.Ben Skeggs
2007-07-12fixed object creation code to not Oops on 64bits, worked around memalloc not ...Arthur Huillet
2007-07-11fixed bug that prevented PCIE cards from actually using PCIGART - NV50 will p...Arthur Huillet
2007-07-11nouveau: Some checks on userspace object handles.Ben Skeggs
2007-07-11Added support for PCIGART for PCI(E) cards. Bumped DRM interface patchlevel.Arthur Huillet
2007-07-09nouveau: Allocate mappable VRAM for notifiers..Ben Skeggs
2007-07-09nouveau/nv50: Initial channel/object supportBen Skeggs
2007-07-09nouveau: rewrite gpu object codeBen Skeggs
2007-06-28nouveau: Hack around possible Xv blit adaptor breakageBen Skeggs
2007-06-28nouveau: Nuke DMA_OBJECT_INIT ioctl (bumps interface to 0.0.7)Ben Skeggs
2007-06-25nouveau: NV49/NV4B PGRAPH setup from jb17bsome and stephan_2303Ben Skeggs
2007-06-24nouveau: kill some dead codeBen Skeggs
2007-06-24nouveau: NV04/NV10/NV20 PGRAPH engtab functionsBen Skeggs
2007-06-24nouveau: NV3X PGRAPH engtab functionsBen Skeggs
2007-06-24nouveau: NV1X/2X/3X PFIFO engtab functionsBen Skeggs
2007-06-24nouveau: NV04 PFIFO engtab functionsBen Skeggs
2007-06-24nouveau: NV4X PGRAPH engtab functionsBen Skeggs
2007-06-24nouveau: NV4X PFIFO engtab functionsBen Skeggs
2007-06-24nouveau: split PFIFO/PGRAPH context creationBen Skeggs
/span> # $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.linux,v 1.40 2003/08/17 17:12:25 dawes Exp $ # # # By default, the build is done against the running linux kernel source. # To build against a different kernel source tree, set LINUXDIR: # # make LINUXDIR=/path/to/kernel/source # # To build only some modules, either set DRM_MODULES to the list of modules, # or specify the modules as targets: # # make r128.o radeon.o # # or: # # make DRM_MODULES="r128 radeon" # SHELL=/bin/sh .SUFFIXES: ifndef LINUXDIR RUNNING_REL := $(shell uname -r) LINUXDIR := $(shell if [ -e /lib/modules/$(RUNNING_REL)/source ]; then \ echo /lib/modules/$(RUNNING_REL)/source; \ else echo /lib/modules/$(RUNNING_REL)/build; fi) endif ifndef O O := $(shell if [ -e /lib/modules/$(RUNNING_REL)/build ]; then \ echo /lib/modules/$(RUNNING_REL)/build; \ else echo ""; fi) #O := $(LINUXDIR) endif ifdef ARCH MACHINE := $(ARCH) else MACHINE := $(shell uname -m) endif # Modules for all architectures MODULE_LIST := drm.o tdfx.o r128.o radeon.o mga.o sis.o savage.o via.o \ mach64.o nv.o nouveau.o xgi.o radeon_ms.o # Modules only for ix86 architectures ifneq (,$(findstring 86,$(MACHINE))) ARCHX86 := 1 MODULE_LIST += i810.o i915.o endif ifneq (,$(findstring sparc64,$(MACHINE))) ARCHSPARC64 := 1 #MODULE_LIST += ffb.o endif DRM_MODULES ?= $(MODULE_LIST) # These definitions are for handling dependencies in the out of kernel build. DRMHEADERS = drmP.h drm_compat.h drm_os_linux.h drm.h drm_sarea.h COREHEADERS = drm_core.h drm_sman.h drm_hashtab.h TDFXHEADERS = tdfx_drv.h $(DRMHEADERS) R128HEADERS = r128_drv.h r128_drm.h $(DRMHEADERS) RADEONHEADERS = radeon_drv.h radeon_drm.h r300_reg.h $(DRMHEADERS) MGAHEADERS = mga_drv.h mga_drm.h mga_ucode.h $(DRMHEADERS) I810HEADERS = i810_drv.h i810_drm.h $(DRMHEADERS) I915HEADERS = i915_drv.h i915_drm.h $(DRMHEADERS) SISHEADERS= sis_drv.h sis_drm.h drm_hashtab.h drm_sman.h $(DRMHEADERS) SAVAGEHEADERS= savage_drv.h savage_drm.h $(DRMHEADERS) VIAHEADERS = via_drm.h via_drv.h via_3d_reg.h via_verifier.h $(DRMHEADERS) MACH64HEADERS = mach64_drv.h mach64_drm.h $(DRMHEADERS) NVHEADERS = nv_drv.h $(DRMHEADERS) FFBHEADERS = ffb_drv.h $(DRMHEADERS) NOUVEAUHEADERS = nouveau_drv.h nouveau_drm.h nouveau_reg.h nouveau_display.h $(DRMHEADERS) XGIHEADERS = xgi_cmdlist.h xgi_drv.h xgi_misc.h xgi_regs.h $(DRMHEADERS) RADEONMSHEADERS = radeon_ms_driver.h $(DRMHEADERS) PROGS = dristat drmstat CLEANFILES = *.o *.ko $(PROGS) .depend .*.flags .*.d .*.cmd *.mod.c drm_pciids.h .tmp_versions # VERSION is not defined from the initial invocation. It is defined when # this Makefile is invoked from the kernel's root Makefile. ifndef VERSION ifdef RUNNING_REL # SuSE has the version.h and autoconf.h headers for the current kernel # in /boot as /boot/vmlinuz.version.h and /boot/vmlinuz.autoconf.h. # Check these first to see if they match the running kernel. BOOTVERSION_PREFIX = /boot/vmlinuz. V := $(shell if [ -f $(BOOTVERSION_PREFIX)version.h ]; then \ grep UTS_RELEASE $(BOOTVERSION_PREFIX)version.h | \ cut -d' ' -f3; fi) ifeq ($(V),"$(RUNNING_REL)") HEADERFROMBOOT := 1 GETCONFIG := MAKEFILES=$(shell /bin/pwd)/.config HAVECONFIG := y endif # On Red Hat we need to check if there is a .config file in the kernel # source directory. If there isn't, we need to check if there's a # matching file in the configs subdirectory. ifneq ($(HAVECONFIG),y) HAVECONFIG := $(shell if [ -e $(LINUXDIR)/.config ]; then echo y; fi) endif ifneq ($(HAVECONFIG),y) REL_BASE := $(shell echo $(RUNNING_REL) | sed 's/-.*//') REL_TYPE := $(shell echo $(RUNNING_REL) | sed 's/[0-9.-]//g') ifeq ($(REL_TYPE),) RHCONFIG := configs/kernel-$(REL_BASE)-$(MACHINE).config else RHCONFIG := configs/kernel-$(REL_BASE)-$(MACHINE)-$(REL_TYPE).config endif HAVECONFIG := $(shell if [ -e $(LINUXDIR)/$(RHCONFIG) ]; then echo y; fi) ifneq ($(HAVECONFIG),y) RHCONFIG := endif endif ifneq ($(HAVECONFIG),y) ifneq ($(0),$(LINUXDIR)) GETCONFIG += O=$(O) endif HAVECONFIG := $(shell if [ -e $(O)/.config ]; then echo y; fi) endif ifneq ($(HAVECONFIG),y) $(error Cannot find a kernel config file) endif endif CLEANCONFIG := $(shell if cmp -s $(LINUXDIR)/.config .config; then echo y; fi) ifeq ($(CLEANCONFIG),y) CLEANFILES += $(LINUXDIR)/.config .config $(LINUXDIR)/tmp_include_depends endif all: modules modules: includes +make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`/bin/pwd` DRMSRCDIR=`/bin/pwd` modules ifeq ($(HEADERFROMBOOT),1) BOOTHEADERS = version.h autoconf.h BOOTCONFIG = .config CLEANFILES += $(BOOTHEADERS) $(BOOTCONFIG) includes:: $(BOOTHEADERS) $(BOOTCONFIG) version.h: $(BOOTVERSION_PREFIX)version.h rm -f $@ ln -s $< $@ autoconf.h: $(BOOTVERSION_PREFIX)autoconf.h rm -f $@ ln -s $< $@ .config: $(BOOTVERSION_PREFIX)config rm -f $@ ln -s $< $@ endif # This prepares an unused Red Hat kernel tree for the build. ifneq ($(RHCONFIG),) includes:: $(LINUXDIR)/.config $(LINUXDIR)/tmp_include_depends .config $(LINUXDIR)/.config: $(LINUXDIR)/$(RHCONFIG) rm -f $@ ln -s $< $@ .config: $(LINUXDIR)/$(RHCONFIG) rm -f $@ ln -s $< $@ $(LINUXDIR)/tmp_include_depends: echo all: > $@ endif # Make sure that the shared source files are linked into this directory. SHAREDDIR := ../shared-core ifeq ($(shell if [ -d $(SHAREDDIR) ]; then echo y; fi),y) includes:: drm_pciids.h drm_pciids.h: $(SHAREDDIR)/drm_pciids.txt sh ../scripts/create_linux_pci_lists.sh < $(SHAREDDIR)/drm_pciids.txt endif clean cleandir: rm -rf $(CLEANFILES) $(MODULE_LIST):: make DRM_MODULES=$@ modules # Build test utilities PRGCFLAGS = $(CFLAGS) -g -ansi -pedantic -DPOSIX_C_SOURCE=199309L \ -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE \ -I. -I../../.. DRMSTATLIBS = -L../../.. -L.. -ldrm -lxf86_os \ -L../../../../dummylib -ldummy -lm programs: $(PROGS) dristat: dristat.c $(CC) $(PRGCFLAGS) $< -o $@ drmstat: drmstat.c $(CC) $(PRGCFLAGS) $< -o $@ $(DRMSTATLIBS) install: make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`/bin/pwd` DRMSRCDIR=`/bin/pwd` modules_install else # Check for kernel versions that we don't support. BELOW26 := $(shell if [ $(VERSION) -lt 2 -o $(PATCHLEVEL) -lt 6 ]; then \ echo y; fi) ifeq ($(BELOW26),y) $(error Only 2.6.x and later kernels are supported \ ($(VERSION).$(PATCHLEVEL).$(SUBLEVEL))) endif ifdef ARCHX86 ifndef CONFIG_X86_CMPXCHG $(error CONFIG_X86_CMPXCHG needs to be enabled in the kernel) endif endif # This needs to go before all other include paths. CC += -I$(DRMSRCDIR) # Check for PAGE_AGP definition PAGE_AGP := $(shell cat $(LINUXDIR)/include/asm/agp.h 2>/dev/null | \ grep -c PAGE_AGP) ifneq ($(PAGE_AGP),0) EXTRA_CFLAGS += -DHAVE_PAGE_AGP endif ifeq ($(OS_HAS_GEM), 1) EXTRA_CFLAGS += -DOS_HAS_GEM=1 endif # Start with all modules turned off. CONFIG_DRM_GAMMA := n CONFIG_DRM_TDFX := n CONFIG_DRM_MGA := n CONFIG_DRM_I810 := n CONFIG_DRM_R128 := n CONFIG_DRM_RADEON := n CONFIG_DRM_I915 := n CONFIG_DRM_SIS := n CONFIG_DRM_FFB := n CONFIG_DRM_SAVAGE := n CONFIG_DRM_VIA := n CONFIG_DRM_MACH64 := n CONFIG_DRM_NV := n CONFIG_DRM_NOUVEAU := n CONFIG_DRM_XGI := n CONFIG_DRM_RADEON_MS := n # Enable module builds for the modules requested/supported. ifneq (,$(findstring tdfx,$(DRM_MODULES))) CONFIG_DRM_TDFX := m endif ifneq (,$(findstring r128,$(DRM_MODULES))) CONFIG_DRM_R128 := m endif ifneq (,$(findstring radeon,$(DRM_MODULES))) CONFIG_DRM_RADEON := m endif ifneq (,$(findstring sis,$(DRM_MODULES))) CONFIG_DRM_SIS := m endif ifneq (,$(findstring via,$(DRM_MODULES))) CONFIG_DRM_VIA := m endif ifneq (,$(findstring mach64,$(DRM_MODULES))) CONFIG_DRM_MACH64 := m endif ifneq (,$(findstring ffb,$(DRM_MODULES))) CONFIG_DRM_FFB := m endif ifneq (,$(findstring savage,$(DRM_MODULES))) CONFIG_DRM_SAVAGE := m endif ifneq (,$(findstring mga,$(DRM_MODULES))) CONFIG_DRM_MGA := m endif ifneq (,$(findstring nv,$(DRM_MODULES))) CONFIG_DRM_NV := m endif ifneq (,$(findstring nouveau,$(DRM_MODULES))) CONFIG_DRM_NOUVEAU := m endif ifneq (,$(findstring xgi,$(DRM_MODULES))) CONFIG_DRM_XGI := m endif ifneq (,$(findstring radeon_ms,$(DRM_MODULES))) #CONFIG_DRM_RADEON_MS := m endif # These require AGP support ifneq (,$(findstring i810,$(DRM_MODULES))) CONFIG_DRM_I810 := m endif ifneq (,$(findstring i915,$(DRM_MODULES))) ifeq ($(OS_HAS_GEM), 1) CONFIG_DRM_I915 := m endif endif GIT_REVISION := $(shell cd "$(DRMSRCDIR)" && git-describe --abbrev=17) ifneq ($(GIT_REVISION),) EXTRA_CFLAGS+=-D"GIT_REVISION=\"$(GIT_REVISION)\"" endif include $(DRMSRCDIR)/Makefile.kernel # Depencencies $(drm-objs): $(DRMHEADERS) $(COREHEADERS) $(tdfx-objs): $(TDFXHEADERS) $(r128-objs): $(R128HEADERS) $(mga-objs): $(MGAHEADERS) $(i810-objs): $(I810HEADERS) $(i915-objs): $(I915HEADERS) $(radeon-objs): $(RADEONHEADERS) $(sis-objs): $(SISHEADERS) $(ffb-objs): $(FFBHEADERS) $(savage-objs): $(SAVAGEHEADERS) $(via-objs): $(VIAHEADERS) $(mach64-objs): $(MACH64HEADERS) $(nv-objs): $(NVHEADERS) $(nouveau-objs): $(NOUVEAUHEADERS) $(xgi-objs): $(XGIHEADERS) endif