Commit Graph

1074 Commits (2fc697a7d270d57463eb5a16a0c65bd8e14c9893)

Author SHA1 Message Date
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
David Dawes 44aa4d6297 First pass merge of XFree86 4.2.0 import. 2002-01-27 20:05:42 +00:00
David Dawes 14945ada16 Import of XFree86 4.2.0 2002-01-27 18:23:04 +00:00
David Dawes 16bd14926e Initial revision 2002-01-27 18:23:04 +00:00
Alan Hourihane f18a6d836b merge with linux kernel 2.4.15 2001-12-10 23:29:37 +00:00
Keith Whitwell 727abee235 Put back i810 major version number (same reasons as for r128) 2001-11-27 11:43:12 +00:00
Keith Whitwell 13e11e1f94 Put drm version back from 3.0 to 2.2; XFree86 4.1 is the baseline for
versioning information.
2001-11-26 13:28:38 +00:00
Alan Hourihane 05fb3e93f2 wrap the MODULE_LICENSE definition. 2001-11-02 17:40:11 +00:00
Alan Hourihane 92ad1b60e1 merge kernel 2.4.13-pre6. 2001-10-22 19:15:04 +00:00
Alan Hourihane bdd84e8958 commit Abraham vd Merwe fix. 2001-10-08 12:58:20 +00:00
Alan Hourihane ca820fca87 merge with 2.4.10 kernel 2001-09-25 09:32:16 +00:00
Alan Hourihane 390440c939 remove Linux 2.3.x cruft. 2001-09-18 11:00:23 +00:00
Alan Hourihane b1c44c8ac1 bumped the DRM versions (already done in ddx and client side drivers). 2001-09-17 21:12:10 +00:00
Alan Hourihane f4c2f14002 No one's maintaining 2.2.x support - so remove all the cruft. 2001-08-19 15:20:08 +00:00
Jeff Hartmann 8aaf82d45c A few warning fixes when actually building under 2.4.9-pre2 + some
reformating
2001-08-14 00:35:07 +00:00
Jeff Hartmann aa09e36114 Sync with Linus 2.4.9-pre2 + make all nopage routines more alike 2001-08-13 23:23:47 +00:00
Alan Hourihane 2d4b2cf6f6 new multihead code was missing Voodoo3 2000 and Voodoo4 support. 2001-08-11 15:48:00 +00:00
Jeff Hartmann 97b8aa52bb Commit Keith Owens kernel Makefile changes, merge and commit alpha patch
set from Jay Estabrook (sans some mga modifications which broke other
    arch's.)
2001-08-10 16:29:21 +00:00
Jeff Hartmann b6923b3953 Update to the code I sent Linus and Alan this morning. Added some missing
agp chipsets to drm_agpsupport.h, redid the card detection common code
    to use a structure (avoids endian porting issues), changed the tdfx
    driver to use the kernel pci id '#defines'
2001-08-08 16:10:47 +00:00
Jeff Hartmann 938a637d1f Avoid compiler warning about r_list being used uninitialized. 2001-08-07 18:22:41 +00:00
Jeff Hartmann 51e38d96ea Lots of DRM fixes: added new pieces of template code so the ffb driver can
be ported, rolled back r128 and i810 version bumps so 4.1.0 works with
    cvs kernel modules, added Config.in and updated Makefile.kernel,
    incorporated lots of drm fixes inspired by patches sent by Redhat, made
    DRM(realloc) usage check for NULL allocations, restructure driver init
    routines to export dev_priv only when initialized and to check for all
    error conditions.
2001-08-07 18:15:10 +00:00
David Dawes 56bd9c2077 Merge the multihead-1-0-0 branch into the trunk, with the exception of the
glide header files.
The changes include:
- Brian Paul's changes to the tdfx client-side 3D driver to make it
    dlopen() the correct glide library (Voodoo3 or Voodoo5). This allows
    both types of the glide library to co-exist, and allows Voodoo3/Voodoo5
    cards to be mixed in multi-head configs.
- DRM kernel driver changes to allow a driver to set up multiple instances
    (minor numbers), one for each card present that the driver supports.
    This is currently implemented and tested only for the tdfx DRM driver.
- Add some missing missing <stdarg.h> includes.
- Some log message cleanups.
- Change the 2D tdfx driver to access VGA legacy registers via their PCI
    I/O space access points rather than their legacy addresses, and fix
    some problems with the way the VGA-related bits are initialised.
Status:
- With these changes, multi-head direct rendering works with multiple
    Voodoo3 and/or Voodoo5 cards. This has been tested with two PCI Voodoo3
    cards and an AGP Voodoo5 card, and all permutations of those.
Caveats:
- Xinerama is not supported. If Xinerama is enabled, then direct rendering
    gets disabled.
- The text mode on secondary screens will show junk after the X server
    exits.
- On some hardware, starting the X server on multiple 3dfx cards will
    result in a hard lockup. One workaround is to enable APIC support in a
    uni-processor kernel, or use an SMP kernel.
2001-07-30 19:59:39 +00:00
Jeff Hartmann 84a5e71087 Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
Jeff Hartmann 5e8ba79eb6 Merge checker fixes from Alan Cox made to the drm in the ac kernel tree.
These aren't really security problems, but Alan has made some arguments
    that have convinced me that the code should be fixed anyway.
2001-07-20 22:16:04 +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 c6454e6a93 Someone forgot to bump the r128 and i810 drivers properly before the 4.1.0
release. Better late than never.
2001-07-17 22:31:26 +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
Jeff Hartmann b816802daf i810 drm security fix 2001-07-16 16:57:12 +00:00
Jeff Hartmann 12e9c636df Fix 5 security bugs found by the Stanford tools 2001-06-18 19:25:15 +00:00
Gareth Hughes b1a588f0cc Forgot to bump date stamp. 2001-06-18 13:45:23 +00:00
Gareth Hughes 3a410059b4 Enable shared IRQs in DMA template, use in i810 driver. 2001-06-18 12:59:42 +00:00
David Dawes d87c873df0 First pass of 4.1.0 merge. 2001-06-14 22:23:44 +00:00
Gareth Hughes dca245e37c Only authenticated clients can mmap() (Jeff Hartmann). 2001-05-23 17:41:31 +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
David Dawes a576d41498 Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
Alan Hourihane b804c09d06 fix build of i810 kernel driver for 2.4.3 or greater kernels 2001-04-30 16:18:22 +00:00
Kevin E Martin df76f81292 - PCIGART patches for Alpha from Compaq 2001-04-30 15:07:18 +00:00
David Dawes 1759c16ab9 Import -f XFree86 4.0.99.2 2001-04-09 16:27:54 +00:00
Alan Hourihane 2bd9bf98c7 Handle drivers that don't have __HAVE_SG defined. 2001-04-06 08:39:02 +00:00
Kevin E Martin 5d6ddbca26 Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
Alan Hourihane a15b9dec3c include 2.4.2 2001-04-03 08:01:00 +00:00
Alan Hourihane 4259e5e617 make 2.4.2 -> 2.4.3 change conditional. works with older than 2.4.3 kernels
again.
2001-04-03 07:50:30 +00:00
Gareth Hughes 62d4931529 Update radeon DRM to v1.1.0 (texture upload changes). 2001-04-02 01:17:18 +00:00
Alan Hourihane e407c2f5a6 merge in 2.4.3 kernel change. 2001-03-30 13:32:39 +00:00
Gareth Hughes 92b0aaa6fe - Fix MGA header info.
- Update date strings.
- Fix MGA hangs (undocumented side effects of DWGSYNC).
- Remove idle before ILOAD??? Seems fine with the above fix.
2001-03-21 13:10:27 +00:00
David Dawes 0e5b8d77cf Import of XFree86 4.0.99.1 2001-03-19 17:45:52 +00:00
Gareth Hughes b42ff4f660 Update version, date stamp. 2001-03-19 12:16:24 +00:00
Gareth Hughes 9914f4cf60 Remove PRIMPTR completely. 2001-03-19 12:04:12 +00:00
Gareth Hughes f2ad4d9beb __REALLY_HAVE_MTRR, vmalloc_32 fixes from Jeff Wiedemeier. 2001-03-18 23:54:41 +00:00
Kevin E Martin 74e19a4018 Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
Gareth Hughes 134aecdeed Fix ring space calculations, tests. Based on patch by Bruce Stockwell. 2001-03-08 00:21:33 +00:00
Gareth Hughes 8c511c60ec Change error message to debug message when client dies while holding the
lock. Should prevent bug reports about this, but you never know...
2001-03-07 15:06:57 +00:00
Alan Hourihane 07f761bfae surround agp calls in drm_memory with __REALLY_HAVE_AGP instead of
CONFIG_... remove include for agpsupport in tdfx_drv.c - not needed.
2001-03-07 08:53:15 +00:00
Gareth Hughes 3a74d3a371 Merge tdfx-3-1-0 branch. 2001-03-06 04:37:37 +00:00
Alan Hourihane 971c2f8ad5 allow dristat to find out whether AGP is write-combined or not. 2001-03-05 16:02:40 +00:00
Alan Hourihane d1774bb44c fix that last patch to initialize the MTRR when AGP available. 2001-03-05 15:52:11 +00:00
Alan Hourihane 8d3f3f4f9b Don't try and setup the MTRR for AGP when AGP not available. Check
dev->agp, when agp_acquire called, and..... Uncomment MUST_HAVE_AGP
    around agp_* calls, so that support for both agp/pci can happen in a
    single kernel driver.
2001-03-04 19:19:20 +00:00
Rik Faith c4a247d262 Add Linux 2.2.x support for stubs 2001-02-21 16:06:10 +00:00
Gareth Hughes 01a14789ed - Clean up the way customization of the templates is done.
- Fix old-style DMA for gamma driver (please test).
- Pull out IRQ handling into drm_dma.h (please test on i810, gamma).
- Lots of general cleanups, remove compiler warnings etc.
2001-02-16 05:24:06 +00:00
Keith Whitwell 1d30ac1140 Added missing include "drm_lists.h".
i810 now working fine with new kernel module.
2001-02-15 16:31:11 +00:00
Gareth Hughes f2f5bf6f5f - Fix up merge.
- Update date stamps.
2001-02-15 10:26:03 +00:00
Gareth Hughes 360475376c Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
Gareth Hughes 82b645dc74 Corresponding sync with PCI GART updates. 2001-01-29 17:46:23 +00:00
Gareth Hughes 4d2a4455b4 - Misc cleanups.
- Fix drmR128Clear parameters (Radeon to follow).
- Add some helper macros to r128/radeon kernel modules.
2001-01-24 15:34:46 +00:00
Nathan Hand 61c15f4a2d Merged tdfx-3-0-0 2001-01-08 16:21:42 +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 b19c44e4fe Update date information. 2000-12-15 01:15:57 +00:00
Gareth Hughes 8725828cf0 - Fix nasty depth span bug. Drawable offset was not being added to pixel
coords.
- Remove unneeded mask parameters from clear ioctl.
- Use correct subpixel offsets, fixes most glean bugs.
- Remove 32-bit depth buffer support. Only use 16 or 24-bit depth buffers.
2000-12-12 14:50:50 +00:00
Gareth Hughes e15a24e154 Merged ati-4-1-1-branch into trunk. 2000-12-02 06:14:18 +00:00
Rik Faith 679531e166 Sync with Linux 2.4.0-test11-pre5 Provide backward compatibility tested
against 2.2.18pre21
As usual, since all 2.4.0-test* kernels set LINUX_VERSION_CODE to the same
    value, if you are running a 2.4.0-test kernel, you MUST be running
    2.4.0-test11-pre4 or later (although anything after 2.4.0-test11-pre1
    should work fine -- I tested with pre4/pre5). I expect 2.2.x support to
    continue to work for all recent kernels, but I tested with 2.2.18pre21
    -- we use the old intermodule symbol communication for 2.2.x kernels,
    so they should all continue to work.
2000-11-15 15:47:51 +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
Jeff Hartmann ed2d0b4bb0 Fixed two things Rik pointed out in the last commit 2000-09-28 15:09:39 +00:00
Jeff Hartmann 550dff98b0 Merged the mga-lock-debug-0-2-0-branch with the trunk. This includes
several fixes including: (Jeff) Really disable multitexture (Broken
    since Mesa 3.4 integration.)
(Jeff) Various changes in mga_state.c in the kernel module, which includes
    a fix to the bug where the first OGL application hangs the machine
    w/out rendering anything. This also includes defines for the warp
    registers so they are easily human readable.
(Rik and Jeff) Fixed all the schedule loops in the kernel to look like they
    are supposed too.
(Jeff) Configurable agp modes: Add the option "AGPMode2x" or "AGPMode4x" to
    your XF86Config file.
(Rik) Various cleanups to the mga kernel driver to make it easier to read
    and debug.
(Rik) Removed alot of DRM_DEBUG statements from the kernel driver.
2000-09-27 21:32:19 +00:00
Alan Hourihane c7558d8fa4 commit xfree86 4.0.1d-pre update 2000-09-24 09:34:10 +00:00
Gareth Hughes bda40b4146 Sync with 2.4.0-test8 kernel. 2000-09-10 04:59:05 +00:00
Alan Hourihane f1bb3c5f5f Merged tdfx-2-1-branch 2000-09-07 12:40:41 +00:00
Gareth Hughes 7db6449142 Sync with 2.4.0-test8-pre5 kernel. 2000-09-06 20:56:34 +00:00
Keith Whitwell e3e2d66131 Bump version number after kernel interface change. 2000-08-31 15:32:10 +00:00
Rik Faith 32cebaf750 Add compatibility header file to make Linux 2.4.0 kernel patches cleaner. 2000-08-28 19:50:52 +00:00
Rik Faith 6f07e1ff6b Sync with Linux 2.4.0-test7 Add signal blocking support to all drivers
(using control-z on a running direct-rendering client should work now)
2000-08-26 10:36:44 +00:00
Rik Faith ac3c3571a7 Remove misleading authorship information from sis driver (author has been
contacted and will provide improved information later) Rename
    sis_drm_public.h to sis_drm.h to be consistent with the other drivers.
2000-08-25 12:45:53 +00:00
Rik Faith 364d44a24c Fix ABA problem in drm_freelist_{put,try} 2000-08-18 18:57:56 +00:00
Rik Faith f0f6509a72 Sync with Linux 2.4.0-test7/pre4 2000-08-18 13:55:23 +00:00
Rik Faith 761ffd63f3 Bug #112197 Made sis driver compile under 2.4.0-test7/pre4 2000-08-17 20:20:33 +00:00
David Dawes 1df8afa8ff Initial revision 2000-08-16 17:23:02 +00:00
Rik Faith 8b9363d1b1 Sync with Linux 2.4.0-test6-pre8 2000-08-08 16:04:21 +00:00
Jeff Hartmann 9199075a6a Fix for multiple sarea bug + agp built into kernel segfault 2000-08-07 16:55:10 +00:00
Rik Faith f3ae6786f8 Sync with Linux 2.4.0-test6-pre2 2000-08-04 10:04:55 +00:00
Rik Faith bcad118182 Fix typo 2000-07-22 01:08:00 +00:00
Rik Faith 1e54e55431 Move to new, denser, easier-to-read Linux kernel Makefile format 2000-07-22 01:04:22 +00:00
Rik Faith 3bcc55a74d Revert some changes and try alternative way to clean up AGP handling. 2000-07-21 18:28:01 +00:00
Rik Faith 6dd96a15ed Revert some changes and try alternative way to clean up AGP handling. 2000-07-21 16:57:00 +00:00
Rik Faith e38b34e54a Fixes for building in the kernel tree 2000-07-21 15:48:24 +00:00
Rik Faith 81da79d1ed Changes to make AGP optional for in-kernel builds 2000-07-21 14:20:57 +00:00
Rik Faith b4722ec943 More fixups for kernel build: EXPORT_SYMTAB warning removal
put_module_symbol clean up of tdfx tdfx_cleanup routine Makefile.kernel
    fix
2000-07-20 05:17:49 +00:00
Rik Faith 0bd1fa795a Fixes for building in the kernel tree 2000-07-20 01:52:00 +00:00
Rik Faith e8c9ed03f8 Fixed for monolithic kernel build 2000-07-20 01:14:58 +00:00
Rik Faith 742c33bf61 Fix signature for *_options function 2000-07-20 00:59:40 +00:00
Rik Faith c459c9ead3 Added support for building as modules or as part of monolithic kernel 2000-07-20 00:48:12 +00:00
Rik Faith 1d3c4d2ed2 Bump driver dates and add descriptions 2000-07-19 20:59:35 +00:00
Rik Faith aed8549e91 Sync with Linux 2.4.0-test4 kernel 2000-07-19 18:38:41 +00:00
Brian Paul 7b888f87fa applied Jeff's xf86cvs-I810copy.patch 2000-07-13 18:47:48 +00:00
Alan Hourihane 8751b6774d Merge XFree86 4.0.1 2000-07-11 11:41:07 +00:00
Alan Hourihane 8bc39d01ca Import of XFree86 4.0.1 2000-07-10 21:32:06 +00:00
Gareth Hughes 62838b948c Fix for agpgart module detection. If the kernel module has been configured
to use AGP, and the module is not present, fail gracefully instead of
    doing evil things.
2000-07-01 01:50:00 +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
Rik Faith 1c8b2b5e06 Update email addresses and copyright notices to reflect VA Linux Systems 2000-06-13 14:22:03 +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
Brian Paul 5ce0f2afec define VM_DONTCOPY to zero if undefined 2000-06-06 22:51:29 +00:00
Keith Whitwell ddcb28259f Merged mga-0-0-3-branch
- New security model for i810
- Enable i810 dri by default
- New indexed vertex path for mga
- Mga kernel driver rework
- Removed dead files in i810 driver
2000-05-25 21:06:02 +00:00
Kevin E Martin 99efe3c247 Merged ati-4-0-1 2000-05-18 06:14:27 +00:00
Jeff Hartmann 1dcfddf915 Fixed reclaim Oops 2000-04-05 18:48:23 +00:00
Jeff Hartmann ba1b1ae380 Merged mga branch with trunk 2000-04-04 22:08:14 +00:00
Jeff Hartmann 5bd8014f27 Merge with 4.0 2000-03-16 03:37:30 +00:00
Kevin E Martin d9ff0e3884 3.9.18 merge 2000-02-22 22:10:28 +00:00
Kevin E Martin 7a9b291ab5 Import of XFree86 3.9.18 2000-02-22 15:43:59 +00:00
Daryll Strauss aa724a52b9 Add a drm_poll function to the tdfx driver. This fixes the problem with
3.9.17 where the server hangs when the mouse is first moved.
2000-01-12 21:47:44 +00:00
Rik Faith 1c33c69095 Import of XFree86 3.9.17 2000-01-06 12:55:00 +00:00
Rik Faith b03b238dfc Sync with Linux 2.3.30 1999-12-08 19:20:20 +00:00
Daryll Strauss e1dba5c3a7 Move Mesa to xc/extras Update to the latest Mesa 3.2 code Fix the Q3Demo
bugs (white railgun and texture mapping) Simplify driver texture
    mapping routines Fix device driver for 2.3 kernels Improve performance
1999-12-07 03:37:16 +00:00
Daryll Strauss b6a28bfe98 First DRI release of 3dfx driver. 1999-12-05 23:10:37 +00:00