aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/drm/drm_bufs.c
AgeCommit message (Collapse)Author
2008-07-14drm: reorganise drm tree to be more future proof.Dave Airlie
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-02-07drm: fd.o bug #11895: Only add the AGP base to map offset if the caller didn't.Eric Anholt
The i830 and newer intel 2D code adds the AGP base to map offsets already, because it wasn't doing the AGP enable which used to set dev->agp->base. Credit goes to Zhenyu for finding the issue. Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-07i915: add suspend/resume supportJesse Barnes
Add suspend/resume support to the i915 driver. Moves some of the initialization into the driver load routine, and fixes up places where we assumed no dev_private existed in some of the cleanup paths. This allows us to suspend/resume properly even if X isn't running. Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-07drm: run cleanfile across drm treeDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-10-19Use helpers to obtain task pid in printksPavel Emelyanov
The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. [akpm@linux-foundation.org: git-drm went and changed lots of stuff] Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-15drm: Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.Eric Anholt
The data is now in kernel space, copied in/out as appropriate according to t This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal with those failures. This also means that XFree86 4.2.0 support for i810 DR is lost. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-10-15drm: Replace filp in ioctl arguments with drm_file *file_priv.Eric Anholt
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-08-25drm: ioremap return value checksScott Thompson
Signed-off-by: Scott Thompson <postfail <at> hushmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-23drm_rmmap_ioctl(): remove dead codeAdrian Bunk
This patch removes some obviously dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-12drm: detypedef the hashtab and more of smanDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: detypedeffing continues...Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structsDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: drop drm_buf_t typedefDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: remove drm_file_t, drm_device_t and drm_head_t typedefsDave Airlie
some drivers still todo. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: remove a bunch of typedefs on the userspace interfaceDave Airlie
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 Airlie
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-03-11drm: bring bufs code from git tree.Dave Airlie
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-02-08drm: Allow for 44 bit user-tokens (or drm_file offsets)Thomas Hellstrom
2007-02-08drm: remove drm_ioremap and drm_ioremapfreeChristoph Hellwig
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>
2007-02-08drm: use vmalloc_user instead of vmalloc_32 for DRM_SHMThomas Hellstrom
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-12-07drm: add flag for mapping PCI DMA buffers read-only.George Sapountzis
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-10-25drm: ioremap balanced with iounmap for drivers/char/drmAmol Lad
ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only) to make sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad <amol@verismonetworks.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: allow multiple addMaps with the same 32-bit map offsset.Thomas Hellstrom
Reported on -mm kernels. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: cleanupsAdrian Bunk
This patch contains the following cleanups: - make 3 needlessly global functions static - sis_mm.c: fix compile warnings with CONFIG_FB_SIS=y Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: remove FALSE/TRUE that snuck in with simple memory manager changes.Andrew Morton
Thanks to Andrew Morton for pointing these out, I've fixed a few his patch missed. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: remove a tab that snuck inDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: update user token hashing and map handlesThomas Hellstrom
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: missing mutex unlockThomas Hellstrom
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-04-23drm: possible cleanupsDave Airlie
This patch contains the following possible cleanups: - make the following needlessly global function static: - drm_bufs.c: drm_addbufs_fb() - remove the following unused EXPORT_SYMBOL's: - drm_agpsupport.c: drm_agp_bind_memory - drm_bufs.c: drm_rmmap_locked - drm_bufs.c: drm_rmmap - drm_stub.c: drm_get_dev Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-03-19drm: fixup PCI DMA supportDave Airlie
This patch makes the PCI support use the correct Linux interfaces finally. Tested in DRM CVS on PCI MGA card. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-02-02sem2mutex: drivers/char/drm/Dave Airlie
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>
2006-01-11drm: fixup drm bufs being just under the EOMDave Airlie
If the mapping was just under the end of memory it would fail. Lets DRM start on my PCI card. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-01-02drm: major update from CVS for radeon and coreDave Airlie
This patch pull in a lot of changes from CVS to the main core DRM, and updates the radeon driver to 1.21.0 that supports r300 texrect and radeon card type ioctl. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-10-24drm: fix warning on 64-bit platforms..Dave Airlie
This looks ugly, but it is the only thing that makes sense that doesn't change the API. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-30drm: fix all sparse warning on 32-bit x86Dave Airlie
Finally cleaned up the sparse warnings for the drm. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25drm: cast handle to a pointer to avoid warningDave Airlie
Andrew reported a warning on this line, just case to void *. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-25drm: lindent the drm directory.Dave Airlie
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-05drm: small cleanupsDave Airlie
This patch contains the following small cleanups: - make two needlessly global functions static - drm_sysfs.c: every file should #include the header with the prototypes of the global functions it is offering Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-09-05drm: fix issue with handle lookup for a 0 handleDave Airlie
On 32-bit PPC a 0 handle is valid for AGP space, the 32/64 lookup doesn't handle 0 correctly. From: Ben Herrenschmidt <benh@kernel.crashing.org> and Paul Mackerras <paulus@samba.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-20drm: fixes for powerpcDave Airlie
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 Airlie
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 Airlie
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: cleanup buffer/map codeDave Airlie
This is a patch from DRM CVS that cleans up some code that was in CVS that I never moved to the kernel, this patch produces the result of the cleanups and puts it into the kernel drm. From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: destatic exported function.Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: export symbols for use by driversDave Airlie
This just exports symbols for use in drivers. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: update some function so a driver can call themDave Airlie
This patch splits some ioctl functions so that they can be called in-kernel by a DRM driver. The driver will use them later. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: update support for drm pci buffersDave Airlie
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-10Refactor common, boilerplate ioctl code from drm_addbufs_* functions intoDave Airlie
drm_addbufs. This makes the code more like the BSD code, and makes the drm_addbufs_* functions callable in-kernel. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add framebuffer mapsDave Airlie
The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP memory but uses video memory. From: Austin Yuan <austinyuan@viatech.com.cn> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add _DRM_CONSISTENT map typeDave Airlie
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>