Jon Smirl
0bff0d9eb6
Getting the AGP module is a global resource. Make sure a dual PCI/AGP
...
driver doesn't release it on unload since an AGP driver may also be
loaded.
2004-09-28 22:25:06 +00:00
Jon Smirl
6d6526fdf9
core needs three new files
2004-09-27 19:53:51 +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
77fa7b9548
Flip the 2.4 check so that it looks for 2.6 instead. This will allow builds
...
where we can't determine the version through.
2004-09-27 15:42:48 +00:00
Jon Smirl
1d6392f1fd
Makefile reminder to build in 2.6 when on 2.6
2004-09-24 04:21:21 +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
36a257cfe9
Remove 2.6 code that allow DRM major device number to be shared. We can add
...
it back later if needed. Checked DRM on both 2.4 and
2.6 to ensure that it builds and runs.
2004-09-23 17:22:27 +00:00
Jon Smirl
55c5e24089
Add new sysfs support files
2004-09-23 05:40:05 +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
2ad068005a
Make DRM permanent maps match broken X behavior. X is mapping regions that
...
are both smaller and larger than what the hardware supports. If DRM
tries to fix these requests X will fail.
2004-09-21 05:13:21 +00:00
Jon Smirl
6f31c42fe9
Remove size restriction on permanent addmap
2004-09-20 19:23:27 +00:00
Jon Smirl
59cc1d8256
Felix's fix for map request smaller than permanent map size
2004-09-20 17:09:26 +00:00
Dave Airlie
5654880eee
remove HAVE_COUNTERS
2004-09-20 11:29:16 +00:00
Dave Airlie
fa75a81c9a
another fix after the macro stuff
2004-09-20 10:45:53 +00:00
Jon Smirl
c15b1d15ff
Fix from: Nishanth Aravamudan replace direct assignment with
...
__set_current_state()
2004-09-18 16:44:43 +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
5dfd89ae0a
Fix drm_scatter to properly report it's availability
2004-09-16 14:32:17 +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
941d2cf431
Don't use module_param if it isn't defined in older kernels.
2004-09-15 16:06:50 +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
13cb3f1b00
Fix error path in probe() to release resources if there is an error.
2004-09-12 19:24:08 +00:00
Jon Smirl
15407efd46
Make the comment match the code
2004-09-12 03:30:30 +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
Jon Smirl
3bf785c912
Adjust permanent mapping code to account for more than one framebuffer map
2004-09-08 01:49:06 +00:00
Dave Airlie
c33f4449fc
missed fix as part of last checkin
2004-09-05 23:33:57 +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
f96e00595d
bad code copy for alpha.. fix the member names
2004-09-05 10:10:34 +00:00
Dave Airlie
3dcbc1f4a1
make the AMD64 check a compat thing
2004-09-05 02:36:48 +00:00
Dave Airlie
4499ea42ea
Fixup OS_HAS_AGP/OS_HAS_MTRR along lines of patches going to kernel, as
...
suggested by Arjan..
Signed-off-by: Dave Airlie <airlied@linux.ie>
2004-09-04 23:21:40 +00:00
Dave Airlie
3d9e16aa6e
doh.. that makes no sense.. thinko in removal of OS_HAS_AGP
2004-09-04 13:15:40 +00:00
Dave Airlie
838bb7af71
oops called ctor instead of dtor.. found this on the kernel merge
2004-09-02 12:33:03 +00:00
Jon Smirl
a070d15b53
Fix ref count problem in stealth mode. pci_get_subsys() with last parameter
...
set does the pci_dev_put for you.
2004-09-02 04:11:27 +00:00
Dave Airlie
da6b448497
implement drm_core_check_feature and use it .. looks lots nicer
2004-08-30 11:34:51 +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
Dave Airlie
0844f3e9f3
add context include so fn are defined
2004-08-29 12:39:17 +00:00
Dave Airlie
b9c82926bc
fix up some small things ffb (no idea if it works or not ..)
2004-08-29 12:37:11 +00:00
Dave Airlie
55c6e72306
remove hacky context thing that was gamma only
2004-08-29 12:17:26 +00:00
Dave Airlie
1430163b4b
Drop GAMMA DRM from a great height ...
2004-08-29 12:04:35 +00:00
Dave Airlie
6916572c1c
fixup issue caused by fntbl-2 merge
2004-08-29 10:09:23 +00:00
Jon Smirl
4a89c75456
Initialize pdev to NULL correctly so that pci_get_subsys() will work.
2004-08-28 23:59:51 +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
60f23ebc5c
Make DRM detect vesafb and revert to stealth mode to avoid resource
...
conflicts
2004-08-27 02:26:07 +00:00
Dave Airlie
d4dbf45781
Merged drmfntbl-0-0-2
2004-08-24 11:15:53 +00:00
Dave Airlie
eac498baea
addmap-base-2 patch from Jon Smirl:
...
sets up the DRM to have the ability to have permanent maps while the driver
is loaded...
2004-08-24 10:43:45 +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
5c9ed83094
Merged drmfntbl-0-0-1
2004-08-17 13:10:05 +00:00
Dave Airlie
02ef96053c
2.6.8.1 has changed the links in /lib/modules
2004-08-17 10:36:46 +00:00
Jon Smirl
c360d6f4f2
Fix warning about unused ddev variable
2004-08-15 15:46:28 +00:00
Jon Smirl
23bbff24aa
Add dev to DRIVER_CTX_DTOR( dev, pos->handle) so that sis driver will
...
compile #if 0 get_pci_driver use in hotplug function until fbdev work
around is written
2004-08-15 15:35:14 +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
Dave Airlie
ecf1458b2c
minor patch from Jon Smirl : sets up some things for later use
2004-08-11 09:07:36 +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
42e9187460
2.4 compat
2004-08-04 10:56:48 +00:00
Dave Airlie
be3e54bc15
2.4 hotplug compat
2004-08-04 10:53:21 +00:00
Dave Airlie
4f8f02a192
fix for drm in /proc - from Jon Smirl
2004-08-03 09:21:11 +00:00
Jon Smirl
5e7e41819e
Add a hotplug event to DRM. Parameters match the ones from the general PCI
...
hotplug event plus the addition of one requesting RESET. Put your
scripts in /etc/hotplug.d/drm to run. kernel class_simple generates the
ADD/REMOVE events. No cards currently request RESET, the flag is there
to stop you from resetting your boot display.
2004-07-31 15:45:00 +00:00
Dave Airlie
dc4508c338
athe patch below optimises the drm code to not do put_user() on memory the
...
kernel allocated and then mmap-installed to userspace, but instead
makes it use the kernel virtual address directly instead.
From: Arjan van de Ven <arjanv@redhat.com>
2004-07-31 07:25:58 +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
Dave Airlie
1f132b7849
whitespace merge with kernel
2004-07-25 05:52:22 +00:00
Dave Airlie
c54ba5691a
if the driver has already register don't do another intermodule register
2004-07-25 05:41:44 +00:00
Dave Airlie
6ba31fb481
Patch from Tom Arbuckle for missing bus_address
2004-07-25 05:36:45 +00:00
Dave Airlie
6ed7e36f4c
another logic error returns 0 or greater for success
2004-07-22 12:07:13 +00:00
Dave Airlie
ea2155a2e1
ATI Rage 128 and Radeon DRM unconditionally depend on PCI
...
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2004-07-21 09:36:16 +00:00
Dave Airlie
c9911beb09
add some more debugging fix ++ and --
2004-07-21 09:30:43 +00:00
Dave Airlie
a776c5ec04
first set of __user annotations from kernel (Al Viro)
2004-07-20 12:43:12 +00:00
Dave Airlie
9266bf5301
Kconfig update add i915 bring over some stuff from kernel
2004-07-20 11:35:29 +00:00
Dave Airlie
b20b00d4bc
add x86_64 architecture defines from kernel (leave AMD64 defines in for
...
backwards compat)
2004-07-20 11:26:13 +00:00
Dave Airlie
fdb6ae31cb
fix some more NULLs from kernel
2004-07-20 11:22:26 +00:00
Dave Airlie
7ee263b94f
attempt to clean up stub_register, register_chrdev isn't good enough to
...
make the decision for multiple cards with one drm ..
2004-07-20 10:59:02 +00:00
Dave Airlie
8efddd01e8
sparse cleanups from kernel: Al Viro
2004-07-15 13:03:55 +00:00
Dave Airlie
bb5112b616
Fix reference counting for stub for new Linux PCI probe
2004-07-14 12:34:55 +00:00
Dave Airlie
e86fc9f47f
allow O= usage for Linux 2.6 kernel building in another directory
2004-07-14 12:14:37 +00:00
Dave Airlie
6c16cbd404
split out backwards compat into a separate file makes it easier for merging
...
to 2.6
2004-07-11 10:17:34 +00:00
Dave Airlie
f9e2fe8470
fix issue in 2.4 kernels with returning NULL from this function
2004-07-11 09:58:49 +00:00
Jon Smirl
6e4bf5ead5
Add two items to Makefile clean XFree86 bug: Reported by: Submitted by:
...
Reviewed by: Obtained from:
2004-07-08 20:18:10 +00:00
Dave Airlie
3c9fb37e65
fixes from kernel for 0 vs NULL - mika
2004-07-05 11:56:51 +00:00
Dave Airlie
87832bc81a
fix bug with pci_disable_device in the wrong place (Paul Mackerras) remove
...
hack code from me..
2004-06-21 11:46:52 +00:00
Dave Airlie
1ee210e3b5
dirty hack to make mach64 work, (don't worry I'll get around to fixing it
...
asap..)
2004-06-12 02:30:52 +00:00
Keith Whitwell
373d67702c
A few changes for recent redhat.
2004-06-10 12:48:35 +00:00
Keith Whitwell
0faa00ae64
i915 drm module
2004-06-10 12:47:50 +00:00
Dave Airlie
cfa5bf3129
The dev->devname being passed to request_irq in drm_irq.h is null. With the
...
old DRM interface, the devname was set in DRM(setunique), but with the
current DRM interface >=1.1 the devname is not being set in
DRM(set_busid).
From: Alan Swanson Approved-by: Dave Airlie <airlied@linux.ie>
2004-06-07 01:42:35 +00:00
Dave Airlie
024fd4b150
2.4 compat
2004-05-30 23:38:08 +00:00
Dave Airlie
412f9909c6
fixes from kernel: Make users of page->count use the provided macros
2004-05-30 23:34:23 +00:00
Dave Airlie
8350382cb1
another 2.4 fix
2004-05-18 09:46:31 +00:00
Dave Airlie
df6c37fc88
2.4 compat fix
2004-05-18 09:42:22 +00:00
Dave Airlie
a1160ba279
do some real testing and fix the DRM initialising and unloading
2004-05-10 11:16:26 +00:00
Dave Airlie
a2f7a9fa5f
Commit sysfs and drm PCI changes for 2.6 kernel
2004-05-09 06:45:17 +00:00
Dave Airlie
0b481856dd
use drm.. not dri for class...
2004-05-03 00:06:04 +00:00
Dave Airlie
a9d2438999
fix 2.4 build
2004-05-02 13:03:51 +00:00
Dave Airlie
a3612f450b
better device class support from Jon Smirls patches..
2004-05-02 12:27:17 +00:00
Dave Airlie
d40443534c
Add __user annotations from kernel
2004-04-22 12:41:43 +00:00
Dave Airlie
87812e82f4
add sparc ffb files from kernel just to keep things in sync
2004-04-22 11:31:55 +00:00
Dave Airlie
2d9bbba0e1
bug from Linux kernel list caught by checker
2004-04-21 12:18:42 +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
Michel Daenzer
0f32a88527
Move Makefile.linux to Makefile.
...
Get rid of Makefile juggling hacks which are no longer necessary.
2004-04-18 22:59:01 +00:00
Dave Airlie
6fa5c5d958
more files for mach64
2004-04-12 05:44:16 +00:00
Dave Airlie
873e1c4d38
Add mach64 to the trunk
2004-04-12 05:27:40 +00:00
Dave Airlie
7e0f883501
include highmem.h
2004-04-10 13:25:30 +00:00
Dave Airlie
e375a3dc10
patch from Andrew Morton tree from Arjan van de Ven fixes some oopses seen
...
with 4G/4G split
2004-04-10 08:15:48 +00:00
Dave Airlie
23ec8875fc
align code with Linux kernel.
2004-04-10 07:41:19 +00:00
Dave Airlie
6aad146173
remove unused code
2004-04-10 07:39:00 +00:00
Dave Airlie
fd47335798
update from linux kernel for ia64
2004-04-10 07:36:30 +00:00
Alan Hourihane
ce601f3647
disable PCI DMA ioctls as they are not used currently until SAVAGE_CMD_DMA
...
is made to work.
2004-04-08 23:19:15 +00:00
Dave Airlie
c47597b484
big whitespace .. this aligns all the whitespace in this file with the bk
...
checkout linux tree
2004-04-08 14:15:36 +00:00
Dave Airlie
13724f032e
2.6 sysfs patches + stubs in drmP.h for 2.4 compatibility
2004-04-08 13:11:04 +00:00
Dave Airlie
c3e2685e82
long dev_t patches from 2.6 tree
2004-04-08 12:25:31 +00:00
Dave Airlie
9cff4b45e7
2.6 patches for larger dev_t
2004-04-08 12:22:22 +00:00
Dave Airlie
3e0f3c1fbb
more 2.4 compat fns
2004-04-08 12:20:39 +00:00
Dave Airlie
1bc7576474
patch from Linux kernel 2.6.5
2004-04-08 12:09:10 +00:00
Dave Airlie
ee2889ec0d
patch from lk
2004-04-08 11:26:52 +00:00
Thomas Hellstrom
994fa063cd
VIA module fixes:
...
1. Fixed up PCI-id's.
2. Fixed 2.6 warning in kernel Makefile.
2004-03-31 22:05:57 +00:00
Thomas Hellstrom
9b7bf9127e
Added via driver to drm/linux/Config.in Reported by: Terry Barnaby
2004-03-26 13:42:48 +00:00
Thomas Hellstrom
1da595d797
Exported symbols cause compilation failure of via_mm.c on 2.4 kernels.
...
Added via_mm.o to export-objs:
Reported by: HMX, Via Arena Forum
2004-03-24 23:22:22 +00:00
Thomas Hellstrom
b15deb2392
Modified linux/Kconfig to include the via drm driver.
2004-03-24 10:07:37 +00:00
Thomas Hellstrom
89d67d9087
Merged via-1-2-0: Altered Makefiles in drm/linux
2004-03-23 21:14:17 +00:00
Jon Smirl
0b6f155dbd
Add a missing ifdef CTX to get rid of the waring in the gamma driver build.
...
XFree86 bug: Reported by: Submitted by: Reviewed by: Obtained from:
2004-03-16 00:52:24 +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
f47ed99143
Remove extraneous code accidentally added with revision 1.86
2004-02-28 14:29:44 +00:00
Michel Daenzer
b61f07def3
More differentiated error codes for DRM(agp_acquire)
...
Obtained from: Linux kernel
2004-02-28 11:52:19 +00:00
Felix Kuehling
ce21dca4aa
Use DO_MUNMAP_4_ARGS macro defined in Makefile.linux (Steve Holland).
...
Silence a warning about a format-argument mismatch in printk.
2004-02-24 14:24:07 +00:00
Felix Kuehling
3dea36d843
Merged the Savage DRM driver from the savage-2-0-0-branch into the trunk.
2004-02-22 16:20:16 +00:00
Felix Kuehling
d0031f22cf
Conditionally add definition of list_for_each_entry_safe for kernel
...
versions that don't have it.
2004-02-21 19:54:51 +00:00
Keith Whitwell
82157579b5
drm_ctx_dtor.patch Submitted by: Erdi Chen
2004-02-20 22:55:12 +00:00
Michel Daenzer
2b9c12ef83
Adapt to nopage() prototype change in Linux 2.6.1.
...
Reviewed by: Arjan van de Ven <arjanv@redhat.com>, additional feedback from
William Lee Irwin III and Linus Torvalds.
2004-01-11 00:14:28 +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
1f7598245a
Return EBUSY when attempting to addmap a DRM_SHM area with a lock in it if
...
dev->lock.hw_lock is already set. This fixes the case of two X Servers
running on the same head on different VTs with interface 1.1, by making
the 2nd head fail to inizialize like before.
2003-11-06 04:48:06 +00:00
Alan Hourihane
a41a479f74
Changes to DRM(irq_install)...... wrap dev->dma usage with __HAVE_DMA in
...
irq handler, fixes kernel ooops. comment out some setting of flags that
are done in DRM(setup) (not sure why both of the above is done in the
irq handler)
2003-11-05 20:47:28 +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
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
Jon Smirl
e4a2a9c040
Switch pci enumeration call to work on both 2.4 and 2.6 pci_for_each_dev is
...
not supported on 2.6
2003-10-24 17:40:54 +00:00
Eric Anholt
b79d1b341f
Move to "old-style" probing as documented in linux/Documentation/pci.txt.
...
This should resolve the probe problems with radeon framebuffer due to
pci_driver attachment being exclusive.
2003-10-23 05:56:13 +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
86e6325e5a
- Add DRM_GET_PRIV_WITH_RETURN macro. This can be used in shared code to
...
get the drm_file_t * based on the filp passed in ioctl handlers.
- Use this macro on BSD for simplification and improve its error reporting.
Make failure to find the drm_file_t * print as an error, not debug.
This failure may be part of the problem with KDE.
- Make debug and error print macros include the pid on BSD.
2003-10-22 22:08:53 +00:00
Eric Anholt
63ce8af555
Fix probing on 2.5+ kernels, which require that drivers have .id_table set.
...
We use PCI_ANY_ID to ask that our probe is called for every available
device.
Submitted by: jonsmirl
2003-10-19 20:06:03 +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
Leif Delgass
5d4b137076
Fix typo in SiS help message (and testing cvs commit to
...
dri.freedesktop.org)
2003-09-28 21:27:09 +00:00
Eric Anholt
28aee7fb1c
Whitespace cleanup (spaces before tabs or instead of tabs).
2003-09-25 23:04:10 +00:00
Eric Anholt
a0a38f8bd6
Fix Kconfig for SiS DRM now that it doesn't require sisfb.
...
Submitted by: Linus Torvalds <torvalds@osdl.org>
2003-09-25 19:08:11 +00:00
Alan Hourihane
c5168016cc
linux drm fixes
2003-09-12 20:00:59 +00:00
Eric Anholt
a7aebb6dac
Add DRM(calloc), which is convenient, used by the new sis code, and takes
...
advantage of M_ZERO on BSDs.
2003-08-29 19:16:13 +00:00
Michel Daenzer
ba804e7864
Remove superfluous TLB flush
2003-08-28 12:14:17 +00:00
Michel Daenzer
9d7b01ebbe
Merge from 2.6 kernel (Linus Torvalds)
2003-08-15 10:31:54 +00:00
Dave Airlie
a073ff7dc7
DA: loads of whitespace .. some from Linus, some from me
2003-08-15 01:05:24 +00:00
Dave Airlie
428cbe0b91
DA: patch from Matthew upgraded to latest DRI head to solve issue with i810
...
compatibility
2003-08-13 23:35:40 +00:00
Dave Airlie
447d8c56bb
DA: code cleanups for i810_dma.c from 2.4 kernel
2003-08-11 01:46:02 +00:00
Michel Daenzer
e7944efc45
build fix for kernels >= 2.6
2003-08-07 10:13:50 +00:00
Michel Daenzer
da16867c84
Fix maplist entries being used after they were freed; thanks to Benjamin
...
Herrenschmidt for tracking this down
2003-08-06 11:46:21 +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
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
Michel Daenzer
32ef0f59a8
Fail in DRM(agp_acquire) if the AGP aperture can't be used, such that the X
...
server falls back to PCI GART or disables the DRI gracefully
2003-07-25 10:31:37 +00:00
Keith Whitwell
3669639b21
Restore __HAVE_KERNEL_CTX_SWITCH, required for the sparc drm module in the
...
kernel tree. Added comments to that effect.
2003-07-11 15:27:55 +00:00
Dave Airlie
1654bc5752
DA: fix for bug 484 in Bugzilla, originally from me, reworked by David
...
Dawes to avoid backword incompatibilities...
2003-07-09 23:21:15 +00:00
Keith Whitwell
2daf147652
Removed unused __HAVE_KERNEL_CTX_SWITCH, whatever that was.
2003-07-08 17:10:13 +00:00
Leif Delgass
39e1c534c0
Don't need to include linux/wrapper.h - we only use Set/ClearPageReserved
...
from linux/mm.h now and wrapper.h has been removed in 2.5.69 and later.
2003-07-04 18:31:42 +00:00
Jose Fonseca
93522f6d3a
Revert the janitorial - that works is now on the new branch
...
newdrm-0-0-1-branch.
2003-06-19 00:09:52 +00:00
Jose Fonseca
fdf320a1b8
Move the linux AGP includes into drm_agp.h and only define the AGP data
...
structures if AGP support is enabled in the kernel (__REALLY_HAVE_AGP).
This fixes the compile errors on kernels without AGP support.
2003-06-14 15:18:49 +00:00
Dave Airlie
f723f743c5
fix pitch compile error
2003-06-07 01:44:15 +00:00
Dave Airlie
8eaa2d2450
add page flipping support to the DRM, up version number to 1.3.0...
2003-06-05 23:31:40 +00:00
Jose Fonseca
8e7cd92f35
Added the Doxygen configuration file. Minor documentation fixes.
2003-06-03 23:50:23 +00:00
Jose Fonseca
6611a5fb7f
Split declarations/definitions in drm_scatter.h into drm_sg.h/drm_sg_tmp.h
...
respectively. Splited the work out of the ioctls and renamed (with the
_ioctl prefix). Added some more documentation. Did the same for
drm_sgpsupport.h.
2003-06-03 23:27:01 +00:00
Leif Delgass
ccf6d6a513
Restore DRM_*MEMORYBARRIER change reverted with documentation merge
2003-05-28 01:44:49 +00:00
Jose Fonseca
d2443b2186
Merged DRM documentation.
2003-05-27 00:37:33 +00:00
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
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
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
Alan Hourihane
9c5d16216d
remove unused variable
2003-04-22 12:42:22 +00:00
Keith Whitwell
73e20998b4
Rename drm_lists.h to gamma_lists.h
2003-04-22 12:14:59 +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
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
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
Jens Owen
344c7f6b41
updated e-mail addresses for Keith, Alan and Jens
2002-10-29 20:29:05 +00:00
Alan Hourihane
b3a20ce219
final part of XFree86 4.2.99.2 merge
2002-10-22 23:38:53 +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
Alan Hourihane
8aecdbea76
gamma_alloc -> DRM(alloc)
2002-06-25 12:13:20 +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
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