summaryrefslogtreecommitdiff
path: root/linux
AgeCommit message (Collapse)Author
2001-04-09Import -f XFree86 4.0.99.2David Dawes
2001-04-06- Fix typoKevin E Martin
- Clean up some macros
2001-04-06search /lib/modules/<version>/build/include first, then the others....Alan Hourihane
2001-04-06Handle drivers that don't have __HAVE_SG defined.Alan Hourihane
2001-04-05Merged ati-pcigart-1-0-0Kevin E Martin
2001-04-03include 2.4.2Alan Hourihane
2001-04-03make 2.4.2 -> 2.4.3 change conditional. works with older than 2.4.3 kernelsAlan Hourihane
again.
2001-04-02Update radeon DRM to v1.1.0 (texture upload changes).Gareth Hughes
2001-03-30merge in 2.4.3 kernel change.Alan Hourihane
2001-03-21Move #include <linux/config.h> inside the __linux__ #ifdef, so that itDavid Dawes
doesn't break non-Linux builds.
2001-03-21- Fix MGA header info.Gareth Hughes
- Update date strings. - Fix MGA hangs (undocumented side effects of DWGSYNC). - Remove idle before ILOAD??? Seems fine with the above fix.
2001-03-21Remove compiler warnings, minor cleanups.Gareth Hughes
2001-03-19merge/build fixDavid Dawes
2001-03-19Initial XFree86 4.0.99.1 merge.David Dawes
2001-03-19Import of XFree86 4.0.99.1David Dawes
2001-03-19Update version, date stamp.Gareth Hughes
2001-03-19Remove PRIMPTR completely.Gareth Hughes
2001-03-19Try this...Gareth Hughes
2001-03-18__REALLY_HAVE_MTRR, vmalloc_32 fixes from Jeff Wiedemeier.Gareth Hughes
2001-03-14Merged sarea-1-0-0Kevin E Martin
2001-03-12Try that again...Gareth Hughes
2001-03-08Fix ring space calculations, tests. Based on patch by Bruce Stockwell.Gareth Hughes
2001-03-07Change error message to debug message when client dies while holding theGareth Hughes
lock. Should prevent bug reports about this, but you never know...
2001-03-07surround agp calls in drm_memory with __REALLY_HAVE_AGP instead ofAlan Hourihane
CONFIG_... remove include for agpsupport in tdfx_drv.c - not needed.
2001-03-06Merge tdfx-3-1-0 branch.Gareth Hughes
2001-03-05allow dristat to find out whether AGP is write-combined or not.Alan Hourihane
2001-03-05fix that last patch to initialize the MTRR when AGP available.Alan Hourihane
2001-03-04Don't try and setup the MTRR for AGP when AGP not available. CheckAlan Hourihane
dev->agp, when agp_acquire called, and..... Uncomment MUST_HAVE_AGP around agp_* calls, so that support for both agp/pci can happen in a single kernel driver.
2001-02-28Make the hardware bug workaround configurable. That way, people with newerGareth Hughes
revs of the chipset can avoid the copy when it's not needed.
2001-02-28Please try this if you experience lockups...Gareth Hughes
2001-02-28Implement drmOpen* without /proc dependence (Fallback to /proc is includedRik Faith
for backward compatibility.) Move statistic-gathering drm* calls from dristat.c to xf86drm.c
2001-02-21Add Linux 2.2.x support for stubsRik Faith
2001-02-20Fix some warnings and flush pixel cache in idle routine so readpixels worksJeff Hartmann
correctly
2001-02-20Disable DRIVER_DMA_QUIESCENT() in r128, radeon drivers. Prevents deadlockGareth Hughes
in the locking process when the engine isn't idle.
2001-02-16- Clean up the way customization of the templates is done.Gareth Hughes
- Fix old-style DMA for gamma driver (please test). - Pull out IRQ handling into drm_dma.h (please test on i810, gamma). - Lots of general cleanups, remove compiler warnings etc.
2001-02-15Added missing include "drm_lists.h".Keith Whitwell
i810 now working fine with new kernel module.
2001-02-15- Fix up merge.Gareth Hughes
- Update date stamps.
2001-02-15Merge mga-1-0-0-branch into trunk.Gareth Hughes
2001-01-29Corresponding sync with PCI GART updates.Gareth Hughes
2001-01-28Fix depth clears properly this time. Update all instances ofGareth Hughes
drmRadeonClear() to the new interface.
2001-01-26Client-side updates for drmRadeonClear(...), fixes color/depth bufferGareth Hughes
clears.
2001-01-24- Misc cleanups.Gareth Hughes
- Fix drmR128Clear parameters (Radeon to follow). - Add some helper macros to r128/radeon kernel modules.
2001-01-18Fixed problem preventing compile on system w/o agpgart.Jeff Hartmann
2001-01-13Remove debug messages.Gareth Hughes
2001-01-11Makefile.linux was checking $(MACHINE) for 'i386' before building theKeith Whitwell
i810.o module. However on my i810's, $(MACHINE) is 'i686'.
2001-01-08Merged tdfx-3-0-0Nathan Hand
2001-01-05Merged ati-5-0-0Kevin E Martin
2001-01-04Sync with Linux 2.4.0-prereleaseRik Faith
2000-12-30add blit ioctl, fix plnwt handlingKeith Whitwell
2000-12-15Update date information.Gareth Hughes
">unsigned int dp_write_mask; unsigned int sten_ref_mask_c; unsigned int plane_3d_mask_c; /* Window state */ unsigned int window_xy_offset; /* Core state */ unsigned int scale_3d_cntl; } drm_r128_context_regs_t; /* Setup registers for each texture unit */ typedef struct { unsigned int tex_cntl; unsigned int tex_combine_cntl; unsigned int tex_size_pitch; unsigned int tex_offset[R128_MAX_TEXTURE_LEVELS]; unsigned int tex_border_color; } drm_r128_texture_regs_t; typedef struct drm_r128_sarea { /* The channel for communication of state information to the kernel * on firing a vertex buffer. */ drm_r128_context_regs_t context_state; drm_r128_texture_regs_t tex_state[R128_MAX_TEXTURE_UNITS]; unsigned int dirty; unsigned int vertsize; unsigned int vc_format; /* The current cliprects, or a subset thereof. */ drm_clip_rect_t boxes[R128_NR_SAREA_CLIPRECTS]; unsigned int nbox; /* Counters for client-side throttling of rendering clients. */ unsigned int last_frame; unsigned int last_dispatch; drm_tex_region_t tex_list[R128_NR_TEX_HEAPS][R128_NR_TEX_REGIONS + 1]; unsigned int tex_age[R128_NR_TEX_HEAPS]; int ctx_owner; int pfAllowPageFlip; /* number of 3d windows (0,1,2 or more) */ int pfCurrentPage; /* which buffer is being displayed? */ } drm_r128_sarea_t; /* WARNING: If you change any of these defines, make sure to change the * defines in the Xserver file (xf86drmR128.h) */ /* Rage 128 specific ioctls * The device specific ioctl range is 0x40 to 0x79. */ #define DRM_R128_INIT 0x00 #define DRM_R128_CCE_START 0x01 #define DRM_R128_CCE_STOP 0x02 #define DRM_R128_CCE_RESET 0x03 #define DRM_R128_CCE_IDLE 0x04 /* 0x05 not used */ #define DRM_R128_RESET 0x06 #define DRM_R128_SWAP 0x07 #define DRM_R128_CLEAR 0x08 #define DRM_R128_VERTEX 0x09 #define DRM_R128_INDICES 0x0a #define DRM_R128_BLIT 0x0b #define DRM_R128_DEPTH 0x0c #define DRM_R128_STIPPLE 0x0d /* 0x0e not used */ #define DRM_R128_INDIRECT 0x0f #define DRM_R128_FULLSCREEN 0x10 #define DRM_R128_CLEAR2 0x11 #define DRM_R128_GETPARAM 0x12 #define DRM_R128_FLIP 0x13 #define DRM_IOCTL_R128_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_R128_INIT, drm_r128_init_t) #define DRM_IOCTL_R128_CCE_START DRM_IO( DRM_COMMAND_BASE + DRM_R128_CCE_START) #define DRM_IOCTL_R128_CCE_STOP DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CCE_STOP, drm_r128_cce_stop_t) #define DRM_IOCTL_R128_CCE_RESET DRM_IO( DRM_COMMAND_BASE + DRM_R128_CCE_RESET) #define DRM_IOCTL_R128_CCE_IDLE DRM_IO( DRM_COMMAND_BASE + DRM_R128_CCE_IDLE) /* 0x05 not used */ #define DRM_IOCTL_R128_RESET DRM_IO( DRM_COMMAND_BASE + DRM_R128_RESET) #define DRM_IOCTL_R128_SWAP DRM_IO( DRM_COMMAND_BASE + DRM_R128_SWAP) #define DRM_IOCTL_R128_CLEAR DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CLEAR, drm_r128_clear_t) #define DRM_IOCTL_R128_VERTEX DRM_IOW( DRM_COMMAND_BASE + DRM_R128_VERTEX, drm_r128_vertex_t) #define DRM_IOCTL_R128_INDICES DRM_IOW( DRM_COMMAND_BASE + DRM_R128_INDICES, drm_r128_indices_t) #define DRM_IOCTL_R128_BLIT DRM_IOW( DRM_COMMAND_BASE + DRM_R128_BLIT, drm_r128_blit_t) #define DRM_IOCTL_R128_DEPTH DRM_IOW( DRM_COMMAND_BASE + DRM_R128_DEPTH, drm_r128_depth_t) #define DRM_IOCTL_R128_STIPPLE DRM_IOW( DRM_COMMAND_BASE + DRM_R128_STIPPLE, drm_r128_stipple_t) /* 0x0e not used */ #define DRM_IOCTL_R128_INDIRECT DRM_IOWR(DRM_COMMAND_BASE + DRM_R128_INDIRECT, drm_r128_indirect_t) #define DRM_IOCTL_R128_FULLSCREEN DRM_IOW( DRM_COMMAND_BASE + DRM_R128_FULLSCREEN, drm_r128_fullscreen_t) #define DRM_IOCTL_R128_CLEAR2 DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CLEAR2, drm_r128_clear2_t) #define DRM_IOCTL_R128_GETPARAM DRM_IOWR( DRM_COMMAND_BASE + DRM_R128_GETPARAM, drm_r128_getparam_t) #define DRM_IOCTL_R128_FLIP DRM_IO( DRM_COMMAND_BASE + DRM_R128_FLIP) typedef struct drm_r128_init { enum { R128_INIT_CCE = 0x01, R128_CLEANUP_CCE = 0x02 } func; #if CONFIG_XFREE86_VERSION < XFREE86_VERSION(4,1,0,0) int sarea_priv_offset; #else unsigned long sarea_priv_offset; #endif 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; #if CONFIG_XFREE86_VERSION < XFREE86_VERSION(4,1,0,0) unsigned int fb_offset; unsigned int mmio_offset; unsigned int ring_offset; unsigned int ring_rptr_offset; unsigned int buffers_offset; unsigned int agp_textures_offset; #else 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; #endif } drm_r128_init_t; typedef struct drm_r128_cce_stop { int flush; int idle; } drm_r128_cce_stop_t; typedef struct drm_r128_clear { unsigned int flags; #if CONFIG_XFREE86_VERSION < XFREE86_VERSION(4,1,0,0) int x, y, w, h; #endif unsigned int clear_color; unsigned int clear_depth; #if CONFIG_XFREE86_VERSION >= XFREE86_VERSION(4,1,0,0) unsigned int color_mask; unsigned int depth_mask; #endif } drm_r128_clear_t; typedef struct drm_r128_vertex { int prim; int idx; /* Index of vertex buffer */ int count; /* Number of vertices in buffer */ int discard; /* Client finished with buffer? */ } drm_r128_vertex_t; typedef struct drm_r128_indices { int prim; int idx; int start; int end; int discard; /* Client finished with buffer? */ } drm_r128_indices_t; typedef struct drm_r128_blit { int idx; int pitch; int offset; int format; unsigned short x, y; unsigned short width, height; } drm_r128_blit_t; typedef struct drm_r128_depth { enum { R128_WRITE_SPAN = 0x01, R128_WRITE_PIXELS = 0x02, R128_READ_SPAN = 0x03, R128_READ_PIXELS = 0x04 } func; int n; int __user *x; int __user *y; unsigned int __user *buffer; unsigned char __user *mask; } drm_r128_depth_t; typedef struct drm_r128_stipple { unsigned int __user *mask; } drm_r128_stipple_t; typedef struct drm_r128_indirect { int idx; int start; int end; int discard; } drm_r128_indirect_t; typedef struct drm_r128_fullscreen { enum { R128_INIT_FULLSCREEN = 0x01, R128_CLEANUP_FULLSCREEN = 0x02 } func; } drm_r128_fullscreen_t; /* 2.3: An ioctl to get parameters that aren't available to the 3d * client any other way. */ #define R128_PARAM_IRQ_NR 1 typedef struct drm_r128_getparam { int param; void __user *value; } drm_r128_getparam_t; #endif