Michel Daenzer
b942999b59
do allow reading from read only mappings...
2003-05-17 00:37:34 +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
Leif Delgass
7e1a4bfab3
remove unused variables
2003-04-29 16:59:00 +00:00
Leif Delgass
5f1e2399eb
Restore Eric Anholt's DRM_*MEMORYBARRIER changes from rev 1.11
2003-04-28 17:49:26 +00:00
Leif Delgass
a57d320461
Only free original pagelist in addbufs_pci if one already exists (fixes
...
oops).
2003-04-28 16:20:31 +00:00
Alan Hourihane
6eb5364eb8
DRM_READ/WRITEMEMORYBARRIER was given an argument in the bsd tree, fix for
...
linux
2003-04-28 15:29:46 +00:00
Keith Whitwell
c584292e30
Put back __HAVE_KERNEL_CTX_SWITCH for David Miller's sparc drm driver
...
(which doesn't live in our cvs).
2003-04-27 09:53:58 +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
Keith Whitwell
f5844cea13
2.5.x sync patch from Linus Torvalds
2003-04-26 21:33:44 +00:00
Keith Whitwell
2c40a56393
move prototypes for gamma functions to gamma_drv.h
2003-04-26 21:22:08 +00:00
Keith Whitwell
2142b7840a
Remove #if 0'd code
2003-04-26 21:21:36 +00:00
Leif Delgass
cb32dde3be
Fix potential oops and memory leaks when allocations fail in
...
addbufs_agp/pci. Add support for buffer private structs with PCI DMA
buffers. Also some debug format string fixes.
2003-04-25 19:42:47 +00:00
David Dawes
c3092ead64
Targets for building dristat and drmstat.
2003-04-25 00:57:42 +00:00
Leif Delgass
16fda821eb
Pass dma handle from pci_alloc_consistent to the card for status page,
...
rather than using virt_to_bus() on the virtual address.
2003-04-24 23:18:33 +00:00
Leif Delgass
d6a82ff9c1
Remove unused dev->map_count. We always iterate the maplist with
...
list_for_each() and the count is not updated or used for stats.
2003-04-24 16:55:22 +00:00
Leif Delgass
cd3d6090b7
Remove unused variables
2003-04-24 15:29:30 +00:00
Keith Whitwell
57406077e5
Move the debug versions of the DRM memory functions to a new file and
...
implement non-debug ones as standard.
2003-04-24 10:02:18 +00:00
Keith Whitwell
a41594e8df
Remove #if 0'd code and some unused string functions
2003-04-24 09:41:33 +00:00
David Dawes
00522cedd6
Single/dual rasterizer quiescence patch for the glint/gamma DRI driver
...
(#5685 , Sven Luther).
2003-04-24 03:01:40 +00:00
David Dawes
9d603b0abe
break long line
2003-04-24 02:56:06 +00:00
Keith Whitwell
e15b0b6a1b
Install dummy/noop read & poll fops unless the driver has replacements.
2003-04-23 23:42:29 +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
Leif Delgass
22608a414d
Only mga, i810, i830 require AGP (should mga define __MUST_HAVE_AGP?)
2003-04-22 19:42:27 +00:00
Alan Hourihane
879e3d335c
change PREINSTALL/POSTINSTALL/UNINSTALL irq code to real functions as per
...
the other drivers
2003-04-22 12:52:17 +00:00
Alan Hourihane
9c5d16216d
remove unused variable
2003-04-22 12:42:22 +00:00
Alan Hourihane
0782f0df60
fix gamma headers
2003-04-22 12:41:16 +00:00
Keith Whitwell
73e20998b4
Rename drm_lists.h to gamma_lists.h
2003-04-22 12:14:59 +00:00
Keith Whitwell
700e880c3d
new file
2003-04-22 12:07:43 +00:00
Keith Whitwell
928c25d14f
Move the excitingly named DRM(flush_block_and_flush) and friends to
...
gamma-specific code.
Fix templates so i8x0 drivers don't have to define __HAVE_DMA_WAITLIST.
2003-04-22 12:07:24 +00:00
Keith Whitwell
aba6bf7eb3
remove unused __HAVE_KERNEL_CTX_SWITCH code
2003-04-22 11:39:34 +00:00
Keith Whitwell
a1780925fb
Move a chunk of gamma-specific code out of drm_dma.h. Remove unused
...
'DRM_FLAG_NOCTX' option.
2003-04-22 11:31:55 +00:00
Keith Whitwell
056762a910
remove unused dma histogram code
2003-04-22 10:18:29 +00:00
Keith Whitwell
5141da97f6
Move a bunch of gamma-specific code into a gamma-specific file. Restore the
...
kooky DRM(write_string) code for gamma.
2003-04-22 10:13:14 +00:00
Keith Whitwell
fc4fb6b51b
remove DRM read, poll and write_string
2003-04-22 08:06: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
David Dawes
da35a90d99
Add a Kconfig file as used in recent 2.5.x kernels.
2003-04-17 18:52:05 +00:00
David Dawes
21af320287
Make Config.in look more like a recent 2.4.x kernel version.
2003-04-17 18:48:06 +00:00
David Dawes
dbb7beb51d
Rework the Linux drm kernel module build to leverage off the standard
...
kernel build system. This is based on suggestions and examples from
David Woodhouse. This approach has the advantage that the build
requirements of a wider range of standard kernels are now supported
transparently, but the disadvantage of some extra complexity to handle
building against clean vendor-distributed kernel source trees. This has
been tested with some recent Red Hat and SuSE distributions.
2003-04-17 18:44:38 +00:00
David Dawes
c2d7ff1bf9
Bring some drm module changes over from the XFree86 trunk:
...
- Reset 'bound' flag for an agp entry after undbind succeeded in
drm_agpsupport.h (Egbert Eich).
- Ignore hw_lock for drm device if lock was set by a different instance (ie
Xserver) to prevent second server from spinning in driver release
function (currently only relevant for i8xx drm drivers) (David Dawes).
- Use the agpgart "key" for the unique handle for bindings rather than the
memory address (the key is guaranteed to be unique) (David Dawes).
2003-04-17 18:41:28 +00:00
David Dawes
d1b7f551e6
Fix DRM module build on 2.5.41 and later kernels (tqueue -> workqueue).
2003-04-17 15:27:34 +00:00
Leif Delgass
10444e06d4
Use list_entry() to get container struct from struct list_head pointers.
...
Build fix for RedHat 9 kernel (5 args to remap_page_range()).
2003-04-08 01:30:43 +00:00
Leif Delgass
3f7769921b
add 'SG' map type identifier string (pci scatter/gather) to /proc vm info
2003-04-05 19:49:16 +00:00
Leif Delgass
8e51112fe0
Warning fix (use %p format for filp)
2003-03-31 04:14:35 +00:00
Eric Anholt
8926acac37
Spelling fixes in comments.
...
Submitted by: Linus Torvalds <torvalds@transmeta.com>
2003-03-30 07:23:03 +00:00
Keith Whitwell
1728bc637d
merged drm-filp-0-1-branch
2003-03-28 14:27:37 +00:00
Keith Whitwell
37cb114bd9
Add 2nd arg for DRM_FREE
2003-03-26 16:37:47 +00:00
Alan Hourihane
b3eb34e0ea
linux merge for drm
2003-03-25 11:36:43 +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
Leif Delgass
eb0fd431c8
Update object targets
2003-02-28 19:39:46 +00:00
Eric Anholt
cfa778af9c
Merge from bsd-4-0-0-branch.
2003-02-21 23:23:09 +00:00
Michel Daenzer
b88cc5da26
disable strict aliasing for building the DRM
2003-02-04 19:28:52 +00:00
Michel Daenzer
c7d471b6ae
don't inflate relative vblank sequence numbers on repeated calls (e.g. when
...
interrupted by a signal)
2003-02-02 03:06:47 +00:00
Michel Daenzer
826aad0aba
limit number of pending vblank signals to 100 to prevent DoS, and minor
...
cleanups
2003-01-11 20:58:20 +00:00
David Dawes
05f761fa4f
enums should be ints
2002-12-12 22:20:30 +00:00
Keith Whitwell
786228bd26
bring in jantorial changes from 2.5.51
2002-12-12 16:45:31 +00:00
Keith Whitwell
fd621fd4a0
remove agpgart informational
2002-12-11 13:40:27 +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
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
Alan Hourihane
b3a20ce219
final part of XFree86 4.2.99.2 merge
2002-10-22 23:38:53 +00:00
Alan Hourihane
ff4baa69da
Import of XFree86 4.2.99.2
2002-10-22 13:43:45 +00:00
Brian Paul
2af90a581d
replaced max() macro with conditional expression
2002-10-09 16:29:01 +00:00
Keith Whitwell
aa1ca406d6
Fix error condition...
2002-10-08 08:32:06 +00:00
Keith Whitwell
a653224403
Call pci_enable_device() in DRM(irq_busid).
2002-10-08 08:29:47 +00:00
Keith Whitwell
9243e642da
Move os-dependent stuff out of radeon_irq.c
2002-09-29 21:19:01 +00:00
Michel Daenzer
ec48dfa835
add support for 16K and 64K page sizes (Bjorn Helgaas)
2002-09-29 00:12:28 +00:00
Michel Daenzer
cc9a169d08
DRM(vblank_wait) is driver specific
2002-09-26 12:49:18 +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
Michel Daenzer
cfa1a918b6
make sure we never oops because the hardware lock pointer in the sigdata
...
structure is out of date
2002-09-21 23:18:54 +00:00
David Dawes
c4318a5c64
- Fix various bugs in the DRI support for the i830 and i845G (Keith
...
Whitwell).
- Major rework of the 2D i830/i845G support, including:
- Improve VESA mode selection, and fix refresh rate selection.
- Don't duplicate functions provided in the vbe modules.
- Don't duplicate functions provided in the vgahw module.
- Rewrite memory allocation.
- Rewrite initialisation and save/restore state handling.
- Decouple the i810 support from i830 and later.
- Remove various unnecessary hacks and workarounds.
- Fix an 845G problem with the ring buffer not in pre-allocated memory.
- Fix screen blanking.
- Fix some HW cursor glitches, and turn HW cursor off at VT switch and
exit.
- Don't attempt to use the i830's function 1 entity.
- Fix problems with option handling. (David Dawes).
- Add mode VBE-aware mode handling functions to the vbe module (David
Dawes).
2002-09-11 00:57:49 +00:00
Keith Whitwell
4fcde1efc1
standardize use of __FUNCTION__ (Linus)
2002-08-29 07:34:49 +00:00
Leif Delgass
a697941d4c
Don't (re)define vmalloc_to_page for kernel >= 2.4.19, as it has been
...
backported from 2.5.x. Also fix a couple of incorrect
LINUX_VERSION_CODE tests and fix header dependency for r128, radeon
when building without AGP.
2002-08-22 19:35:31 +00:00
Leif Delgass
2febcafd66
SetPageLocked only defined in 2.5.x (x=?), use LockPage for 2.4.x (x>=9).
...
Also apply build fixes from i810_dma.c to i830_dma.c
2002-08-22 18:43:39 +00:00
Jose Fonseca
18d3fac990
Change the linux kernel version condition in the i810 driver (according to
...
Alan Cox)
2002-08-21 14:09:28 +00:00
Leif Delgass
8eedac5833
add missing include (for udelay), remove unused counter.
2002-08-21 01:14:43 +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
Alan Hourihane
74ef13fd00
merged bsd-3-0-0-branch
2002-07-05 08:31:11 +00:00
Keith Whitwell
24025ca5f7
Fix some more pageflipping issues -- existing code was doing MMIO writes
...
while ring was active. There is still an MMIO read in there, but I
haven't seen any lockups that could be attributed to it.
2002-07-04 12:03:15 +00:00
Keith Whitwell
ca81e1334e
Revert SET_SCISSORS change.
2002-07-04 11:55:44 +00:00
Tim Smith
cc45cc0609
Fix lockup on faster machines when drawing in multiple clip rectangles
...
(e.g. when part of a 3D window is obscured by another window)
2002-07-02 21:34:25 +00:00
Keith Whitwell
bb91bc0879
Set pfCurrentPage on cleanup_pageflip
2002-06-27 17:56:39 +00:00
Alan Hourihane
8aecdbea76
gamma_alloc -> DRM(alloc)
2002-06-25 12:13:20 +00:00
Michel Daenzer
063d0a30c2
endianness fixes
2002-06-18 22:40:26 +00:00
Keith Whitwell
2dcada361d
merged tcl-0-0-branch
2002-06-12 15:50:28 +00:00
Michel Daenzer
5676a2a610
fixes for big endian in general and powerpc in particular
2002-06-02 16:00:45 +00:00
Jeff Hartmann
6ac48cddd0
Import Mesa 4.0 port of I830M/I845G 3D driver funded by 2d3d. Import
...
Lastest i810 ddx driver changes from XFree86 CVS to support the I845G.
Fixup warnings in I830M kernel driver.
-Jeff
2002-05-29 21:21:50 +00:00
Alan Hourihane
cd37583281
Remove some older Linux 2.3.99 code
2002-05-17 08:35:47 +00:00
Alan Hourihane
91d7b17e82
same udelay fixes
2002-05-17 08:21:34 +00:00
Keith Whitwell
9e67da5626
Allow drm to build under 2.4 and 2.5(.14)
2002-05-16 23:47:15 +00:00
Jens Owen
3903e5ac94
Merged drmcommand-0-0-1
2002-04-09 21:54:56 +00:00
Keith Whitwell
baef086c32
Fix backwards compatibility bug, add tests for good numbers of
...
vertices/prim.
2002-03-08 16:03:37 +00:00
David Dawes
ab87c5d0d1
First pass of mesa-4-0 branch merge into trunk.
2002-02-14 02:00:26 +00:00
Michel Daenzer
65d25572de
wrapper for ioremap_nocache() like for ioremap() (Paul Mundt)
2002-02-02 17:03:51 +00:00
David Dawes
44aa4d6297
First pass merge of XFree86 4.2.0 import.
2002-01-27 20:05:42 +00:00