summaryrefslogtreecommitdiff
path: root/linux-core/drm_lock.c
AgeCommit message (Expand)Author
2008-12-10Revert "Merge branch 'modesetting-gem'"Jesse Barnes
2008-09-30Merge remote branch 'origin/master' into modesetting-gemDave Airlie
2008-08-13Don't call the vblank tasklet with irqs disabled.Thomas Hellstrom
2008-07-28Merge commit 'origin/master' into drm-gemEric Anholt
2008-07-26Merge remote branch 'origin/modesetting-101' into modesetting-gemDave Airlie
2008-07-26drm: don't set the signal blocker on the master process.Dave Airlie
2008-07-25drm: don't set the signal blocker on the master process.Dave Airlie
2008-06-18Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
2008-06-11[gem] Remove the drm_client_lock_take in set_domain.Eric Anholt
2008-06-10Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
2008-06-03Drop struct_mutex while waiting in drm_client_lock_takeKeith Packard
2008-05-30Merge commit 'origin/master' into drm-gemEric Anholt
2008-05-27[intel-gem] Replace idlelock usage with real lock acquisition.Eric Anholt
2008-04-28Merge branch 'master' into modesetting-101Thomas Hellstrom
2008-04-23Don't disable IRQs, just tasklets, when taking the drm lock spinlock.Thomas Hellstrom
2008-03-14fix build problemsAlan Hourihane
2008-03-14drm: Fix race that can lockup the kernelMike Isely
2008-02-13start moving over to proper hierarchy wrt master accessesDave Airlie
2008-02-13major port of multi-master ideas into modesettingDave Airlie
2007-07-20Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.Eric Anholt
2007-07-20Replace filp in ioctl arguments with drm_file *file_priv.Eric Anholt
2007-07-20Remove DRM_ERR OS macro.Eric Anholt
2007-07-16drm: remove drmP.h internal typedefsDave Airlie
2007-07-16drm: detypedef drm.h and fixup all problemsDave Airlie
2007-02-14Fix multiple spinlock unlockingThomas Hellstrom
2007-02-13Bugzilla Bug #9457Thomas Hellstrom
2006-10-02Fix type of second argument to spin_lock_irqsave().Michel Dänzer
2006-10-02Trap and be verbose about a deadlock that occurs with AIGLX and drivers thatThomas Hellstrom
2006-09-29Add support for interrupt triggered driver callback with lock held to DRM core.Michel Dänzer
2006-09-27Activate error message that was never hit since it was maskedThomas Hellstrom
2006-09-26Remove the call to drm_lock_transfer, since it is not used anymore.Thomas Hellstrom
2006-09-15Allow a "native type" to be associated with a fence sequence.Thomas Hellstrom
2006-09-12More bugfixes.Thomas Hellstrom
2006-08-28Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-...Thomas Hellstrom
2006-08-28drm: lots of small cleanups and whitespace issues fixed upDave Airlie
2006-08-21Generic DRM support base-class support for user-space objects, likeThomas Hellstrom
2006-02-18fix build wrong function callDave Airlie
2006-02-18major realigment of DRM CVS with kernel code, makes integration much easierDave Airlie
2005-11-11convert to use __set_current_state, align some header includesDave Airlie
2005-06-04misc cleanup patch from Adrian BunkDave Airlie
2005-04-20A fix for a locking bug which is triggered when a client tries to lock withThomas Hellstrom
2004-10-18Update Doxygen configuration & comments.Jose Fonseca
2004-10-12Breakout heads into their own data structures.Jon Smirl
2004-10-10Rename fn_tbl to driver. Core driver now uses pci_driver name whichJon Smirl
2004-09-30Lindent of core build. Drivers checked for no binary diffs. A few filesJon Smirl
2004-09-30Move things around to reduce public symbols and even out files. Switch toJon Smirl
2004-09-27First check in for DRM that splits core from personality modulesJon Smirl
2004-08-27__NO_VERSION__ hasn't been needed since 2.3 days ditch it...Dave Airlie
2004-07-05fixes from kernel for 0 vs NULL - mikaDave Airlie
2003-05-27Merged DRM documentation.Jose Fonseca
class="hl kwb">unsigned int fb_cpp; unsigned int front_offset, front_pitch; unsigned int back_offset, back_pitch; unsigned int depth_cpp; unsigned int depth_offset, depth_pitch; unsigned int texture_offset[2]; unsigned int texture_size[2]; unsigned long fb_offset; unsigned long mmio_offset; unsigned long status_offset; unsigned long warp_offset; unsigned long primary_offset; unsigned long buffers_offset; } drmCompatMGAInit; extern int drmMGAInitDMA( int fd, drmCompatMGAInit *info ); extern int drmMGACleanupDMA( int fd ); extern int drmMGAFlushDMA( int fd, drmLockFlags flags ); extern int drmMGAEngineReset( int fd ); extern int drmMGAFullScreen( int fd, int enable ); extern int drmMGASwapBuffers( int fd ); extern int drmMGAClear( int fd, unsigned int flags, unsigned int clear_color, unsigned int clear_depth, unsigned int color_mask, unsigned int depth_mask ); extern int drmMGAFlushVertexBuffer( int fd, int indx, int used, int discard ); extern int drmMGAFlushIndices( int fd, int indx, int start, int end, int discard ); extern int drmMGATextureLoad( int fd, int indx, unsigned int dstorg, unsigned int length ); extern int drmMGAAgpBlit( int fd, unsigned int planemask, unsigned int src, int src_pitch, unsigned int dst, int dst_pitch, int delta_sx, int delta_sy, int delta_dx, int delta_dy, int height, int ydir ); /* R128 */ typedef struct { unsigned long sarea_priv_offset; int is_pci; int cce_mode; int cce_secure; int ring_size; int usec_timeout; unsigned int fb_bpp; unsigned int front_offset, front_pitch; unsigned int back_offset, back_pitch; unsigned int depth_bpp; unsigned int depth_offset, depth_pitch; unsigned int span_offset; unsigned long fb_offset; unsigned long mmio_offset; unsigned long ring_offset; unsigned long ring_rptr_offset; unsigned long buffers_offset; unsigned long agp_textures_offset; } drmCompatR128Init; extern int drmR128InitCCE( int fd, drmCompatR128Init *info ); extern int drmR128CleanupCCE( int fd ); extern int drmR128StartCCE( int fd ); extern int drmR128StopCCE( int fd ); extern int drmR128ResetCCE( int fd ); extern int drmR128WaitForIdleCCE( int fd ); extern int drmR128EngineReset( int fd ); extern int drmR128FullScreen( int fd, int enable ); extern int drmR128SwapBuffers( int fd ); extern int drmR128Clear( int fd, unsigned int flags, unsigned int clear_color, unsigned int clear_depth, unsigned int color_mask, unsigned int depth_mask ); extern int drmR128FlushVertexBuffer( int fd, int prim, int indx, int count, int discard ); extern int drmR128FlushIndices( int fd, int prim, int indx, int start, int end, int discard ); extern int drmR128TextureBlit( int fd, int indx, int offset, int pitch, int format, int x, int y, int width, int height ); extern int drmR128WriteDepthSpan( int fd, int n, int x, int y, const unsigned int depth[], const unsigned char mask[] ); extern int drmR128WriteDepthPixels( int fd, int n, const int x[], const int y[], const unsigned int depth[], const unsigned char mask[] ); extern int drmR128ReadDepthSpan( int fd, int n, int x, int y ); extern int drmR128ReadDepthPixels( int fd, int n, const int x[], const int y[] ); extern int drmR128PolygonStipple( int fd, unsigned int *mask ); extern int drmR128FlushIndirectBuffer( int fd, int indx, int start, int end, int discard ); /* Radeon */ typedef struct { unsigned long sarea_priv_offset; int is_pci; int cp_mode; int agp_size; int ring_size; int usec_timeout; unsigned int fb_bpp; unsigned int front_offset, front_pitch; unsigned int back_offset, back_pitch; unsigned int depth_bpp; unsigned int depth_offset, depth_pitch; unsigned long fb_offset; unsigned long mmio_offset; unsigned long ring_offset; unsigned long ring_rptr_offset; unsigned long buffers_offset; unsigned long agp_textures_offset; } drmCompatRadeonInit; typedef struct { unsigned int x; unsigned int y; unsigned int width; unsigned int height; void *data; } drmCompatRadeonTexImage; extern int drmRadeonInitCP( int fd, drmCompatRadeonInit *info ); extern int drmRadeonCleanupCP( int fd ); extern int drmRadeonStartCP( int fd ); extern int drmRadeonStopCP( int fd ); extern int drmRadeonResetCP( int fd ); extern int drmRadeonWaitForIdleCP( int fd ); extern int drmRadeonEngineReset( int fd ); extern int drmRadeonFullScreen( int fd, int enable ); extern int drmRadeonSwapBuffers( int fd ); extern int drmRadeonClear( int fd, unsigned int flags, unsigned int clear_color, unsigned int clear_depth, unsigned int color_mask, unsigned int stencil, void *boxes, int nbox ); extern int drmRadeonFlushVertexBuffer( int fd, int prim, int indx, int count, int discard ); extern int drmRadeonFlushIndices( int fd, int prim, int indx, int start, int end, int discard ); extern int drmRadeonLoadTexture( int fd, int offset, int pitch, int format, int width, int height, drmCompatRadeonTexImage *image ); extern int drmRadeonPolygonStipple( int fd, unsigned int *mask ); extern int drmRadeonFlushIndirectBuffer( int fd, int indx, int start, int end, int discard ); /* SiS */ extern Bool drmSiSAgpInit(int driSubFD, int offset, int size); /* I830 */ typedef struct { unsigned int start; unsigned int end; unsigned int size; unsigned int mmio_offset; unsigned int buffers_offset; int sarea_off; unsigned int front_offset; unsigned int back_offset; unsigned int depth_offset; unsigned int w; unsigned int h; unsigned int pitch; unsigned int pitch_bits; unsigned int cpp; } drmCompatI830Init; extern Bool drmI830CleanupDma(int driSubFD); extern Bool drmI830InitDma(int driSubFD, drmCompatI830Init *info ); #endif /* WARNING: Do not change, or add, anything to this file. It is only provided * for binary backwards compatability with the old driver specific DRM * extensions used before XFree86 4.3. */