Eric Anholt
2950f9e682
- Move IRQ functions from drm_dma.h to new drm_irq.h and disentangle them
...
from __HAVE_DMA. This will be useful for adding vblank sync support to
sis and tdfx. Rename dma_service to irq_handler, which is more
accurately what it is.
- Fix the #if _HAVE_DMA_IRQ in radeon, r128, mga, i810, i830, gamma to have
the right number of underscores. This may have been a problem in the
case that the server died without doing its DRM_IOCTL_CONTROL to
uninit.
2003-10-17 05:13:48 +00:00
Eric Anholt
ff58476011
- Converted Linux drivers to initialize DRM instances based on PCI IDs, not
...
just a single instance. Moved the PCI ID lists from <card>_drv.c in BSD
to <card>.h. The PCI ID lists include a driver private field, which may
be used by drivers for chip family or other information. Based on work
by jonsmirl.
- Make tdfx_drv.c and tdfx.h match other drivers.
- Fixed up linking of sis shared files.
Tested with Radeon and SiS on Linux and FreeBSD, including a Linux setup
with
2 SiS cards in a machine, but only one head being used (with DRI)
2003-10-17 03:14:39 +00:00
Michel Daenzer
355b204de0
Introduce COMMIT_RING() as in radeon DRM, stop using error prone writeback
...
for ring read pointer (Paul Mackerras)
Get rid of some superfluous stuff, minor fixes
2003-10-16 14:18:52 +00:00
Eric Anholt
a64dab1323
Try that again. It's a long.
2003-10-16 03:20:03 +00:00
Eric Anholt
a9e1a57d6d
Debug printf format fix.
2003-10-16 03:19:06 +00:00
Alan Hourihane
85c16d962d
resolve merge conflicts
2003-09-12 14:24:17 +00:00
Eric Anholt
4d6d357202
Correct format in debug printfs (free is a pointer, not an int).
2003-09-07 23:56:20 +00:00
Eric Anholt
fabc64dd57
Port the SiS DRM to FreeBSD. This includes the ability for the DRM to
...
allocate framebuffer memory without sisfb, and a new ioctl to be used
by the X Server which tells the DRM what region of framebuffer memory
to allocate from. Also fixes a possibility to panic the kernel I
believe. Tested on linux with sisfb and FreeBSD (without sisfb) with
new DRI only.
2003-08-29 19:24:36 +00:00
Michel Daenzer
062751ac47
Remove artificial PCI GART limitations, rename AGP to GART where
...
appropriate
2003-08-26 15:44:01 +00:00
Michel Daenzer
07a9b30082
Clean up Radeon DRI resume code
2003-08-18 23:46:19 +00:00
Eric Anholt
0f094c33da
Make r128_do_wait_for_idle static, as it's only used in this file.
...
Noticed by: CScout
2003-08-18 23:42:16 +00:00
Eric Anholt
6298d1a1e0
Remove an unnecessary #define __NO_VERSION__
...
Noticed by: CScout
2003-08-18 23:41:05 +00:00
Eric Anholt
03e6674c13
Whitespace cleanup from the pageflipping commit.
2003-08-12 21:48:16 +00:00
Ian Romanick
c99acb597f
Added some information as to when (which DRM version) various queries were
...
added.
2003-08-08 21:06:44 +00:00
Michel Daenzer
4b60cae90e
IRQ code cleanup suggested by Linus Torvalds
...
i830 build fix
2003-07-29 10:11:48 +00:00
Michel Daenzer
c26ffeafca
Degrade uninformative error message to debug message, as in other drivers
2003-07-26 15:59:09 +00:00
Eric Anholt
aaf2105be9
Add Rage 128 pageflipping support, defaults to off. DRM version bump to
...
2.5.0. It still has some issues, including a flicker in the fps meter
in tuxracer and I've seen garbage left behind after moving/closing
windows. However, it's usable. Add the Option "EnablePageFlip" "YES" to
use it.
2003-07-26 03:25:40 +00:00
Michel Daenzer
bef7017749
Compile fixes for recent 2.5/2.6 Linux kernels. I hope this doesn't break
...
the i830 driver or the BSDs. :)
2003-07-25 10:50:39 +00:00
Keith Whitwell
9e7d6177d1
Possibly fix stanford checker complaints about sarea
2003-06-16 10:40:52 +00:00
Keith Whitwell
0b01c70d59
Texture rectangle support for r100
2003-06-10 18:54:17 +00:00
Keith Whitwell
98840144b1
Revert bogus last commit
2003-06-09 23:12:33 +00:00
Keith Whitwell
1062b9930f
Don't activate blend fallbacks unless blending is enabled
2003-06-09 23:11:23 +00:00
Leif Delgass
518db771de
Restore change to _DRM_VBLANK_SIGNAL from rev. 1.41, which was reverted
...
with the documentation merge.
2003-05-28 02:03:37 +00:00
Jose Fonseca
d2443b2186
Merged DRM documentation.
2003-05-27 00:37:33 +00:00
Leif Delgass
aeb4bc3f5b
Add support to r128 for MESA_ycbcr_texture (Ian Romanick, Leif Delgass)
2003-05-26 20:04:53 +00:00
David Dawes
c0efa1a777
DRM part of Radeon DRI suspend/resume support (Charl Botha).
2003-05-20 22:43:39 +00:00
David Dawes
2134577e31
Support for building DRM module on OpenBSD (Wilbern Cobb, Matthieu Herrb).
...
(resync with XFree86 trunk)
2003-05-20 22:42:24 +00:00
Michel Daenzer
e5d3c7f260
Support AGP bridges where the AGP aperture can't be accessed directly by
...
the CPU (David Mosberger, Benjamin Herrenschmidt, myself, Paul
Mackerras, Jeff Wiedemeier)
2003-05-16 23:41:27 +00:00
Michel Daenzer
1d5bf7a7de
fix warning on machines where sizeof(drm_addr_t) != 4 (Randy Dunlap)
2003-05-06 21:10:33 +00:00
Ian Romanick
285b1cdc39
Merged texmem-0-0-1
2003-04-30 01:51:00 +00:00
Eric Anholt
766a1da2e5
Remove the map argument from DRM_*MEMORYBARRIER. Not all of the uses of
...
DRM_*MEMORYBARRIER we had were related to an MMIO space. This means
arch-specific code on the BSDs, unfortunately. Also add
DRM_MEMORYBARRIER() and change the DRM_READMEMORYBARRIER()s that used
to be read/write barriers to it.
2003-04-26 23:32:00 +00:00
Leif Delgass
f2a0c5438d
Ensure driver has been initialized (dev_private != NULL) before installing
...
irq handler in DRM(irq_install). Modify all drivers to ensure irq
handler is removed before cleanup and cleanup is called at takedown.
Remove unused buffer private struct fields in i810, i830. Check for
lock on init/cleanup in all drivers except i810/i830. The current DDX
for i810 and i830 doesn't hold the lock on kernel init (FIXME?).
2003-04-26 22:28:56 +00:00
Michel Daenzer
d5db1144dd
get rid of superfluous fields in struct drm_radeon_ring_buffer
...
use correct address for ring read pointer writeback (yes, we seem to have
been running with bogus values for the ring read pointer, which
'worked' because the return value of radeon_wait_ring() is never
checked and the ring usually never fills up)
2003-04-22 21:45:06 +00:00
Leif Delgass
5ee61c18f4
Remove AGP dependency in kernel config for radeon, sis. Remove
...
PCIGART_ENABLED define for radeon, pcigart support now included for any
arch.
2003-04-22 21:30:24 +00:00
Keith Whitwell
13211ad82c
add more get_param queries for embedded project
2003-04-22 09:49:14 +00:00
Leif Delgass
46e06192a8
Check for NULL map before calling DRM(ioremapfree) on cleanup. Prevents an
...
oops if a map wasn't found (e.g. XFree86 Bugzilla #108 )
2003-04-21 16:07:17 +00:00
Eric Anholt
e27d2f8c7c
buf->filp is a pointer, so make printf format args be %p not %d
2003-03-29 03:30:21 +00:00
Keith Whitwell
1728bc637d
merged drm-filp-0-1-branch
2003-03-28 14:27:37 +00:00
Alan Hourihane
c14006ba9f
XFree86 4.3.0 merge
2003-03-25 00:29:14 +00:00
Keith Whitwell
51e5f73d2a
DRM_FREE/2 patch from Philip Brown
2003-03-04 11:41:12 +00:00
Eric Anholt
cfa778af9c
Merge from bsd-4-0-0-branch.
2003-02-21 23:23:09 +00:00
Michel Daenzer
fac2ed4d10
fix EAGAIN handling in radeon_cp_dispatch_texture() (fixes corruption of
...
large textures), and get rid of superfluous local y variable
2003-02-06 18:20:00 +00:00
Michel Daenzer
73bf29a6c1
fix PCI and AGP posting problems (based on testing by Chris Ison and
...
suggestions by Benjamin Herrenschmidt and Arjan van de Ven)
remove radeon_flush_write_combine() which has been unused for a while
2003-02-04 19:20:18 +00:00
Michel Daenzer
f13af50838
only acknowledge interrupts we handle - others could be used outside the
...
DRM
2003-02-04 15:56:37 +00:00
Keith Whitwell
f3751850c8
Fix size of VERTEX2 ioctl struct (Egbert Eich)
2003-02-03 14:30:32 +00:00
Leif Delgass
9b9b099471
Add cast to avoid void * arithmetic warning
2003-01-26 22:25:35 +00:00
Eric Anholt
77ea378b09
Fix radeon for BSD.
2003-01-16 06:20:44 +00:00
Keith Whitwell
a1fc6af2d8
Note that radeon_do_cp_idle() can fail, cope with it.
2003-01-10 17:04:21 +00:00
Rik Faith
4b3051d3f6
[TRIVIAL] [TRIVIAL PATCH 2.5.48] Remove unused function from radeon_mem.c
...
Submitted by Rusty Trivial Russell
2003-01-06 07:38:25 +00:00
Keith Whitwell
320802ebc1
more cleanups, free mem heap data on last client exit
2003-01-03 11:22:23 +00:00
Keith Whitwell
14e831baf4
Remove printk
2003-01-02 18:41:02 +00:00
Keith Whitwell
208c0779b6
Make the radeon drm module better at cleaning up after itself if all the
...
clients (particularly the X server) exit without doing so for it.
2003-01-02 18:38:07 +00:00
David Dawes
05f761fa4f
enums should be ints
2002-12-12 22:20:30 +00:00
Keith Whitwell
b03fa556b2
Rewrite radeon_cp_dispatch_texture() to avoid pingponging back to userspace
...
when issue large (multi-buffer) uploads.
2002-12-06 12:22:43 +00:00
Michel Daenzer
85025d4f2a
further vertical blank interrupt cleanups: remove unused variable,
...
non-ambiguous variable names, don't express subtraction in
unnecessarily complicated ways
2002-12-04 15:39:53 +00:00
Michel Daenzer
4acba63bb7
vertical blank interrupt cleanups: use spinlock instead of semaphore, send
...
signal directly from interrupt handler instead of using a taskqueue
(based on feedback by Linus Torvalds)
2002-12-03 00:43:47 +00:00
Michel Daenzer
40891ac190
vertical blank ioctl can send signal instead of blocking
2002-11-30 14:24:07 +00:00
Keith Whitwell
a654424ca1
Silence the radeon_freelist_get 'returning NULL' message. It's not an error
...
& just confuses people.
2002-11-25 09:34:47 +00:00
Eric Anholt
e656655a36
Kernel support for vblank syncing on Rage 128 and Matrox.
2002-10-30 06:10:34 +00:00
Jens Owen
344c7f6b41
updated e-mail addresses for Keith, Alan and Jens
2002-10-29 20:29:05 +00:00
Michel Daenzer
5e1b8ed88a
preserve CRTC{,2}_OFFSET_CNTL in 2D driver to avoid bad effects when
...
pageflipping after a mode switch
take current page into account in AdjustFrame(); writing the CRTC offset
via the CP was probably a bad idea as this can happen asynchronously,
reverted
take frame offset into account when flipping pages
handle CRTC2 as well for pageflipping (untested)
preserve GEN_INT_CNTL on mode switches to prevent interrupts from getting
disabled
2002-10-29 13:49:26 +00:00
Brian Paul
ff25e7016c
merge from mesa-4-1-branch to get cube-map registers. bumped version to 1.7
2002-10-28 19:05:40 +00:00
Eric Anholt
516392beff
s/udelay/DRM_UDELAY/
2002-10-27 05:25:50 +00:00
Keith Whitwell
3d69766ea6
Jonny Strom's mga_dma.c patch
2002-10-10 08:25:40 +00:00
Keith Whitwell
381e0fe7f8
Free correct block in free_block (K. Rasche)
2002-10-02 07:55:27 +00:00
Michel Daenzer
8c14585fc3
fix wait condition for vertical blank IRQs
2002-10-01 17:31:20 +00:00
Keith Whitwell
899df4f530
Turn boxes off again
2002-09-29 21:22:01 +00:00
Keith Whitwell
9243e642da
Move os-dependent stuff out of radeon_irq.c
2002-09-29 21:19:01 +00:00
Eric Anholt
e6901cad69
Fix up BSD irq handling.
2002-09-29 20:48:18 +00:00
Michel Daenzer
a33d42e2ba
make SW interrupts more robust: write sequence number to scratch register,
...
acknowledge any lost interrupts before waiting
2002-09-27 21:47:52 +00:00
Michel Daenzer
cc9a169d08
DRM(vblank_wait) is driver specific
2002-09-26 12:49:18 +00:00
Eric Anholt
97961e2c65
BSD vblank framework.
2002-09-26 07:45:07 +00:00
Michel Daenzer
f40674ea9f
change RADEON_PARAM_IRQ_ACTIVE to RADEON_PARAM_IRQ_NR
2002-09-25 19:48:51 +00:00
Michel Daenzer
55acd0d5a6
common ioctl to wait for vertical blank IRQs
2002-09-25 17:18:19 +00:00
Keith Whitwell
f1c8fe9557
merged r200-0-2-branch to trunk
2002-09-23 17:26:43 +00:00
Keith Whitwell
4fcde1efc1
standardize use of __FUNCTION__ (Linus)
2002-08-29 07:34:49 +00:00
Keith Whitwell
22c1ca1fd5
Turn boxes off.
2002-08-28 08:47:39 +00:00
Keith Whitwell
48cc350e21
merged r200-0-1-branch
2002-08-26 22:16:18 +00:00
Michel Daenzer
3165128fc4
TRUE and FALSE don't seem to be defined everywhere...
2002-08-21 00:09:32 +00:00
Keith Whitwell
33d57137da
zero-cliprect case patch from Jacek
2002-08-12 07:26:00 +00:00
Michel Daenzer
d0ac4e5ad0
test scratch register writeback before using it
2002-08-11 15:56:44 +00:00
Rik Faith
977b420d5d
Updates from Rusty Russell to:
...
1) Remove redundant header inclusion
2) Silence bitop on non-long argument warnings (change int to long)
3) Move to ISO C (gcc 2.6) initializers (accepted by older gccs also) All
of these are syntax changes that should not impact functionality.
2002-08-06 18:00:57 +00:00
Michel Daenzer
881a9b214d
fix off-by-one error for right bottom corner in radeon_emit_clip_rect()
...
(Jacek Rosik)
2002-07-18 23:17:13 +00:00
Tim Smith
8fa8db126a
Workaround for Radeon lockups on fast machines
2002-07-17 08:30:36 +00:00
Michel Daenzer
fd86ac9561
Don't read scratch registers directly, obtain the values via the GET_PARAM
...
ioctl. The DRM reads them from memory addresses the chip writes to on
updates. Fall back to reading the registers directly with an old DRM.
(Tim Smith, cleanups by myself)
2002-07-11 20:31:12 +00:00
Alan Hourihane
74ef13fd00
merged bsd-3-0-0-branch
2002-07-05 08:31:11 +00:00
Keith Whitwell
2dcada361d
merged tcl-0-0-branch
2002-06-12 15:50:28 +00:00
Jens Owen
3903e5ac94
Merged drmcommand-0-0-1
2002-04-09 21:54:56 +00:00
David Dawes
ab87c5d0d1
First pass of mesa-4-0 branch merge into trunk.
2002-02-14 02:00:26 +00:00
David Dawes
44aa4d6297
First pass merge of XFree86 4.2.0 import.
2002-01-27 20:05:42 +00:00
Jeff Hartmann
4eafeec960
Add module version name at a lower layer of the code, allows things to be
...
more flexible and allow older module versions to still work. Might not
be final code if we move over to DRI kernel module version, but will be
if we use XFree86 version. + Only build tdfx.o instead of tdfx-4_1_0.o
since tdfx.o has never changed its API.
2001-07-18 21:02:58 +00:00
Jeff Hartmann
d5749d7603
Added version string to the end of the kernel module name. This allows
...
multiple versions of the kernel module to co-exist on one machine.
2001-07-16 22:42:36 +00:00
Gareth Hughes
7ccc528911
Fix typo in XFREE86_VERSION().
2001-07-13 01:42:48 +00:00
David Dawes
d87c873df0
First pass of 4.1.0 merge.
2001-06-14 22:23:44 +00:00
Alan Hourihane
18ce40c9d3
Make the SiS module work again. At least glxinfo reports it's working, yet
...
trying to run the simple apps return 'out of video memory'
2001-05-17 15:20:40 +00:00
Alan Hourihane
94c6d951a2
Make SiS driver compile with the new templated format. Not tested. minor
...
cleanups
2001-05-03 14:51:01 +00:00
Kevin E Martin
5d6ddbca26
Merged ati-pcigart-1-0-0
2001-04-05 22:16:12 +00:00
David Dawes
301a1ad315
Move #include <linux/config.h> inside the __linux__ #ifdef, so that it
...
doesn't break non-Linux builds.
2001-03-21 20:22:16 +00:00
Kevin E Martin
74e19a4018
Merged sarea-1-0-0
2001-03-14 22:22:50 +00:00
Gareth Hughes
3a74d3a371
Merge tdfx-3-1-0 branch.
2001-03-06 04:37:37 +00:00
Rik Faith
88dbee54ed
Implement drmOpen* without /proc dependence (Fallback to /proc is included
...
for backward compatibility.) Move statistic-gathering drm* calls from
dristat.c to xf86drm.c
2001-02-28 09:27:44 +00:00
Gareth Hughes
360475376c
Merge mga-1-0-0-branch into trunk.
2001-02-15 08:12:14 +00:00
Kevin E Martin
0994e635b2
Merged ati-5-0-0
2001-01-05 22:57:55 +00:00
Rik Faith
833af23c5d
Sync with Linux 2.4.0-prerelease
2001-01-04 18:41:41 +00:00
Keith Whitwell
c7c6156aec
add blit ioctl, fix plnwt handling
2000-12-30 23:28:53 +00:00
Gareth Hughes
e15a24e154
Merged ati-4-1-1-branch into trunk.
2000-12-02 06:14:18 +00:00
David Dawes
94071289a4
merge with 4.0.1d
2000-11-08 00:07:17 +00:00
Rik Faith
52f0bc3c9e
More changes for sync with Linux 2.4.0-test9-pre7
2000-09-29 02:05:41 +00:00
Rik Faith
39a659e877
Audit calls to schedule() Remove tags from files shared with Linux kernel
...
tree Remove debugging statements to make debugging more useful Other
minor cleanups in preparation for sync with Linux 2.4.0-test9-pre7
2000-09-29 01:47:11 +00:00
Alan Hourihane
c7558d8fa4
commit xfree86 4.0.1d-pre update
2000-09-24 09:34:10 +00:00
Brian Paul
7b888f87fa
applied Jeff's xf86cvs-I810copy.patch
2000-07-13 18:47:48 +00:00
Doug Rabson
d399dbcd56
Merged bsd-1-0-1
2000-06-13 17:38:09 +00:00
Rik Faith
2fbd4bf018
Unify code with kernel: Change some spacing in comments Add #include
...
<linux/config.h> to all *_drv.c files
2000-06-13 14:34:13 +00:00
Gareth Hughes
d5348efe25
Merging the ati-4-1-0 branch onto the trunk.
2000-06-12 15:47:31 +00:00
Brian Paul
569da5a42e
Merged glxmisc-3-0-0
2000-06-08 14:38:22 +00:00
Doug Rabson
fa0a35a25f
Merged bsd-1-0-0
2000-05-30 17:13:31 +00:00
Keith Whitwell
ddcb28259f
Merged mga-0-0-3-branch
...
- New security model for i810
- Enable i810 dri by default
- New indexed vertex path for mga
- Mga kernel driver rework
- Removed dead files in i810 driver
2000-05-25 21:06:02 +00:00
Kevin E Martin
99efe3c247
Merged ati-4-0-1
2000-05-18 06:14:27 +00:00
Jeff Hartmann
ba1b1ae380
Merged mga branch with trunk
2000-04-04 22:08:14 +00:00
Jeff Hartmann
5bd8014f27
Merge with 4.0
2000-03-16 03:37:30 +00:00
Kevin E Martin
7a9b291ab5
Import of XFree86 3.9.18
2000-02-22 15:43:59 +00:00
Rik Faith
1c33c69095
Import of XFree86 3.9.17
2000-01-06 12:55:00 +00:00
Daryll Strauss
e1dba5c3a7
Move Mesa to xc/extras Update to the latest Mesa 3.2 code Fix the Q3Demo
...
bugs (white railgun and texture mapping) Simplify driver texture
mapping routines Fix device driver for 2.3 kernels Improve performance
1999-12-07 03:37:16 +00:00
Daryll Strauss
b6a28bfe98
First DRI release of 3dfx driver.
1999-12-05 23:10:37 +00:00