Commit graph

1279 commits

Author SHA1 Message Date
Adam Jackson
07d23f9c60 autoconfiscate libdrm 2005-07-10 22:42:42 +00:00
Jon Smirl
04fea06002 Simplify the sysfs code 2005-07-03 18:07:03 +00:00
Jon Smirl
d41af11ee3 Add sysfs attribute dri_library_name on Linux. code in share-core/via_drv.c
is ok to be shared, it will be passive on BSD.
2005-07-03 17:16:12 +00:00
Jon Smirl
e2ba08d283 release can happen before dev->ctxlist is allocated 2005-06-30 16:00:35 +00:00
Ian Romanick
1b4ce02506 Remove the AGP requirement from Makefile and Kconfig for MGA. Remove the
AGP requirement from Kconfig for SIS. There never was a requirement in
    Makefile, and Eric Anholt confirms that the Makefile was correct.
2005-06-29 23:20:30 +00:00
Alan Hourihane
eeaeefca54 add remaining calls 2005-06-29 13:19:47 +00:00
Alan Hourihane
fc83d76e5a add i915_ioc32.c 2005-06-29 13:13:22 +00:00
Alan Hourihane
6496c5d1e7 silence warning 2005-06-29 13:00:29 +00:00
Dave Airlie
6975571c3b fix some warnings from cross compiler 2005-06-29 12:02:18 +00:00
Dave Airlie
62b55eb433 make r128/mga compile properly on sparc cross-compiler 2005-06-29 11:56:42 +00:00
Alan Hourihane
2b427bee9b Move to linux specific directory 2005-06-29 11:36:37 +00:00
Dave Airlie
964c57e71f add mga and r128 32/64 bits
This is Egberts code, ported to Pauls framework by me..
2005-06-29 11:22:39 +00:00
Dave Airlie
ae7d8d8a85 these don't need reclaim buffers their release functions handle it 2005-06-29 03:06:47 +00:00
Dave Airlie
2ce5ddec83 Bug in conversion from old DRM to core DRM.... 2005-06-29 02:57:18 +00:00
Eric Anholt
c798a382f1 Get the BSD DRM compiling again after MGA and mapping changes. Note that
i915 has been disabled for the moment, rather than working around
    linux-specific code in the shared dir.
2005-06-29 02:54:19 +00:00
Eric Anholt
5d96c74ff1 - Remove drm_initmap and replace its usage with drm_addmap. This reduces
code duplication, and it also hands you the map pointer so you don't
    need to re-find it.
- Remove the permanent maps flag. Instead, for register and framebuffer
    maps, we always check whether there's already a map of that type and
    offset around. Move the Radeon map initialization into presetup (first
    open) so it happens again after every takedown.
- Remove the split cleanup of maps between driver takedown (last close) and
    cleanup (module unload). Instead, always tear down maps on takedown,
    and drivers can recreate them on first open.
- Make MGA always use addmap, instead of allocating consistent memory in
    the PCI case and then faking up a map for it, which accomplished nearly
    the same thing, in a different order. Note that the maps are exposed to
    the user again: we may want to expose a flag to avoid this, but it's
    not a security concern, and saves us a lot of code.
- Remove rmmaps in the MGA driver. Since the function is only called during
    takedown anyway, we can let them die a natural death.
- Make removal of maps happen in one function, which is called by both
    drm_takedown and drm_rmmap_ioctl.
Reviewed by: idr (previous revision) Tested on: mga (old/new/pci dma),
    radeon, savage
2005-06-28 20:58:34 +00:00
Dave Airlie
6397722f19 add compat code from Paul Mackerras 2005-06-28 13:02:20 +00:00
Dave Airlie
827806f697 Add compat to Makefile 2005-06-28 12:52:41 +00:00
Dave Airlie
170bf94a36 Add drm and radeon 32/64-bit compat code from Paul Mackerras 2005-06-28 12:50:15 +00:00
Alan Hourihane
b6b270a260 Given that BenH says using the sysdev approach for DRM is bogus, I'll yank
the code for it, rather than introducing something that isn't going to
    work 100% of the time.
2005-06-28 08:03:33 +00:00
Alan Hourihane
75ba453365 Comment out the .resume function as without programming their dependent
registers things tend to lock up in certain situations.
The BIOS repost will fix things up.
2005-06-28 07:34:49 +00:00
Alan Hourihane
e2d76b0642 Reverse the pm_message_t patch for now, it appears that the 2.6.12 release
didn't have it.
2005-06-27 15:17:12 +00:00
Alan Hourihane
1a6780348c Check for 2.6.12 suspend/resume changes (pm_message_t) 2005-06-27 12:39:02 +00:00
Alan Hourihane
fa24ccccf4 Check dev_priv 2005-06-27 11:41:40 +00:00
Alan Hourihane
d6af201663 Save state of registers for suspend/resume. 2005-06-27 11:39:44 +00:00
Jon Smirl
afdabdabf5 removed dev->sysdev_registered 2005-06-26 13:31:15 +00:00
Jon Smirl
9deb276a06 Ref count the sysdev class to support multiple DRM cards 2005-06-24 22:48:16 +00:00
Jon Smirl
2b845f25c5 Make sysdev class only register when fbdev detected 2005-06-24 21:50:40 +00:00
Jon Smirl
5b0e93de32 More err path clean up for drm_pm Add mandatory sysdev shutdown function 2005-06-24 19:31:06 +00:00
Alan Hourihane
fe42d43a63 Fix the sysdev approach for power management.
We need to use the container_of() call to access our device private.
2005-06-24 09:28:50 +00:00
Alan Hourihane
cdc50eba6a Fix suspend problem when i915 private hasn't been initialized yet. 2005-06-24 08:56:12 +00:00
Jon Smirl
7586a655fc Fix drm_memory_debug.c to compile, doesn't seem to be working Clean up
error return path in drm_stub.c
2005-06-23 05:29:16 +00:00
Jon Smirl
4152605ea1 Get the power management hooks into the right place so that everything gets
freed correctly.
2005-06-22 05:49:56 +00:00
Jon Smirl
9fb77e869f Change initialization of savage register access to _DRM_READ_ONLY. Flags of
zero does not mean no privs, instead it grants write access
    _DRM_READ_ONLY only applies to non-root users. Problem is only in CVS,
    initmaps are not in the kernel yet.
2005-06-21 02:20:02 +00:00
Jon Smirl
298b6fcedb Change initialization of radeon register access to _DRM_READ_ONLY. Flags of
zero does not mean no privs, instead it grants write access
    _DRM_READ_ONLY only applies to non-root users. Problem is only in CVS,
    initmaps are not in the kernel yet.
2005-06-20 15:40:48 +00:00
Jon Smirl
ae2264d3c9 Remove I2C support from radeon driver. Same support is available from
radeonfb.
2005-06-19 04:15:58 +00:00
Dave Airlie
71df0eed34 fix up drm_alloc_agp to take a dev arg and not pass crappy agpgart around 2005-06-17 09:09:17 +00:00
Jon Smirl
0569fe7a52 Fix 810/830 build 2005-06-17 04:47:30 +00:00
Alan Hourihane
53e950b344 Force AGP always for Intel chipsets.
Fixes bug #3552
2005-06-16 19:58:00 +00:00
Ian Romanick
1567753415 Re-sync (and correct!) shared/mga_drm.h with shared-core/mga_drm.h. 2005-06-15 17:47:33 +00:00
Ian Romanick
72cfc797b5 Adds support for PCI cards to MGA DRM
This patch adds serveral new ioctls and a new query to get_param query to
    support PCI MGA cards.
Two ioctls were added to implement interrupt based waiting. With this
    change, the client-side driver no longer needs to map the primary DMA
    region or the MMIO region. Previously, end-of-frame waiting was done by
    busy waiting in the client-side driver until one of the MMIO registers
    (the current DMA pointer) matched a pointer to the end of primary DMA
    space. By using interrupts, the busy waiting and the extra mappings are
    removed.
A third ioctl was added to bootstrap DMA. This ioctl, which is used by the
    X-server, moves a *LOT* of code from the X-server into the kernel. This
    allows the kernel to do whatever needs to be done to setup DMA buffers.
    The entire process and the locations of the buffers are hidden from
    user-mode.
Additionally, a get_param query was added to differentiate between G4x0
    cards and G550 cards. A gap was left in the numbering sequence so that,
    if needed, G450 cards could be distinguished from G400 cards. According
    to Ville Syrjälä, the G4x0 cards and the G550 cards handle
    anisotropic filtering differently. This seems the most compatible way
    to let the client-side driver know which card it's own. Doing this very
    small change now eliminates the need to bump the DRM minor version
    twice.
http://marc.theaimsgroup.com/?l=dri-devel&m=106625815319773&w=2
A number of ioctl handlers in linux-core were also modified so that they
    could be called in-kernel. In these cases, the in-kernel callable
    version kept the existing name (e.g., drm_agp_acquire) and the ioctl
    handler added _ioctl to the name (e.g., drm_agp_acquire_ioctl).
This patch also replaces the drm_agp_do_release function with
    drm_agp_release. drm_agp_release (drm_core_agp_release in the previous
    patch) is very similar to drm_agp_do_release, and I saw no reason to
    have both.
This commit *breaks the build* on BSD. Eric said that he would make the
    required updates to the BSD side soon.
Xorg bug: 3259 Reviewed by: Eric Anholt
2005-06-14 22:34:11 +00:00
Dave Airlie
3585bdf7d8 fix up drm.h for C++ include as this can be included in user programs 2005-06-11 10:08:39 +00:00
Dave Airlie
f4aa8ab715 add dragonfly #define from Xorg CVS 2005-06-10 01:21:23 +00:00
Ian Romanick
28759fd872 Synchronize with the shared-core version. 2005-06-09 21:24:34 +00:00
Ian Romanick
dfc650bd80 Completely re-initialize DMA settings
There were two problems. First, the 'warp' and 'primary' pointers weren't
    cleared, so mga_do_cleanup_dma, which gets called multiple times, would
    try to ioremapfree them multiple times. This resulted in the new error
    messages to syslog. The second problem was the, since the dev_private
    structure isn't reallocated and cleaned out in mga_do_init_dma, when
    the server is reloaded idle-waits would wait for impossible values.
I have given this patch some more riggorous testing. This includes:
- Load module, start server, run GL app, stop server, unload module.
- Load module, start server, run GL app, stop server, unload module, reload
    module, restart server, run GL app.
- Load module, start server, run GL app, stop server, restart server, run
    GL app, stop server, unload module.
In all three cases, everything worked as expected. Please let me know if
    there are any further regressions with this patch.
Xorg bug: 3408 Reported by: Chris Rankin
2005-06-09 21:18:56 +00:00
Jon Smirl
1252890ff1 drm_mem_init should be done at core load, not driver init 2005-06-09 13:22:12 +00:00
Dave Airlie
9f2f010763 fix some issues with radeon interrupt handling
From: Dave Airlie + Benjamin Herrenschmidt
2005-06-06 11:35:43 +00:00
Alan Hourihane
246c617c87 Fix copyrights 2005-06-06 09:18:44 +00:00
Eric Anholt
751765dba5 Add a few more bits of Tonnerre's NetBSD port (Still need to deal with the
device attachment).
2005-06-06 06:45:41 +00:00
Dave Airlie
805a07714f misc cleanup patch from Adrian Bunk 2005-06-04 06:18:11 +00:00