summaryrefslogtreecommitdiffstats
path: root/drivers/char/drm
Commit message (Collapse)AuthorAgeFilesLines
* Add support SiS based XGI chips to SiS DRM.Ian Romanick2007-06-272-4/+6
| | | | | | | | This adds support for some of the XGI Volari family that are based on the SiS. Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* fix radeon setparam on 32/64 systems, harder.David Woodhouse2007-06-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Commit 9b01bd5b284bbf519b726b39f1352023cb5e9e69 introduced a compat_ioctl handler for RADEON_SETPARAM, the sole purpose of which was to handle the fact that on i386, alignof(uint64_t)==4. Unfortunately, this handler was installed for _all_ 64-bit architectures, instead of only x86_64 and ia64. And thus it breaks 32-bit compatibility on every other arch, where 64-bit integers are aligned to 8 bytes in 32-bit mode just the same as in 64-bit mode. Arnd has a cunning plan to use 'compat_u64' with appropriate alignment attributes according to the 32-bit ABI, but for now let's just make the compat_radeon_cp_setparam routine entirely disappear on 64-bit machines whose 32-bit compat support isn't for i386. It would be a no-op with compat_u64 anyway. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Dave Airlie <airlied@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drm: fix radeon setparam on 32/64 bit systems.Dave Airlie2007-06-101-0/+26
| | | | | | The alignment on 64-bit is different for 64-bit values. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm/i915: Add support for the G33, Q33, and Q35 chipsets.Wang Zhenyu2007-06-104-17/+80
| | | | | | | | These require that the status page be referenced by a pointer in GTT, rather than phsyical memory. So, we have the X Server allocate that memory and tell us the address, instead. Signed-off-by: Dave Airlie <airlied@linux.ie>
* i915: add new pciids for 945GME, 965GME/GLEWang Zhenyu2007-06-102-1/+4
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* Merge branch 'drm-patches' of ↵Linus Torvalds2007-05-313-16/+34
|\ | | | | | | | | | | | | | | | | ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: make sure the drawable code doesn't call malloc(0). drm/radeon: add more IGP chipset pci ids drm: Spinlock initializer cleanup
| * drm: make sure the drawable code doesn't call malloc(0).Michel Dänzer2007-05-251-15/+26
| | | | | | | | | | Signed-off-by: Michel Dänzer <michel@tungstengraphics.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm/radeon: add more IGP chipset pci idsDave Airlie2007-05-251-0/+7
| | | | | | | | | | | | Add more IGP chipset PCI IDs Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: Spinlock initializer cleanupThomas Gleixner2007-05-251-1/+1
| | | | | | | | | | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* | [SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM.Martin Habets2007-05-291-1/+1
|/ | | | | | | | | The DRM code depends on an atomic version of cmpxchg(), which is not available on sparc32. Since other platforms besides sparc32 have this issue a KCONFIG option is added for it. Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
* Fix occurrences of "the the "Michael Opdenacker2007-05-093-3/+3
| | | | | Signed-off-by: Michael Opdenacker <michael@free-electrons.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* via: Make sure we flush write-combining using a follow-up read.Thomas Hellstrom2007-05-081-2/+4
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* via: Try to improve command-buffer chaining.Thomas Hellstrom2007-05-082-66/+46Star
| | | | | | Bump driver date and patchlevel. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: remove old taskqueue remnantDave Airlie2007-05-081-3/+0Star
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: rename badly named define and cleanup ioctl code spacingDave Airlie2007-05-081-6/+4Star
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* radeon: Don't mess up page flipping when a file descriptor is closed.Michel Dänzer2007-05-082-28/+19Star
| | | | | | | | | There can still be other contexts that may use page flipping later on, so do just unilaterally 'clean it up', which could lead to the wrong page being displayed, e.g. when running 3D apps with a GLX compositing manager such as compiz using page flipping. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm/radeon: upgrade to 1.27 - make PCI GART more flexibleDave Airlie2007-05-089-48/+150
| | | | | | | | | | | | | | | | | | radeon: make PCI GART aperture size variable, but making table size variable This is precursor to getting a TTM backend for this stuff, and also allows the PCI table to be allocated at fb 0 radeon: add support for reverse engineered xpress200m The IGPGART setup code was traced using mmio-trace on fglrx by myself and Phillip Ezolt <phillipezolt@gmail.com> on dri-devel. This code doesn't let the 3D driver work properly as the card has no vertex shader support. Thanks to Matthew Garrett + Ubuntu for providing me some hardware to do this work on. Signed-off-by: Dave Airlie <airlied@linux.ie>
* Merge branch 'drm-patches' of ↵Linus Torvalds2007-05-0720-196/+349
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Add 965GM pci id update drm: just use io_remap_pfn_range on all archs.. drm: fix DRM_CONSISTENT mapping drm: fix up mmap locking in preparation for ttm changes drm: fix driver deadlock with AIGLX and reclaim_buffers_locked drm: fix warning in drm_fops.c drm: allow for more generic drm ioctls drm: fix alpha domain handling via: fix CX700 pci id drm: make drm_io_prot static. drm: remove via_mm.h drm: add missing NULL assignment drm/radeon: Fix u32 overflows when determining AGP base address in card space. drm: port over use_vmalloc code from git hashtab drm: fix crash with fops lock and fixup sarea/page size locking drm: bring bufs code from git tree. drm: move protection stuff into separate function drm: Use ARRAY_SIZE macro when appropriate drm: update README.drm (bugzilla #7933) drm: remove unused exports
| * drm/i915: Add 965GM pci id updateWang Zhenyu2007-04-252-1/+3
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: just use io_remap_pfn_range on all archs..Dave Airlie2007-03-241-6/+1Star
| | | | | | | | | | | | Move the sparc64 ifdef around to clean this up. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix DRM_CONSISTENT mappingHugh Dickins2007-03-241-5/+9
| | | | | | | | | | | | This patch got lost in the DRM git tree for ages, bring it back to life. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix up mmap locking in preparation for ttm changesThomas Hellstrom2007-03-241-9/+26
| | | | | | | | | | | | | | This change is needed to protect againt disappearing maps which aren't common. The map lists are protected using sturct_mutex but drm_mmap never locked it. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix driver deadlock with AIGLX and reclaim_buffers_lockedThomas Hellstrom2007-03-237-81/+174
| | | | | | | | | | | | | | | | | | | | | | | | Bugzilla Bug #9457 Add refcounting of user waiters to the DRM hardware lock, so that we can use DRM_LOCK_CONT flag more conservatively. Also add a kernel waiter refcount that if nonzero transfers the lock for the kernel context when it is released. This is useful when waiting for idle and can be used for very simple fence object driver implementations for the new memory manager Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix warning in drm_fops.cAndrew Morton2007-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | drivers/char/drm/drm_fops.c: In function 'drm_setup': drivers/char/drm/drm_fops.c:60: warning: comparison of distinct pointer types lacks a cast Unfortunately PAGE_SIZE has different types on different architectures. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: allow for more generic drm ioctlsThomas Hellstrom2007-03-182-4/+9
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix alpha domain handlingJay Estabrook2007-03-111-1/+1
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * via: fix CX700 pci idThomas Hellstrom2007-03-111-1/+1
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: make drm_io_prot static.Adrian Bunk2007-03-111-1/+1
| | | | | | | | | | | | | | This patch makes the needlessly global drm_io_prot() static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: remove via_mm.hRobert P. J. Day2007-03-111-40/+0Star
| | | | | | | | | | | | | | Delete apparently unused header file drivers/char/drm/via_mm.h. Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: add missing NULL assignmentDave Airlie2007-03-111-0/+1
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm/radeon: Fix u32 overflows when determining AGP base address in card space.Michel Dänzer2007-03-111-4/+4
| | | | | | | | | | | | | | | | | | The overflows could lead to the AGP aperture overlapping the framebuffer are in the card's address space when the latter is located at the very end of th 32 bit address space, which would result in a freeze on X server startup, probably because the card read commands from the framebuffer instead of from AGP. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392915 . Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: port over use_vmalloc code from git hashtabDave Airlie2007-03-112-2/+15
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix crash with fops lock and fixup sarea/page size lockingDave Airlie2007-03-111-2/+4
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: bring bufs code from git tree.Dave Airlie2007-03-112-10/+67
| | | | | | | | | | | | | | This checks the AGP mappings are in a valid place and also fixes the size check in the vm.. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: move protection stuff into separate functionDave Airlie2007-03-111-18/+26
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: Use ARRAY_SIZE macro when appropriateAhmed S. Darwish2007-03-111-1/+1
| | | | | | | | | | | | | | | | Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: update README.drm (bugzilla #7933)Randy Dunlap2007-03-111-9/+7Star
| | | | | | | | | | | | | | | | Update URLs in drivers/char/drm/README.drm, to take care of kernel bugzilla Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: remove unused exportsAdrian Bunk2007-03-111-2/+0Star
| | | | | | | | | | | | | | | | This patch removes two unused exports. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* | [DRM]: Delete sparc64 FFB driver code that never gets built.David S. Miller2007-03-274-1280/+0Star
|/ | | | | | | The Kconfig bits were removed long ago, so we should kill off the driver too. Signed-off-by: David S. Miller <davem@davemloft.net>
* [PATCH] remove many unneeded #includes of sched.hTim Schmielau2007-02-142-2/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | After Al Viro (finally) succeeded in removing the sched.h #include in module.h recently, it makes sense again to remove other superfluous sched.h includes. There are quite a lot of files which include it but don't actually need anything defined in there. Presumably these includes were once needed for macros that used to live in sched.h, but moved to other header files in the course of cleaning it up. To ease the pain, this time I did not fiddle with any header files and only removed #includes from .c-files, which tend to cause less trouble. Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha, arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig, allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all configs in arch/arm/configs on arm. I also checked that no new warnings were introduced by the patch (actually, some warnings are removed that were emitted by unnecessarily included header files). Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] mark struct file_operations const 3Arjan van de Ven2007-02-123-3/+3
| | | | | | | | | | | Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] Char: timers cleanupJiri Slaby2007-02-121-9/+5Star
| | | | | | | | | | | | | | | | | | | | | - Use timer macros to set function and data members and to modify expiration time. - Use DEFINE_TIMER for global timers and do not init them at run-time in these cases. - del_timer_sync is common in most cases -- we want to wait for timer function if it's still running. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Paul Fulghum <paulkf@microgate.com> Cc: Kylene Jo Hall <kjhall@us.ibm.com> Cc: Wim Van Sebroeck <wim@iguana.be> Acked-by: Dmitry Torokhov <dtor@mail.ru> (Input bits) Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drm: Allow for 44 bit user-tokens (or drm_file offsets)Thomas Hellstrom2007-02-083-13/+14
|
* drm/via: Disable AGP DMA for chips with the new 3D engine.Thomas Hellstrom2007-02-081-0/+5
|
* drm: update core memory manager from git drm treeThomas Hellstrom2007-02-083-47/+149
| | | | | | | | | | | | | | Remove the memory manager parameter from the put_block function, as this makes the client code a lot cleaner. Prepare buffer manager for lock and unlock calls. Fix buggy aligned allocations. Remove the stupid root_node field from the core memory manager. Support multi-page buffer offset alignments Add improved alignment functionality to the core memory manager. This makes an allocated block actually align itself and returns any wasted space to the manager. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: remove drm_ioremap and drm_ioremapfreeChristoph Hellwig2007-02-086-195/+25Star
| | | | | | | | hch originally submitted this for paravirt ops work, airlied took it and cleaned up a lot of unused code caused by using this. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
* i810/i830: use drm_core_ioremap instead of drm_ioremapDave Airlie2007-02-084-22/+48
| | | | | | This makes the i810/i830 use the drm_core_ioremap functions. Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: use vmalloc_user instead of vmalloc_32 for DRM_SHMThomas Hellstrom2007-02-081-1/+1
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* via: allow for npot texture pitch alignmentThomas Hellstrom2007-02-083-11/+24
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* via: add some new chipsetsThomas Hellstrom2007-02-085-17/+33
| | | | | | Disable 3D functionality and AGP DMA for chipsets with the DX9 3D engine. Signed-off-by: Dave Airlie <airlied@linux.ie>