Commit Graph

57 Commits (d7756397d695e5573647258f8412e9ecfb2645d4)

Author SHA1 Message Date
Ian Romanick fced784140 Refactor common, boilerplate ioctl code from drm_addbufs_* functions into
drm_addbufs. This makes the code more like the BSD code, and makes the
    drm_addbufs_* functions callable in-kernel.
Reviewed by: Dave Airlie
2005-05-20 00:17:40 +00:00
Eric Anholt ec111d70fe Convert BSD code to mostly use bus_dma, the dma abstraction for dealing
with IOMMUs and such. There is one usage of the forbidden vtophys()
    left in drm_scatter.c which will be fixed up soon. This required a KPI
    change for drm_pci_alloc/free() to return/use a drm_dma_handle_t that
    keeps track of os-specific bits, rather than just passing around the
    vaddr/busaddr/size.
Submitted by: Tonnerre Lombard (partially) Tested on: FreeBSD: Rage128
    AGP/PCI Linux: Savage4 AGP/PCI
2005-04-26 05:19:11 +00:00
Eric Anholt 080a547d4d - Implement drm_initmap, and extend it with the resource number to help
FreeBSD. Add drm_get_resource_{start|len} so linux-specific stuff
    doesn't need to be in shared code.
- Fix mach64 build by using __DECONST to work around passing a const
    pointer to useracc, which is unfortunately not marked const.
- Get rid of a lot of maplist code by not having dev->maplist be a pointer,
    and by sticking the link entries directly in drm_local_map_t rather
    than having a separate structure for the linked list.
- Factor out map uninit and removal into its own routine, rather than
    duplicating in both drm_takedown() and drm_rmmap().
- Hook up more driver functions, and correct FreeBSD-specific bits of
    radeon_cp.c, making radeon work.
- Baby steps towards using bus_space as we should.
2005-02-05 08:00:14 +00:00
Dave Airlie 354dd17d25 The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory
The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP
    memory but uses video memory.
From: austinyuan@viatech.com.cn (fd.o bug 1668) Signed-off-by: Dave Airlie
    <airlied@linux.ie>
2005-01-16 05:40:12 +00:00
Felix Kuehling ed165a2529 Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses
drm_pci_alloc/free for allocating/freeing the memory. Only implemented
    in the Linux DRM so far.
2005-01-01 20:03:15 +00:00
Jose Fonseca 0d89b19325 Update Doxygen configuration & comments. 2004-10-18 14:16:41 +00:00
Jon Smirl ad70dc676e Breakout heads into their own data structures. 2004-10-12 03:59:17 +00:00
Jon Smirl ad549c5ae6 Rename fn_tbl to driver. Core driver now uses pci_driver name which
reflects the personality name.
2004-10-10 22:54:55 +00:00
Jon Smirl 61d36f6179 Revert back to drm_order() instead of using kernel get_order(). The
functions are not identical.
2004-10-06 16:27:55 +00:00
Jon Smirl 9f9a8f1382 Lindent of core build. Drivers checked for no binary diffs. A few files
weren't Lindent's because their comments didn't convert very well. A
    bunch of other minor clean up with no code implact included.
2004-09-30 21:12:10 +00:00
Jon Smirl 1c0a437fa2 Move things around to reduce public symbols and even out files. Switch to
get_order from drm_order.
2004-09-30 19:26:35 +00:00
Jon Smirl fa6b1d129e First check in for DRM that splits core from personality modules 2004-09-27 19:51:38 +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
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 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 da6b448497 implement drm_core_check_feature and use it .. looks lots nicer 2004-08-30 11:34:51 +00:00
Dave Airlie 1430163b4b Drop GAMMA DRM from a great height ... 2004-08-29 12:04:35 +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
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
Dave Airlie 5c9ed83094 Merged drmfntbl-0-0-1 2004-08-17 13:10:05 +00:00
Dave Airlie 1f132b7849 whitespace merge with kernel 2004-07-25 05:52:22 +00:00
Dave Airlie 6ba31fb481 Patch from Tom Arbuckle for missing bus_address 2004-07-25 05:36:45 +00:00
Dave Airlie a776c5ec04 first set of __user annotations from kernel (Al Viro) 2004-07-20 12:43:12 +00:00
Dave Airlie fdb6ae31cb fix some more NULLs from kernel 2004-07-20 11:22:26 +00:00
Dave Airlie 8efddd01e8 sparse cleanups from kernel: Al Viro 2004-07-15 13:03:55 +00:00
Dave Airlie fd47335798 update from linux kernel for ia64 2004-04-10 07:36:30 +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
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 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
Jose Fonseca d2443b2186 Merged DRM documentation. 2003-05-27 00:37:33 +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 a57d320461 Only free original pagelist in addbufs_pci if one already exists (fixes
oops).
2003-04-28 16:20:31 +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
Keith Whitwell 056762a910 remove unused dma histogram code 2003-04-22 10:18:29 +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
Keith Whitwell 1728bc637d merged drm-filp-0-1-branch 2003-03-28 14:27:37 +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
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 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
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
David Dawes a576d41498 Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
David Dawes 1759c16ab9 Import -f XFree86 4.0.99.2 2001-04-09 16:27:54 +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