Thomas Hellstrom
270ca5f3ce
Via driver: Add missing drm_poll function to via driver in core.
2005-02-03 10:51:22 +00:00
Eric Anholt
7f7bbdcbed
Declare r128_do_cleanup_pageflip static since it's only used here and its
...
prototype went away.
2005-02-03 01:06:10 +00:00
Eric Anholt
ed31275144
Cast user data to correct type in radeon_surface_free's copyin.
2005-02-03 01:05:34 +00:00
Dave Airlie
0d6b7fcb79
cleanup patch from Adrian Bunk <bunk@stusta.de>
2005-02-01 11:08:31 +00:00
Dave Airlie
1dd948f280
make functions static in i915, remove unused functions
2005-02-01 10:43:42 +00:00
Thomas Hellstrom
cd9ef39c76
Fixed multiple devices DMA bug. Fixed PCI path FIRE command detection
2005-01-27 22:48:47 +00:00
Dave Airlie
77045dc516
fix incorrect PCI id for ATI radeon
2005-01-27 09:13:42 +00:00
Roland Scheidegger
43c3223de6
(Stephane Marchesin,me) Add radeon framebuffer tiling support to radeon
...
drm. Add new ioctls to manage surfaces which cover the tiled areas
2005-01-26 17:48:59 +00:00
Roland Scheidegger
408376b203
replace magic number with macro constant RADEON_ZBLOCK16
2005-01-26 14:19:24 +00:00
Felix Kuehling
39d5c831a0
Removed one bogus Savage3D PCI ID. Corrected another one. Restored
...
numerical ordering.
2005-01-20 23:33:24 +00:00
Adam Jackson
36ec8d82e7
Add a Savage3D PCI ID
2005-01-20 19:05:42 +00:00
Felix Kuehling
858e68fbdc
Corrected some confusion of vb_stride and vtx_size
...
Implemented SAVAGE_CMD_DMA_IDX and SAVAGE_CMD_VB_IDX for ELTs support in
the _savage_render_stage of the 3D driver
Bumped minor version and driver date
2005-01-20 12:23:25 +00:00
Jose Fonseca
d29e2369be
Some code commenting concerning the FIFO & DMA engine.
2005-01-17 21:46:32 +00:00
Dave Airlie
0867ce78f6
This table is in radeon_drv.h along with the version number so remove it
...
from here
2005-01-16 06:41:34 +00:00
Dave Airlie
354dd17d25
The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory
...
The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP
memory but uses video memory.
From: austinyuan@viatech.com.cn (fd.o bug 1668) Signed-off-by: Dave Airlie
<airlied@linux.ie>
2005-01-16 05:40:12 +00:00
Felix Kuehling
9514ee39f7
Fixed a bug that prevented the driver from ever emitting triangle strips or
...
fans. Bumped patchlevel and driver date.
2005-01-16 01:22:09 +00:00
Felix Kuehling
ffc51f1f32
Setup MTRRs for frame buffer and aperture manually on Savage3D and
...
Savage4-based cards. Automatic setup in drm_initmap doesn't work due to
the weird alignment and size of the aperture.
2005-01-15 16:55:01 +00:00
Felix Kuehling
17d893f567
Only try to find the agp_buffer_map if dma_type is AGP. This is all that's
...
needed on the DRM side to support PCI Savages. Bumped patch level and
driver date.
2005-01-10 22:46:02 +00:00
Felix Kuehling
d6af902ff7
Improved workaround for Savage3D DMA lockup to emit NOPs only before the
...
first indexed drawing command of a cmdbuf or if a wait command was
emitted since the last indexed drawing command.
2005-01-09 19:49:21 +00:00
Felix Kuehling
e7ba83bd6f
Fixed off-by-one error in savage_bci_wait_fifo_shadow.
2005-01-08 23:28:27 +00:00
Thomas Hellstrom
fb6a4d0a7d
via updates: moved the verifier state struct to dev_priv. Implemented AGP
...
alignment check.
2005-01-07 11:37:01 +00:00
Thomas Hellstrom
ca2b94cfa2
Updated via DRM with check for stray FIRE commands primitive list.
2005-01-07 08:21:29 +00:00
Alan Hourihane
fcece3cf34
Add i915GM support Add resume functionality (must be used with later DDX)
...
Bump to 1.2
2005-01-06 17:51:32 +00:00
Thomas Hellstrom
50a6ffa878
via DRM: Updated the verifier to check the vertex lists more thorough. This
...
should hopefully stop it from getting out of sync.
The PCI command parser is still not updated.
2005-01-06 15:53:38 +00:00
Felix Kuehling
ae1bc4a6da
3D scissor regs are now managed by the DRM to iterate over clip rects
...
passed to the cmdbuf ioctl (try xeyes on top of glxgears ;-)
Tightened the texture state check
Bumped Savage DRM version to 2.1.0 so that DRI driver can (theoretically)
depend on the DRM to manage the scissor registers
2005-01-05 23:45:42 +00:00
Thomas Hellstrom
4818014ab1
Bumped driver date and minor version.
2005-01-05 17:46:34 +00:00
Thomas Hellstrom
e34b560191
VIA update:
...
Release video futexes when context is destroyed (This was previously done
by the X server).
Added New Unichrome Pro VIDEO DMA commands to the verifier.
Added Quiescent heavyweight lock mode.
2005-01-05 17:44:43 +00:00
Felix Kuehling
094f02c568
Fixed the DMA buffer age test. Should fix occasional "soft" lockups. Bumped
...
patch level and driver date.
2005-01-05 14:34:12 +00:00
Felix Kuehling
04842e8bcf
Completeley rewritten Savage DRM which can be considered secure (modulo
...
implementation errors). Direct hardware (MMIO, BCI) access is no longer
needed in the Mesa driver. Bumped version to 2.0.0. Corresponding
changes to the DDX and Mesa drivers are being committed.
2005-01-01 20:22:58 +00:00
Felix Kuehling
ed165a2529
Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses
...
drm_pci_alloc/free for allocating/freeing the memory. Only implemented
in the Linux DRM so far.
2005-01-01 20:03:15 +00:00
Thomas Hellstrom
e19fa7ada1
VIA DRM: verifier: Added verbose palette error reporting, and support for
...
stipple palettes together with rudimentary checks for texture palette
sizes.
other: Bumped version patchlevel and driver date.
2004-12-31 11:44:27 +00:00
Thomas Hellstrom
590b230119
VIA DRM: Stability enhancements and cleanups in via_dma.c Added explicit
...
licence notice in via_dma.c
2004-12-31 11:27:57 +00:00
Thomas Hellstrom
02c35ec0a2
via DRM: Tightened the security for some functions of the
...
DRM_IOCTL_VIA_DMA_INIT IOCTL. Bumped patchlevel and driver date.
XFree86 bug: 2119
2004-12-21 17:13:22 +00:00
Keith Whitwell
47c178da08
Copy HC_ParaType_Auto change to shared-core. Bump version numbers and
...
dates.
2004-12-20 12:03:02 +00:00
Thomas Hellstrom
ae0db704b4
via changes: Fixed typecasting bug in via_dma.c, and possible short-circuit
...
bug in the cmdbuf_size ioctl. Modified ring-buffer jump code AGAIN, due
to new oddities discovered on the Unichrome Pro with faster processors.
Bumped patchlevel and driver date.
2004-12-19 19:13:47 +00:00
Thomas Hellstrom
aff0a25485
VIA drm updates:
...
1. Improved security check of AGP texture adresses.
2. Hopefully last fix of ring-buffer jump oddities.
3. Added ioctl to check available space and command regulator lag in
ring-buffer. This is needed for 3D application responsiveness.
2004-12-13 13:53:12 +00:00
Roland Scheidegger
c4a87c6883
(Stephane Marchesin, me) add hyperz support to radeon drm. Only fast z
...
clear and z buffer compression are working correctly, hierarchical-z is
not.
2004-12-08 16:43:00 +00:00
Thomas Hellstrom
1fbfd9eb32
Security and optimization fixes for the via drm:
...
1. The command verifier was never initialized in the non-core source tree.
2. Check added that the AGP ring buffer has been initialized before
accepting command buffer.
3. Free space check in the AGP buffer is moved to after command
verification, which is more optimal in most cases.
2004-12-06 11:19:23 +00:00
Thomas Hellstrom
267e064527
Added 3D functionality to the via command verifier. Modified the via
...
ring-buffer code somewhat to workaround hardware problems. Bumped via
minor version number.
2004-12-03 23:03:36 +00:00
Dave Airlie
f197110e07
Make 1-bit fields be unsigned (no sign bit :). sparse complains about them:
...
drivers/char/drm/sis_ds.h:88:12: warning: dubious one-bit signed
bitfield drivers/char/drm/sis_ds.h:89:16: warning: dubious one-bit
signed bitfield
Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Dave Airlie
<airlied@linux.ie>
2004-12-03 10:22:15 +00:00
Thomas Hellstrom
4f8fa60286
Reworked PCI MMIO command buffer parser, and imported code from the Mesa
...
driver. It can now handle the 3D OpenGL commands from the Mesa
unichrome driver.
Added vsync frequency detection support. This will be used in the future
for XvMC and better frame timing.
Bumped minor version number and driver date.
2004-11-27 22:55:31 +00:00
Dave Airlie
f0a86288fa
patch from bug 1803 - will try and push to kernel soon
2004-11-11 11:09:11 +00:00
Dave Airlie
c5bededa51
add some more r300 pci ids
2004-11-07 02:19:58 +00:00
Eric Anholt
cb5aaa8987
Convert more drivers for bsd-core, moving the ioctl definitions to shared
...
code. Remove the "drv" from sisdrv, as it's unnecessary. Use the
drm_pci functions in i915 instead of per-os implementations of the
same. Avoid whitespace within fields in drm_pciids.txt (one of the r300
definitions), since it breaks the bsd pciids script. Tested on sis,
mga, r128. i915 needs more work.
2004-11-06 23:02:07 +00:00
Jon Smirl
069f53a93b
Move radeon i2c include to top of file
2004-11-06 16:55:41 +00:00
Jon Smirl
642a8106d2
Export missing r128 ioctl symbol
2004-11-06 16:51:36 +00:00
Eric Anholt
c9202c8965
Commit WIP of BSD conversion to core model. Compiles for r128, radeon, but
...
doesn't run yet. Moves the ioctl definitions for these two drivers back
to the shared code -- they aren't OS-specific.
2004-11-06 01:41:47 +00:00
Thomas Hellstrom
f08a01c0e2
Fixed bug in via_dma.c. The code didn't check that the lock was held by the
...
caller. Just that it was held.
2004-11-03 13:37:37 +00:00
Thomas Hellstrom
9409d8231c
Reworked the jump-code in via_dma.c. The command regulator now seems to
...
pause correctly after a jump. Removed the debug message from within the
interrupt handler of via_irq.c
2004-11-01 20:48:49 +00:00
Keith Whitwell
08758b2fb7
correct historic mis-attribution of copyright
2004-11-01 10:52:18 +00:00
Thomas Hellstrom
8264e2c8aa
Some stabilizing work to the DMA ring-buffer code. Temporarily replaced the
...
rewind jump with a reinitialization. This makes the code stable on
CLE266 and KM400.
2004-10-30 13:01:48 +00:00
Ville Syrjala
d403173005
Fixed off by one errors in clipping.
2004-10-16 11:21:56 +00:00
Ville Syrjala
52fdf10fd7
Fixed bad formatting.
2004-10-16 10:54:58 +00:00
Thomas Hellstrom
bbfe18e3bf
Via updates. Fixed unlikely but possible uint32_t overflow in ring-buffer
...
code. bumped patchlevel.
2004-10-12 18:46:26 +00:00
Jon Smirl
ad70dc676e
Breakout heads into their own data structures.
2004-10-12 03:59:17 +00:00
Jon Smirl
ad549c5ae6
Rename fn_tbl to driver. Core driver now uses pci_driver name which
...
reflects the personality name.
2004-10-10 22:54:55 +00:00
Dave Airlie
3f02a79351
Vladimir requested support so we can at least load r300 microcode for
...
helping
2D operations.
Ups radeon to version 1.12.0, Vladimir, you might want to add any extra
pciids...
Approved-by: Dave Airlie <airlied@linux.ie>
2004-10-10 05:52:19 +00:00
Dave Airlie
8727326371
cleanup VIA driver to look a bit like others before kernel merge
2004-10-09 12:42:52 +00:00
Dave Airlie
fec94a8274
Lindent the via stuff so I can include it in kernel
2004-10-09 11:12:24 +00:00
Thomas Hellstrom
d24194e904
Changed unsigned to uint32_t in some ioctl parameters. Introduced first
...
rudimentary command verifier for dma buffers. Changed the decoder futex
ioctl parameters. Bumped the via major version number.
2004-10-08 21:11:02 +00:00
Jon Smirl
61d36f6179
Revert back to drm_order() instead of using kernel get_order(). The
...
functions are not identical.
2004-10-06 16:27:55 +00:00
Jon Smirl
aba12cfc0e
janitor-list_for_each-drivers-char-drm-radeon_memc.patch from mm kernel
2004-10-02 19:11:30 +00:00
Jon Smirl
9f9a8f1382
Lindent of core build. Drivers checked for no binary diffs. A few files
...
weren't Lindent's because their comments didn't convert very well. A
bunch of other minor clean up with no code implact included.
2004-09-30 21:12:10 +00:00
Jon Smirl
1c0a437fa2
Move things around to reduce public symbols and even out files. Switch to
...
get_order from drm_order.
2004-09-30 19:26:35 +00:00
Jon Smirl
3aef3841d0
Make fops per driver instead of global, remove default flush, poll, read
...
functions
2004-09-30 18:13:33 +00:00
Jon Smirl
fa6b1d129e
First check in for DRM that splits core from personality modules
2004-09-27 19:51:38 +00:00
Jon Smirl
74f063fc9d
Create new linux-2.6 build. Move all gpl files into the 2.6 build. If you
...
edit files for 2.6 be sure and break the link to the 2.4 directory and
copy the cvs history.
2004-09-24 03:12:17 +00:00
Jon Smirl
c158a36c4c
1) switches from class_sysfs to drm sysfs implementation to allow
...
customization
2) compiles again on 2.4, but doesn't work
2004-09-23 05:39:15 +00:00
Felix Kuehling
af326f6f0c
Create permanent maps of framebuffer, aperture and MMIO registers. Added
...
chipset-type information in driver data field of Savage PCI-IDs. Added
missing PCI-ID 0x8d03 (ProSavageDDR on Pentium boards). Don't require
AGP.
2004-09-22 22:51:18 +00:00
Jon Smirl
27fc998f7d
Remove hotplug reset support from DRM driver. This will be handled by the
...
VGA driver when it gets written.
2004-09-22 19:13:02 +00:00
Jon Smirl
6f31c42fe9
Remove size restriction on permanent addmap
2004-09-20 19:23:27 +00:00
Dave Airlie
5654880eee
remove HAVE_COUNTERS
2004-09-20 11:29:16 +00:00
Jon Smirl
0c6fb0fbe1
Add linux sysfs i2c support to radeon driver. This patch adds GPL licensed
...
files to the linux build but not to the BSD directories.
2004-09-17 04:02:28 +00:00
Jon Smirl
c7c9d3ef7b
Let's try adding the dyn-minor patch again. This patch will reuse minor
...
numbers if a card is hotplugged in/out instead of just having them
increase.
2004-09-16 18:42:03 +00:00
Jon Smirl
eeb0ef1a70
Back dyn-minor patch out for now. fops handling is broken on some cards
2004-09-15 17:44:30 +00:00
Jon Smirl
64ef12c55c
Dynamic device minor support. Minor device numbers will be reused if the
...
device is hotplugged in/out of the system
2004-09-15 00:20:21 +00:00
Jon Smirl
03c2e674e4
Add chip family names to the radeon driver
2004-09-14 03:59:25 +00:00
Jon Smirl
36050cc958
Fix DRM to compile cleanly with recent kernel changes in PCI IO and
...
DRM_COPY_FROM_USER. PCI IO changes in 2.6.9-rc1 bk currently.
2004-09-12 03:23:50 +00:00
Jon Smirl
e6d468ad7f
More general patch to mark resources in use by all DRM drivers. Makes the
...
code Linux specific.
2004-09-10 16:44:28 +00:00
Jose Fonseca
1fb27632c3
Update doxygen configuration file. Minor documentation updates/fixes.
2004-09-08 20:57:39 +00:00
Thomas Hellstrom
b0c73b7fcb
Added IOCTL for writing 2D DMA command buffers over PCI. Bumped minor
...
version number.
2004-09-07 16:48:44 +00:00
Dave Airlie
eeae6a0a38
merge back bunch of whitespace and misc changes from kernel
2004-09-05 10:54:59 +00:00
Dave Airlie
7809efc8c3
drm-memory patch, cleans up alloc/free and makes calloc look more libc like
2004-08-30 09:01:50 +00:00
Erdi Chen
08de6e5b04
Fix copy_from_user return value ignored warning at via_dma.c:168.
2004-08-30 04:58:24 +00:00
Dave Airlie
73e606753f
run i915 through lindent
2004-08-27 09:14:30 +00:00
Dave Airlie
019fd38a3c
__NO_VERSION__ hasn't been needed since 2.3 days ditch it...
2004-08-27 09:11:07 +00:00
Jon Smirl
e068fcbfdd
Rearrange things so that via_dma.c will compile with inline via_check_dma
2004-08-26 03:54:01 +00:00
Dave Airlie
d4dbf45781
Merged drmfntbl-0-0-2
2004-08-24 11:15:53 +00:00
Erdi Chen
25e319c1ef
This patch adds three new ioctl's to the VIA Unichrome/Pro DRM driver:
...
DRM_IOCTL_VIA_DMA_INIT DRM_IOCTL_VIA_CMDBUFFER DRM_IOCTL_VIA_FLUSH
The first ioctl sets up an area in AGP memory that will be used as the ring
buffer. The second ioctl copies a command buffer from user space memory
to the ring buffer. The third ioctl waits for engine idle until it
returns.
The motivation for this patch is to avoid the wait for engine idle call
before each buffer flush in the current DRI driver. With this patch,
the DRI driver can continue to flush its buffer as long as there is
free space in the ring buffer.
This patch adds an additional copy operation on the command buffer. This
buffer copying is necessary to support multiple DRI clients rendering
simultaneously. Otherwise, more CPU time will be spent in the busy loop
waiting for engine idle between DRI context switch. Even in the single
client case, the tradeoff is reasonable in comparision to the kernel
call to check for free buffer space for the client to render directly
to the ring buffer.
2004-08-24 01:44:37 +00:00
Dave Airlie
7fe4f60768
set pointers to NULL after freeing, remove some extra debugging
2004-08-23 10:05:01 +00:00
Dave Airlie
5c9ed83094
Merged drmfntbl-0-0-1
2004-08-17 13:10:05 +00:00
Dave Airlie
93e8c201af
preparation patch for radeon permanent mapping registers/framebuffer makes
...
dev_priv live always, and add AGP detection in kernel patch:
radeon-pre-2.patch From: Jon Smirl
2004-08-17 11:24:50 +00:00
Eric Anholt
dd83f39f03
Add a "dev" argument to DRIVER_CTX_[CD]TOR. This will be used in an
...
upcoming commit for the SiS driver.
2004-08-14 00:46:15 +00:00
Eric Anholt
211c37e250
Fix apparent copy'n'paste-o of the card attributes commit that broke the
...
FreeBSD build.
2004-08-13 23:32:39 +00:00
Dave Airlie
9277f9eef3
Patch from Jon Smirl to add attribute field to the pciids, and use this for
...
certain radeon combinations - intel drivers can probably use this for
dual head capable devices etc..
2004-08-10 11:14:07 +00:00
Dave Airlie
33b740ad99
forgot to check these in.. thanks to Jon for reminding me ..
2004-08-02 11:45:23 +00:00
Dave Airlie
bd71ba6428
patch from RH xorg-x11 tree ported to drm.h
2004-07-31 08:38:39 +00:00
Dave Airlie
eb3d0635d4
fixes for using userspace pointers found by sparse utility
...
From: Dave Airlie
2004-07-31 07:26:52 +00:00
Dave Airlie
0b02bf9d45
initial port of i915 to BSD, not finished doesn't work.. no idea why...
2004-07-29 11:09:22 +00:00
Dave Airlie
862fcee057
check for __user if not there define it
2004-07-25 08:57:15 +00:00
Dave Airlie
02df04d71d
sync up with current 2.6 kernel bk tree - mostly __user annotations
2004-07-25 08:47:38 +00:00
Keith Whitwell
1e5354e867
Correct a couple of packet length calculations.
2004-07-23 16:12:27 +00:00
Dave Airlie
b35cba47d5
Add NULLs instead of 0 for i915
2004-07-20 11:48:25 +00:00
Dave Airlie
8efddd01e8
sparse cleanups from kernel: Al Viro
2004-07-15 13:03:55 +00:00
Dave Airlie
4cfd0d5cee
whitespace align with kernel
2004-07-05 11:44:30 +00:00
Keith Whitwell
291ffeae9a
i915.o drm driver
2004-06-10 12:45:38 +00:00
Ian Romanick
52e3a8a5d9
Added some comments copied from xf86drm.h.
2004-06-02 17:41:52 +00:00
Ian Romanick
f994b1f31b
Replace size_t with an ugly, ugly hack. This was done so that code in the
...
core X-server would compile. Hopefully, this will soon be replaced with
explicitly sized types (i.e., uint32_t) and everyone will be happy.
2004-06-01 16:17:32 +00:00
Roland Scheidegger
43c244ebba
fix whitespace issue in previous patch
2004-05-18 23:30:46 +00:00
Roland Scheidegger
aa142ff1b5
add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,
...
GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
2004-05-18 23:03:22 +00:00
Erdi Chen
13894755a7
Add PCI id entry for VIA CN400 (UnichromePro) chip. XFree86 bug: Reported
...
by: Submitted by: Reviewed by: Obtained from:
2004-05-14 23:54:31 +00:00
Eric Anholt
853adb8be3
Merge from FreeBSD-current. Mostly 64-bit cleanliness fixes, but a few
...
driver interface changes from -current.
2004-05-11 04:43:43 +00:00
Eric Anholt
485b259b44
Add missing DRM_ERR()s.
2004-05-11 04:23:02 +00:00
Dave Airlie
06332524b5
add another tdfx
2004-04-26 06:43:53 +00:00
Dave Airlie
0edc2abf84
add new files to generate pci ids
2004-04-21 23:45:18 +00:00
Dave Airlie
93bd67ef62
centralise pci ids into one place and use scripts to generate files for
...
kernel
2004-04-21 12:13:31 +00:00
Thomas Hellstrom
6f6d2a553a
1. Added a PCI ID.
...
2. Big change to the XvMC part of the SAREA. OpenGL clients will not suffer
from this, and via XvMC is still alpha. Needed to make future additions
to XvMC (More decoders and overlays) possible.
3. Bumped version number to 1.3.0.
2004-04-12 10:18:18 +00:00
Dave Airlie
873e1c4d38
Add mach64 to the trunk
2004-04-12 05:27:40 +00:00
Dave Airlie
3306abbde7
white space changes to align with kernel
2004-04-10 13:52:43 +00:00
Alan Hourihane
596cf634ae
fix build problem
2004-04-08 23:22:05 +00:00
Dave Airlie
bc1428035c
fixes from Linux kernel
2004-04-08 12:05:25 +00:00
Thomas Hellstrom
6cd8831f7a
Merged via-1-2-0
2004-03-23 21:08:48 +00:00
Jon Smirl
24115068e4
Fixes need to clean up the mess I made with the mesa merge. This code
...
allows the mesa drivers to use a single definition of the DRM
sarea/IOCTLS located in the drm driver directory. Adjustments were made
to the 2D drivers to not include these changes. Changes to the mesa
copy of DRM were copied to the DRI copy. XFree86 bug: Reported by:
Submitted by: Reviewed by: Obtained from:
2004-03-12 21:22:52 +00:00
Michel Daenzer
213247a441
Fix sisfb header location for 2.6 kernels
...
Submitted by: Andrew Morton
2004-02-18 20:56:58 +00:00
Michel Daenzer
0dea4de288
Make sure that all state packets are handled in
...
radeon_check_and_fixup_packets()
Fix state packet IDs of R200 cubic offsets
2004-01-10 20:59:16 +00:00
Michel Daenzer
7b62ed9aed
R200_PP_CUBIC_OFFSET_F1_[0-6] state packets only contain 5 offsets, not 6
...
(thanks to Andreas Stenglein for spotting this)
2004-01-10 12:28:06 +00:00
Eric Anholt
9fb6986e83
Don't ioremap the framebuffer area. The ioremapped area wasn't used by
...
anything, and took up valuable KVA. While I'm in the area, clean up BSD
MTRR stuff some more.
Suggested by: jonsmirl
2003-12-16 08:57:08 +00:00
Eric Anholt
66c9e3053f
- Tie the DRM to a specific device: setunique no longer succeeds when given
...
a busid that doesn't correspond to the device the DRM is attached to.
This is a breaking of backwards-compatibility only for the
multiple-DRI-head case with X Servers that don't use interface 1.1.
- Move irq_busid to drm_irq.h and make it only return the IRQ for the
current device. Retains compatibility with previous X Servers, cleans
up unnecessary code. This means no irq_busid on !__HAVE_IRQ, but can be
changed if necessary.
- Bump interface version to 1.2. This version when set signifies that the
control ioctl should ignore the irq number passed in and enable the
interrupt handler for the attached device. Otherwise it errors out when
the passed-in irq is not equal to the device's.
- Store the highest version the interface has been set to in the device.
- Fix a recursion on DRM_LOCK in irq_uninstall on FreeBSD. This leaves
irq_uninstall being done without the lock in some cases, but it was
racey anyways.
2003-11-05 08:13:52 +00:00
Eric Anholt
e8f5b01a40
__linux__ is spelled with a lowercase 'l'
2003-11-05 02:08:31 +00:00
Eric Anholt
5864101ab4
Repo-copy linux/drm/kernel/drm.h to shared/drm/kernel/drm.h and use it on
...
both Linux and *BSD.
2003-11-05 01:43:47 +00:00
Michel Daenzer
2655ccddf4
Memory layout transition:
...
the 2D driver initializes MC_FB_LOCATION and related registers sanely
the DRM deduces the layout from these registers
clients use the new SETPARAM ioctl to tell the DRM where they think the
framebuffer is located in the card's address space
the DRM uses all this information to check client state and fix it up if
necessary
This is a prerequisite for things like direct rendering with IGP chips and
video capturing.
2003-11-04 00:46:05 +00:00
Eric Anholt
06cb132e86
- Introduce a new ioctl, DRM_IOCTL_SET_VERSION. This ioctl allows the
...
server or client to notify the DRM that it expects a certain version of
the device dependent or device independent interface. If the major
doesn't match or minor is too large, EINVAL is returned. A major of -1
means that the requestor doesn't care about that portion of the
interface. The ioctl returns the actual versions in the same struct.
- Introduce DRM DI interface version 1.1. If the server requests version
1.1, then the DRM sets the unique itself according to the busid of the
device it probed, which may then be accessed as normal using getunique.
- Request version 1.1 in libdrm's drmOpenByBusID, allowing the X Server to
request based on a BusID. Introduce a wrapper for DRM_IOCTL_SET_VERSION
and bump libdrm minor version.
- Pass the busid in DRIScreenInit if libdrm can handle both a busid and
name. This allows drmOpenByBusID to be used to find the DRM instead of
just the driver name, which allows us in the future to tie a DRM more
strongly to the device it probed to. Introduce a function
DRICreatePCIBusID which creates a busid in the form pci:oooo:bb:dd.f
similar to linux's pci_name() function. This matches the format used by
the DRM in version 1.1. libdrm knows how to match both this format and
the old PCI🅱️ d:f format.
- Use the new DRICreatePCIBusID function in the *_dri.c to request the new,
more exact busid format.
2003-10-23 02:23:31 +00:00
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