summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2003-01-16Fix radeon for BSD.Eric Anholt
2003-01-11limit number of pending vblank signals to 100 to prevent DoS, and minorMichel Daenzer
2003-01-11file agp_30_symbols.h was initially added on branch agpgart_2_0_branch.Jeff Hartmann
2003-01-10Note that radeon_do_cp_idle() can fail, cope with it.Keith Whitwell
2003-01-06[TRIVIAL] [TRIVIAL PATCH 2.5.48] Remove unused function from radeon_mem.cRik Faith
2003-01-03more cleanups, free mem heap data on last client exitKeith Whitwell
2003-01-02Bump radeon drm version nr on recent interface relaxationKeith Whitwell
2003-01-02Remove printkKeith Whitwell
2003-01-02Make the radeon drm module better at cleaning up after itself if all theKeith Whitwell
2002-12-16file i830_irq.c was initially added on branch mesa-4-0-4-branch.David Dawes
2002-12-12enums should be intsDavid Dawes
2002-12-12bring in jantorial changes from 2.5.51Keith Whitwell
2002-12-11remove agpgart informationalKeith Whitwell
2002-12-06Rewrite radeon_cp_dispatch_texture() to avoid pingponging back to userspaceKeith Whitwell
2002-12-06Add vblank signal code for BSD DRM. Untested so far, but working with aEric Anholt
2002-12-04further vertical blank interrupt cleanups: remove unused variable,Michel Daenzer
2002-12-03vertical blank interrupt cleanups: use spinlock instead of semaphore, sendMichel Daenzer
2002-11-30vertical blank ioctl can send signal instead of blockingMichel Daenzer
2002-11-25added missing return fd (Alexander Stohr)Brian Paul
2002-11-25Silence the radeon_freelist_get 'returning NULL' message. It's not an errorKeith Whitwell
2002-11-23allow unprivileged clients to use the GETPARAM ioctl (Wang WenRui)Michel Daenzer
2002-10-30Kernel support for vblank syncing on Rage 128 and Matrox.Eric Anholt
2002-10-29updated e-mail addresses for Keith, Alan and JensJens Owen
2002-10-29preserve CRTC{,2}_OFFSET_CNTL in 2D driver to avoid bad effects whenMichel Daenzer
2002-10-29Use bus_alloc_resource/bus_release_resource more properly: save the ridEric Anholt
2002-10-28merge from mesa-4-1-branch to get cube-map registers. bumped version to 1.7Brian Paul
2002-10-27s/udelay/DRM_UDELAY/Eric Anholt
2002-10-27Catch up to -current.Eric Anholt
2002-10-22final part of XFree86 4.2.99.2 mergeAlan Hourihane
2002-10-22Import of XFree86 4.2.99.2Alan Hourihane
2002-10-14Fix reversed test that broke vblank waiting on FreeBSD.Eric Anholt
2002-10-10Jonny Strom's mga_dma.c patchKeith Whitwell
2002-10-09replaced max() macro with conditional expressionBrian Paul
2002-10-08Fix error condition...Keith Whitwell
2002-10-08Call pci_enable_device() in DRM(irq_busid).Keith Whitwell
2002-10-02Free correct block in free_block (K. Rasche)Keith Whitwell
2002-10-01fix wait condition for vertical blank IRQsMichel Daenzer
2002-09-29Remove some noise being spit to the console.Eric Anholt
2002-09-29Make our set_bit and friends match linux better (cleans up some warnings)Eric Anholt
2002-09-29warnings cleanupEric Anholt
2002-09-29Fix some of my silliness in DRM_WAIT_ON (not returning EINTR).Eric Anholt
2002-09-29Turn boxes off againKeith Whitwell
2002-09-29Move os-dependent stuff out of radeon_irq.cKeith Whitwell
2002-09-29Fix up BSD irq handling.Eric Anholt
2002-09-29add support for 16K and 64K page sizes (Bjorn Helgaas)Michel Daenzer
2002-09-27make SW interrupts more robust: write sequence number to scratch register,Michel Daenzer
2002-09-26DRM(vblank_wait) is driver specificMichel Daenzer
2002-09-26BSD vblank framework.Eric Anholt
2002-09-26Fix one warning.Eric Anholt
2002-09-25change RADEON_PARAM_IRQ_ACTIVE to RADEON_PARAM_IRQ_NRMichel Daenzer
ockmeyer. In * "Technical Correspondence: Remarks on Choosing and Implementing Random * Number Generators". CACM 36(7), July 1993, pp. 105-110. * */ #define RANDOM_MAIN 0 #if RANDOM_MAIN # include <stdio.h> # include <stdlib.h> #else # include "xf86drm.h" # ifdef XFree86LOADER # include "xf86.h" # include "xf86_ansic.h" # else # include <stdio.h> # include <stdlib.h> # endif #endif #define N(x) drm##x #define RANDOM_MAGIC 0xfeedbeef #define RANDOM_DEBUG 0 #if RANDOM_MAIN #define RANDOM_ALLOC malloc #define RANDOM_FREE free #else #define RANDOM_ALLOC drmMalloc #define RANDOM_FREE drmFree #endif typedef struct RandomState { unsigned long magic; unsigned long a; unsigned long m; unsigned long q; /* m div a */ unsigned long r; /* m mod a */ unsigned long check; long seed; } RandomState; #if RANDOM_MAIN extern void *N(RandomCreate)(unsigned long seed); extern int N(RandomDestroy)(void *state); extern unsigned long N(Random)(void *state); extern double N(RandomDouble)(void *state); #endif void *N(RandomCreate)(unsigned long seed) { RandomState *state; state = RANDOM_ALLOC(sizeof(*state)); if (!state) return NULL; state->magic = RANDOM_MAGIC; #if 0 /* Park & Miller, October 1988 */ state->a = 16807; state->m = 2147483647; state->check = 1043618065; /* After 10000 iterations */ #else /* Park, Miller, and Stockmeyer, July 1993 */ state->a = 48271; state->m = 2147483647; state->check = 399268537; /* After 10000 iterations */ #endif state->q = state->m / state->a; state->r = state->m % state->a; state->seed = seed; /* Check for illegal boundary conditions, and choose closest legal value. */ if (state->seed <= 0) state->seed = 1; if (state->seed >= state->m) state->seed = state->m - 1; return state; } int N(RandomDestroy)(void *state) { RANDOM_FREE(state); return 0; } unsigned long N(Random)(void *state) { RandomState *s = (RandomState *)state; long hi; long lo; hi = s->seed / s->q; lo = s->seed % s->q; s->seed = s->a * lo - s->r * hi; if (s->seed <= 0) s->seed += s->m; return s->seed; } double N(RandomDouble)(void *state) { RandomState *s = (RandomState *)state; return (double)N(Random)(state)/(double)s->m; }