summaryrefslogtreecommitdiff
path: root/drivers/char/drm/drmP.h
AgeCommit message (Collapse)AuthorFilesLines
2008-07-14drm: reorganise drm tree to be more future proof.Dave Airlie1-1153/+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-05-07Revert "drm/vbl rework: rework how the drm deals with vblank."Dave Airlie1-74/+17
This reverts commit ac741ab71bb39e6977694ac0cc26678d8673cda4. Okay this looks like wasn't as fully baked as I'd led myself to believe. Revert for now for further baking. Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-04-30drivers/char: replace remaining __FUNCTION__ occurrencesHarvey Harrison1-4/+4
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-26drm/vbl rework: rework how the drm deals with vblank.Jesse Barnes1-17/+74
Other Authors: Michel Dänzer <michel@tungstengraphics.com> mga: Ian Romanick <idr@us.ibm.com> via: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> This re-works the DRM internals to provide a better interface for drivers to expose vblank on multiple crtcs. It also includes work done by Michel on making i915 triple buffering and pageflipping work properly. Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-04-26drm: reorganise minor number handling using backported modesetting code.Dave Airlie1-22/+20
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-20DRM: remove unused dev_classGreg Kroah-Hartman1-1/+0
The struct class_device *dev_class is not used in the struct drm_head structure at all, so remove it as class_device is being removed entirely from the kernel. Cc: David Airlie <airlied@linux.ie> Cc: Tony Jones <tonyj@suse.de> Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-17drm/ati_pcigart: fix the PCIGART to use drm_pci to allocate GART table.Dave Airlie1-0/+3
This fixes a problem on 64-bit with 4GB with ATI RS690 chipsets. It makes sure the pcigart table is allocated in coherent memory for DMA operations. Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-02-20drm: add support for passing state into the suspend hooks.Dave Airlie1-1/+1
fix i915 driver to use state for hibernate save avoidance. Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-02-07drm: update DRM sysfs supportJesse Barnes1-4/+7
Make DRM devices use real Linux devices instead of class devices, which are going away. While we're at it, clean up some of the interfaces to take struct drm_device * or struct device * and use the global drm_class where needed instead of passing it around. Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-07drm: move two function extern into the correct blockDave Airlie1-3/+2
2008-02-07drm: some minor cleanups and changes to make memory manager merging easier.Dave Airlie1-26/+26
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-11-06drm: remove second forward decleration of drm device struct.Dave Airlie1-2/+0
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-10-15drm: Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.Eric Anholt1-105/+114
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 Anholt1-54/+58
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-17drm: convert drawable code to using idrDave Airlie1-4/+2
This converts the code for allocating drawables to the Linux idr, Fixes from: Michel Dänzer <michel@tungstengraphics.com>, Kristian Høgsberg <krh@redhat.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-17drm: convert drm context code to use Linux idrDave Airlie1-2/+3
This converts the drm context allocator to an idr, using the new idr interface features from Kristian. Fixes from Kristian Hoegsberg <krh@redhat.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-12drm: detypedef the hashtab and more of smanDave Airlie1-4/+4
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: detypedeffing continues...Dave Airlie1-44/+44
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structsDave Airlie1-16/+16
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: drop drm_vma_entry_t, drm_magic_entry_tDave Airlie1-8/+4
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: drop drm_buf_t typedefDave Airlie1-10/+10
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: remove drm_file_t, drm_device_t and drm_head_t typedefsDave Airlie1-68/+68
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-22/+23
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: remove DRM_GETSAREA and replace with drm_getsarea functionDave Airlie1-0/+2
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-07-11drm: cleanup use of Linux list handling macrosDave Airlie1-20/+12
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-08drm/radeon: upgrade to 1.27 - make PCI GART more flexibleDave Airlie1-1/+6
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>
2007-03-23drm: fix driver deadlock with AIGLX and reclaim_buffers_lockedThomas Hellstrom1-3/+18
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>
2007-03-11drm: fix alpha domain handlingJay Estabrook1-1/+1
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-02-08drm: update core memory manager from git drm treeThomas Hellstrom1-2/+8
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>
2007-02-08drm: remove drm_ioremap and drm_ioremapfreeChristoph Hellwig1-24/+2
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-19drm: Stop defining pci_pretty_nameJean Delvare1-4/+0
drm drivers no longer use pci_pretty_name so we can stop defining it. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-12-19drm: make kernel context switch same as for drm git tree.Dave Airlie1-2/+1
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-12-07drm: add flag for mapping PCI DMA buffers read-only.George Sapountzis1-1/+2
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-12-07drm: Add support for interrupt triggered driver callback with lock held to ↵=?utf-8?q?Michel_D=C3=A4nzer?=1-0/+3
DRM core. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-12-07drm: Add support for tracking drawable information to core=?utf-8?q?Michel_D=C3=A4nzer?=1-0/+13
Actually make the existing ioctls for adding and removing drawables do something useful, and add another ioctl for the X server to update drawable information. The only kind of drawable information tracked so far is cliprects. Only reallocate cliprect memory if the number of cliprects changes. Also improve diagnostic output. hook up drm ioctl update draw export drm_get_drawable_info symbol Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-12-07drm: add support for secondary vertical blank interrupt to DRM core=?utf-8?q?Michel_D=C3=A4nzer?=1-0/+4
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: add device/vendor id to drm_device_t for compat with FreeBSD driversEric Anholt1-0/+2
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: domain changes broke ppc r200Dave Airlie1-1/+1
Freedesktop.org bug #8246 The domain changes regressed on PPC, go back to just using 0, as X.org's domain support is crap Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: update user token hashing and map handlesThomas Hellstrom1-0/+3
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-21drm: move drm authentication to new generic hash table.Thomas Hellstrom1-3/+5
Fix drm_remove_magic potential memory leak / corruption. Move drm authentication token hashing to new generic hash table implementation. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: add simple DRM memory manager, and hash tableThomas Hellstrom1-1/+32
This adds the DRM hashtable and simple memory manager implementations from Tungsten Graphics, this is NOT the new memory manager, this is a replacement for the SIS and VIA memory managers. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: remove the DRM pci domainDave Airlie1-1/+6
This patch removes the pci_domain from the DRM device structure, and gets it via a macro that either asks the platform or does the alpha special case. jgarzik asked for this to just use the platform magic, but I've no alpha experience and I'd rather not just break it and wait for someone to give out. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: remove local copies of pci bus/slot/funcDave1-3/+0
The drm keeps a local copy of these for little use. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-21drm: cleanup old compat code and DRM fns from Linux only codeDave Airlie1-12/+0
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-06-30Remove obsolete #include <linux/config.h>Jörn Engel1-1/+0
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-04-23drm: possible cleanupsDave Airlie1-1/+0
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-04-18drivers/char/drm/drm_memory.c: possible cleanupsAdrian Bunk1-2/+2
- #if 0 the following unused global function: - drm_ioremap_nocache() - make the following needlessly global functions static: - agp_remap() - drm_lookup_map() Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-03-29drm: remove drm_{alloc,free}_pagesDave Airlie1-2/+0
drm_alloc_pages and drm_free_pages can now be removed. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-03-19drm: fixup PCI DMA supportDave Airlie1-7/+7
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-06[PATCH] DRM: fix up classdev interface for drm coreGreg Kroah-Hartman1-6/+4
Current drm code doesn't work with userspace programs that listen only to the kernel event netlink socket as it is trying to create its own dev interface. Turns out lots of code can just be deleted as the driver core can do all of this work automatically for you. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>