summaryrefslogtreecommitdiff
path: root/drivers/char/drm/drmP.h
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-05-07Revert "drm/vbl rework: rework how the drm deals with vblank."Dave Airlie
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 Harrison
__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 Barnes
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 Airlie
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-19DRM: remove unused dev_classGreg Kroah-Hartman
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 Airlie
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 Airlie
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 Barnes
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 Airlie
2008-02-07drm: some minor cleanups and changes to make memory manager merging easier.Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-11-06drm: remove second forward decleration of drm device struct.Dave Airlie
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 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-07-17drm: convert drawable code to using idrDave Airlie
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 Airlie
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 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_vma_entry_t, drm_magic_entry_tDave 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: remove DRM_GETSAREA and replace with drm_getsarea functionDave Airlie
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-05-08drm/radeon: upgrade to 1.27 - make PCI GART more flexibleDave Airlie
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 Hellstrom
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 Estabrook
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-02-08drm: update core memory manager from git drm treeThomas Hellstrom
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 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>
2006-12-19drm: Stop defining pci_pretty_nameJean Delvare
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 Airlie
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-12-07drm: Add support for interrupt triggered driver callback with lock held to ↵=?utf-8?q?Michel_D=C3=A4nzer?=
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?=
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?=
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: add device/vendor id to drm_device_t for compat with FreeBSD driversEric Anholt
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: domain changes broke ppc r200Dave Airlie
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-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: move drm authentication to new generic hash table.Thomas Hellstrom
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-22drm: add simple DRM memory manager, and hash tableThomas Hellstrom
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-22drm: remove the DRM pci domainDave Airlie
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-22drm: remove local copies of pci bus/slot/funcDave
The drm keeps a local copy of these for little use. Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22drm: cleanup old compat code and DRM fns from Linux only codeDave Airlie
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 Engel
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
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-04-18drivers/char/drm/drm_memory.c: possible cleanupsAdrian Bunk
- #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 Airlie
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 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-06[PATCH] DRM: fix up classdev interface for drm coreGreg Kroah-Hartman
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>