summaryrefslogtreecommitdiff
path: root/drivers/char/drm/drm_vm.c
AgeCommit message (Collapse)AuthorFilesLines
2008-07-14drm: reorganise drm tree to be more future proof.Dave Airlie1-673/+0
With the coming of kernel based modesetting and the memory manager stuff, the everything in one directory approach was getting very ugly and starting to be unmanageable. This restructures the drm along the lines of other kernel components. It creates a drivers/gpu/drm directory and moves the hw drivers into subdirectores. It moves the includes into an include/drm, and sets up the unifdef for the userspace headers we should be exporting. Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-04-26drm: reorganise minor number handling using backported modesetting code.Dave Airlie1-10/+10
rips out the head crap and replaces it with an idr and drm_minor structure Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-04-26drm: Fix mismerge of non-coherent DMA patchBenjamin Herrenschmidt1-1/+1
The patch for supporting non coherent PCI DMA in the DRM was mismerged causing the page protection to be updated for the wrong type of mapping. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-03-30drm: fix for non-coherent DMA PowerPCBenjamin Herrenschmidt1-5/+15
This patch fixes bits of the DRM so to make the radeon DRI work on non-cache coherent PCI DMA variants of the PowerPC processors. It moves the few places that needs change to wrappers to that other architectures with similar issues can easily add their own changes to those wrappers, at least until we have more useful generic kernel API. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-20drm: convert drm from nopage to fault.Nick Piggin1-70/+55
Remove redundant vma range checks. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-07drm: cleanup DRM_DEBUG() parametersMárton Németh1-2/+2
As DRM_DEBUG macro already prints out the __FUNCTION__ string (see drivers/char/drm/drmP.h), it is not worth doing this again. At some other places the ending "\n" was added. airlied:- I cleaned up a few that this patch missed also Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-04vm audit: add VM_DONTEXPAND to mmap for drivers that need itNick Piggin1-0/+2
Drivers that register a ->fault handler, but do not range-check the offset argument, must set VM_DONTEXPAND in the vm_flags in order to prevent an expanding mremap from overflowing the resource. I've audited the tree and attempted to fix these problems (usually by adding VM_DONTEXPAND where it is not obvious). Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-15drm: Replace filp in ioctl arguments with drm_file *file_priv.Eric Anholt1-2/+2
As a fallout, replace filp storage with file_priv storage for "unique identifier of a client" all over the DRM. There is a 1:1 mapping, so this should be a noop. This could be a minor performance improvement, as everyth on Linux dereferenced filp to get file_priv anyway, while only the mmap ioct went the other direction. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-12drm: detypedef the hashtab and more of smanDave Airlie1-2/+2
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: detypedeffing continues...Dave Airlie1-5/+5
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structsDave Airlie1-2/+2
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: drop drm_vma_entry_t, drm_magic_entry_tDave Airlie1-3/+3
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: remove drm_file_t, drm_device_t and drm_head_t typedefsDave Airlie1-20/+20
some drivers still todo. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: remove a bunch of typedefs on the userspace interfaceDave Airlie1-6/+6
This moves a bunch of typedefs into a !defined __KERNEL__ to keep userspace API compatiblity, it changes all internal usages to structs/enum/unions. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: cleanup use of Linux list handling macrosDave Airlie1-24/+10
This makes the drms use of the list handling macros a lot cleaner and more along the lines of how they should be used and uses them in some more places. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-09Fix occurrences of "the the "Michael Opdenacker1-1/+1
Signed-off-by: Michael Opdenacker <michael@free-electrons.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-03-24drm: just use io_remap_pfn_range on all archs..Dave Airlie1-6/+1
Move the sparc64 ifdef around to clean this up. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-03-24drm: fix DRM_CONSISTENT mappingHugh Dickins1-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>
2007-03-24drm: fix up mmap locking in preparation for ttm changesThomas Hellstrom1-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>
2007-03-11drm: make drm_io_prot static.Adrian Bunk1-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>
2007-03-11drm: bring bufs code from git tree.Dave Airlie1-1/+1
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>
2007-03-11drm: move protection stuff into separate functionDave Airlie1-18/+26
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-02-08drm: Allow for 44 bit user-tokens (or drm_file offsets)Thomas Hellstrom1-7/+7
2007-02-08drm: remove drm_ioremap and drm_ioremapfreeChristoph Hellwig1-1/+1
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>
2006-12-09Merge branch 'drm-patches' of ↵Linus Torvalds1-0/+16
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits) Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 drm: add flag for mapping PCI DMA buffers read-only. drm: fix up irqflags in drm_lock.c drm: i915 updates drm: i915: fix up irqflags arg drm: i915: Only return EBUSY after we've established we need to schedule a new swap. drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap(). drm: i915: Add SAREA fileds for determining which pipe to sync window buffer swaps to. drm: Make handling of dev_priv->vblank_pipe more robust. drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. drm: Core vsync: Don't clobber target sequence number when scheduling signal. drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS. drm: Make locked tasklet handling more robust. drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended. drm: Change first valid DRM drawable ID to be 1 instead of 0. drm: drawable locking + memory management fixes + copyright drm: Add support for interrupt triggered driver callback with lock held to DRM core. drm: Add support for tracking drawable information to core drm: add support for secondary vertical blank interrupt to i915 ...
2006-12-07[PATCH] mm: incorrect VM_FAULT_OOM returns from driversNick Piggin1-4/+4
Some drivers are returning OOM when it is not in response to a memory shortage. Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: Dave Airlie <airlied@linux.ie> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07drm: add flag for mapping PCI DMA buffers read-only.George Sapountzis1-0/+16
Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional flag is needed, since PCI DMA buffers do not have an associated map. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: update user token hashing and map handlesThomas Hellstrom1-26/+11
Keep hashed user tokens, with the following changes: 32-bit physical device addresses are mapped directly to user-tokens. No duplicate maps are allowed, and the addresses are assumed to be outside of the range 0x10000000 through 0x30000000. The user-token is identical to the 32-bit physical start-address of the map. 64-bit physical device addressed are mapped to user-tokens in the range 0x10000000 to 0x30000000 with page-size increments. The user_token should not be interpreted as an address. Other map types, like upcoming TTM maps are mapped to user-tokens in the range 0x10000000 to 0x30000000 with page-size increments. The user_token should not be interpreted as an address. Implement hashed map lookups. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: cleanup old compat code and DRM fns from Linux only codeDave Airlie1-6/+6
This patch removes some of the old compatibility macros from the DRM, and removes use of DRM wrappers from Linux specific code. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-03-22[SPARC]: Respect vm_page_prot in io_remap_page_range().David S. Miller1-0/+1
Make sure the callers do a pgprot_noncached() on vma->vm_page_prot. Pointed out by Hugh Dickens. Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-02sem2mutex: drivers/char/drm/Dave Airlie1-6/+6
From: Arjan van de Ven <arjan@infradead.org> Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-10-22merge linus head to drm-mm branchDave Airlie1-1/+1
2005-09-25drm: lindent the drm directory.Dave Airlie1-175/+194
I've been threatening this for a while, so no point hanging around. This lindents the DRM code which was always really bad in tabbing department. I've also fixed some misnamed files in comments and removed some trailing whitespace. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-11drm: missing drm_vm.c changes for consistent mapsDave Airlie1-1/+2
This adds a missing change from CVS for consistent maps. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-20drm: fixes for powerpcDave Airlie1-8/+8
Remove a bogus check on whether an area is memory (we need a better interface) also change pgprot flags for powerpc don't check on x86-64 either From: Paul Mackerras <paulus@samba.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-07drm: remove version.h and any version checks..Dave Airlie1-47/+0
This patch removes all the drm kernel conditionals from the kernel DRM tree. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05drm: updated DRM map patch for 32/64 bit systemsDave Airlie1-10/+10
I basically combined Paul's patches with additions that I had made for PCI scatter gather. I also tried more carefully to avoid problems with the same token assigned multiple times while trying to use the base address in the token if possible to gain as much backward compatibility as possible for broken DRI clients. From: Paul Mackerras <paulus@samba.org> and Egbert Eich <eich@suse.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: update support for drm pci buffersDave Airlie1-2/+6
The DRM needs to change the drm_pci interface for FreeBSD compatiblity, this patch introduces the drm_dma_handle_t and uses it in the Linux code. From: Tonnerre Lombard, Eric Anholt, and Sergey Vlasov Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-10drm: add _DRM_CONSISTENT map typeDave Airlie1-0/+7
Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses drm_pci_alloc/free for allocating/freeing the memory. From: Felix Kuhling <fxkuehl@gmx.de> Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-07drm: misc cleanupDave Airlie1-4/+6
This patch contains the following cleanups: - make needlessly global functions static - remove the following unused global functions: - drm_fops.c: drm_read - i915_dma.c: i915_do_cleanup_pageflip Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds1-0/+678
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!