Keith Packard
7461519fed
Document fence_class mess in drm_bo_setstatus_ioctl
...
drmBOSetStatus does not bother to set the fence_class parameter.
Fortunately, drm_bo_setstatus_ioctl doesn't end up using it as it
calls drm_bo_handle_validate with use_old_fence_class = 1.
2007-12-15 12:10:42 -08:00
Keith Packard
5f23519b14
Document drm_bo_handle_validate. Match drm_bo_do_validate parameter order.
...
Document parameters and usage for drm_bo_handle_validate. Change parameter
order to match drm_bo_do_validate (fence_class has been moved to after
flags, hint and mask values). Existing users of this function have been
changed, but out-of-tree users must be modified separately.
2007-12-15 12:10:42 -08:00
Keith Packard
b5181d2506
Document drm_bo_do_validate. Remove spurious 'do_wait' parameter.
...
Add comments about the parameters to drm_bo_do_validate, along
with comments for the DRM_BO_HINT options. Remove the 'do_wait'
parameter as it is duplicated by DRM_BO_HINT_DONT_BLOCK.
2007-12-15 12:10:42 -08:00
Keith Packard
b0bc5f1ae5
Make ttm create/destroy APIs consistent. Pass page_flags in create.
...
Creating a ttm was done with drm_ttm_init while destruction was done with
drm_destroy_ttm. Renaming these to drm_ttm_create and drm_ttm_destroy makes
their use clearer. Passing page_flags to the create function will allow that
to know whether user or kernel pages are needed, with the goal of allowing
kernel ttms to be saved for later reuse.
2007-12-15 12:10:41 -08:00
Alan Hourihane
f62a300547
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
2007-12-13 10:41:23 +00:00
Alan Hourihane
35a8b61317
catch an out of memory condition
2007-12-13 10:40:36 +00:00
Dave Airlie
8d2da20233
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/drm_drv.c
shared-core/drm.h
shared-core/i915_dma.c
2007-12-11 16:58:00 +10:00
Dave Airlie
f99dea7db0
modesetting: fixup property setting and add connector property
2007-12-11 15:56:48 +10:00
Dave Airlie
3b6786e3e6
modesetting: add dpms property and initial settable property ioctl
2007-12-11 14:46:51 +10:00
Dave Airlie
cfa21b22b4
drm: move agp include outside CONFIG_AGP as it isn't dependant on agp in kernel
2007-12-10 10:13:52 +10:00
Jerome Glisse
a693e8ab12
radeon_ms: fix fbcon by fixing palette
2007-12-06 23:36:58 +01:00
Jerome Glisse
a39560e767
radeon_ms: update to lastest fb change
2007-12-06 23:19:52 +01:00
Jerome Glisse
931b4a84a0
Merge commit 'origin/modesetting-101' into modesetting-radeon
2007-12-06 22:42:17 +01:00
Dave Airlie
f1a99ddc14
take down stuff after asking driver to unload
2007-12-06 16:03:28 +10:00
Dave Airlie
9814e87016
retab intelfb code
2007-12-06 11:47:29 +10:00
Dave Airlie
8020724615
check previous mode first
2007-12-06 11:46:54 +10:00
Dave Airlie
1ba2bb3a7e
oops initialise variable to false
2007-12-06 11:35:37 +10:00
Dave Airlie
67f6eb1eb8
add property blobs and edid reporting support
2007-12-06 10:44:51 +10:00
Dave Airlie
c9cda51af5
more WIP on blobs..
...
I'm going to pass back a list of blob ids and lengths in the getproperty.
will need another ioctl to return the blob data as it is variable length.
2007-12-05 16:31:35 +10:00
Dave Airlie
1a6c95ef71
arrgggh.. make all ioctl structs 32/64-bit compatible hopefully.
...
This also starts to add blob property support.
someone needs to check this work for other things like ppc/x86 alignment diffs
2007-12-05 16:03:05 +10:00
Jesse Barnes
f7432d187e
Don't free driver mapped locks
...
This fix is actually a bit of a cleanup too--it moves lock freeing to
drm_rmmap_locked and out of drm_lastclose. This makes it symmetrical with
addmap and also prevents the lock from being incorrectly freed from driver
mappings.
2007-12-04 14:38:00 -08:00
Jerome Glisse
34797ff67c
radeon_ms: radeon modesetting first commit.
...
This should work on all radeon but there is still many things todo:
- add crtc2
- tmds
- lvds
- add bios data table so we don't need to hardcode dac/crtc infos
- separate clock control to make power saving easier & cleaner
- tiling (warning tiling shouldn't be enable in double scan or interlace)
- surface reg manager (this goes along with tiling)
- suspend/resume hook
- avivo & r500 family support
- atom bios support (for posting card mostly)
- finish superioctl skeleton
- what else ? :)
2007-12-04 23:03:12 +01:00
Dave Airlie
2f6e533421
patch from -mm kernel to use upper_32_bits
2007-12-05 04:56:54 +10:00
Dave Airlie
1a07dd5ffd
hooks up sync and flags and also clocks to get mode matching better
2007-12-03 15:30:05 +10:00
Dave Airlie
9a843d3bc7
add flags to mode debug print
2007-12-03 15:30:05 +10:00
Dave Airlie
96df9b11ad
finish of mode add/remove, just have attach/detach modes
2007-12-03 15:30:05 +10:00
Dave Airlie
91cd3e3c09
modesetting API change for removing mode ids and making modes per output.
...
so really want to get a list of modes per output not the global hammer list.
also we remove the mode ids and let the user pass back the full mode description
need to fix up add/remove mode for user modes now
2007-12-03 15:30:05 +10:00
Robert Noland
d6295cc9ff
drm: Add _DRM_DRIVER map flag.
...
This flag indicates that the driver is responsible for the map.
2007-12-01 02:40:13 -05:00
Dave Airlie
32c9a109b1
drm: enable udev node creation
2007-11-29 09:47:24 +10:00
Dave Airlie
4602b6687e
drm: oops not a cleanup..
2007-11-29 09:46:02 +10:00
Dave Airlie
dc338921f9
drm: more cleanups
2007-11-29 09:38:21 +10:00
Jesse Barnes
617cbeed2a
Don't use panel fitter if we're programming a native mode
...
Fix from the DDX driver.
2007-11-27 12:41:05 -08:00
Dave Airlie
b3af2b59a7
drm/modesetting: add initial gettable properites code.
...
This allow the user to retrieve a list of properties for an output.
Properties can either be 32-bit values or an enum with an associated name.
Range properties are to be supported.
This API is probably not all correct, I may make properties part of the general
resource get when I think about it some more.
So basically you can create properties and attached them to whatever outputs you want,
so it should be possible to create some generics and just attach them to every output.
2007-11-27 14:31:02 +10:00
Dave Airlie
f9ac54b031
fb: make fb interface use user mode attach/detach for adding modes
2007-11-26 15:06:42 +11:00
Dave Airlie
362f428320
add _ioctl to the end of two more ioctls
2007-11-26 14:28:48 +11:00
Dave Airlie
53b4e0cb78
drm: make fb modes use usermode add/remove interface
...
this stops usermode from getting a mode in the crtc it can't make sense off.
2007-11-26 14:05:49 +11:00
Dave Airlie
a20587e395
Merge branch 'origin' into modesetting-101
...
Conflicts:
linux-core/drmP.h
shared-core/i915_dma.c
shared-core/i915_drm.h
shared-core/radeon_drv.h
2007-11-22 17:17:06 +11:00
Dave Airlie
5dc5c36e62
drm: major whitespace/coding style realignment with kernel
2007-11-22 16:10:36 +10:00
Dave Airlie
7bf05708b6
drm: cleanup drm_regman.c coding style
2007-11-22 13:29:17 +10:00
Jerome Glisse
09e51db77b
drm: don't reset to 0 irq_enabled when client open file descriptor
2007-11-21 18:58:29 +01:00
Jerome Glisse
8fd8bf599b
drm: don't reset to 0 irq_enabled when client open file descriptor
2007-11-21 18:58:03 +01:00
Jerome Glisse
f29b2a583d
drm: fix dead lock in drm_buffer_object_transfer
2007-11-19 14:39:14 +01:00
Jerome Glisse
648b5b582a
drm: fix dead lock in drm_buffer_object_transfer
2007-11-19 14:37:21 +01:00
Jesse Barnes
e0ab2034c3
Fix connection status ABI
...
Userspace expects a 1 based enum for connection status so fix up the kernel
definition.
2007-11-16 13:58:43 -08:00
Jesse Barnes
96e136c479
Fix typo in copy_to_user calls
...
We want to copy to card_res->modes + copied, not &card_res->modes + copied.
2007-11-16 13:57:42 -08:00
Jeremy Kolb
f2c8d39a0f
nouveau: rename
2007-11-15 22:11:35 -05:00
Jeremy Kolb
a3e627f8d6
nouveau: flip buffer into gart.
2007-11-15 22:11:35 -05:00
Jesse Barnes
7ec4ebe95e
Use user copy routines for writing modes & ids back to userspace
...
Since the drm_mode_card_res structure contains user pointers, we have to use
put_user and copy_to_user to write stuff out. The DRM ioctl wrapper will only
take care of copying the base drm_mode_card_res struct, not the included
arrays.
2007-11-15 17:14:03 -08:00
Thomas Hellstrom
d1b0258b32
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
2007-11-15 10:42:47 +01:00
Thomas Hellstrom
6206091e5f
mm fixups.
2007-11-15 10:39:41 +01:00
Dave Airlie
1e8984a367
drm: send correct fb id to userspace
2007-11-15 18:31:23 +11:00
Dave Airlie
2520d3fd99
modes: pass type to userspace for preferred showing
2007-11-15 16:52:04 +11:00
Dave Airlie
7136f55faa
drm: don't remove mappings added by the driver
2007-11-15 16:51:48 +11:00
Dave Airlie
12cbe1365b
intel: fixup || vs |
2007-11-15 16:51:35 +11:00
Dave Airlie
f0fe478c15
Merge branch 'master' into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
tests/ttmtest/src/ttmtest.c
2007-11-15 15:04:19 +11:00
Dave Airlie
62cdc6dbb3
i915: remove excess debug output
2007-11-15 14:44:19 +11:00
Dave Airlie
2eee33ace5
intel: add flushing for i8xx chipsets.
...
Add a nut vs hammer style chipset flush for the i8xx chipsets - reenable TTM
code paths
2007-11-15 13:29:55 +11:00
Kristian Høgsberg
68cdcda1ea
Add new shared header file drm_internal.h.
...
This header file is shared across linux and bsd, but is not installed
for user space to access. It's the place to put prototypes and data
types that aren't platform or chipset specific, but still internal to
the drm.
2007-11-14 14:28:34 -05:00
Ben Skeggs
7e4bb6099a
Revert "nouveau: stub superioctl"
...
This reverts commit 2370ded79b
.
Err.. didn't mean for that to slip in :)
2007-11-14 05:11:11 +11:00
Ben Skeggs
eb5487b9ca
Merge branch 'fifo-cleanup' into upstream-master
2007-11-14 05:09:07 +11:00
Ben Skeggs
7246a33dd1
nouveau: store user control reg offsets in channel struct
2007-11-14 04:09:53 +11:00
Ben Skeggs
2370ded79b
nouveau: stub superioctl
2007-11-14 03:00:25 +11:00
Jesse Barnes
793cd1dad5
Make sure PLLs are enabled before writing pipe configuration regs
...
Fix from the X driver. Make sure the PLLs are enabled and not in VGA mode
before writing PIPE(A|B)CONF regs to avoid hangs or crashes.
2007-11-10 14:39:36 -08:00
Patrice Mandin
c2f80ecf4b
suspend() and resume() need kernel 2.6.22 or later
2007-11-09 18:08:08 +01:00
Jerome Glisse
e1bc147ac9
drm: check edid data, so we deal well with broken driver.
2007-11-09 17:28:56 +01:00
Jerome Glisse
ffb89d4c3b
drm: split edid handling in get_edid & add_edid_mode
...
This way driver can get_edid in output status detection
(using all workaround which are in get_edid) and then provide
this edid data in get_mode callback of output.
2007-11-09 15:47:24 +01:00
Thomas Hellstrom
e9805de5c7
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
2007-11-07 18:10:46 +01:00
Thomas Hellstrom
c20370e096
Don't overwrite TTM page flags.
2007-11-07 18:07:56 +01:00
Thomas Hellstrom
c07dd80269
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2007-11-06 10:01:52 +01:00
Thomas Hellstrom
40fb079aeb
Avoid buffers not ending up on a list in some cases.
2007-11-06 09:47:57 +01:00
Thomas Hellstrom
20eecf2b88
Add missing drm_regman.c file.
2007-11-06 09:36:29 +01:00
Dave Airlie
349eebd567
i915: compat code doesn't work in i8xx hw.
2007-11-06 18:00:10 +11:00
Dave Airlie
b437c8ca0f
drm/agp: kernel style fixes
2007-11-06 12:16:07 +10:00
Dave Airlie
9493ce6ca3
i915: cleanup most of the whitespace
2007-11-06 12:16:07 +10:00
Thomas Hellstrom
5ce43a346c
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/drm_bufs.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2007-11-05 13:46:06 +01:00
Thomas Hellstrom
427cc561b3
Export a symbol.
2007-11-05 13:22:00 +01:00
Thomas Hellstrom
44ad6f409d
Fix a user-buffer check.
2007-11-05 13:20:16 +01:00
Alan Hourihane
1b91113957
remove unused define
2007-11-05 10:06:37 +00:00
Alan Hourihane
306bb12603
remove duplicate and obsolete ioctl statements
2007-11-05 10:05:01 +00:00
Alan Hourihane
71385d6f75
add missing lock
2007-11-05 10:03:26 +00:00
Alan Hourihane
d0956339e3
Use _size
2007-11-05 10:02:46 +00:00
Dave Airlie
82ffcbbd62
drm: more kernel coding style cleanups
2007-11-05 19:14:23 +10:00
Dave Airlie
6ee5412da0
drm/ttm: apply linux kernel coding style to bo_lock/move/object/ttm.c
2007-11-05 19:09:18 +10:00
Dave Airlie
7ad3890707
drm/ttm: kernel coding style for bo.c and objects.h
2007-11-05 19:05:32 +10:00
Dave Airlie
3b43ed51cc
drm: fix the the typo
2007-11-05 18:56:46 +10:00
Li Zefan
78fe88baee
drm: fix memset size error
...
The size passing to memset is wrong.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
2007-11-05 18:48:27 +10:00
Dave Airlie
7f6bf84c23
drm: remove lots of spurious whitespace.
...
Kernel "cleanfile" script run.
2007-11-05 12:42:22 +10:00
Dave Airlie
3664de7395
drm: move some of the OS stuff into the OS header
2007-11-05 12:11:39 +10:00
Ben Skeggs
5092865601
nouveau: Use a sw method instead of notify interrupt to signal fence completion.
2007-11-05 05:46:26 +11:00
Ben Skeggs
9096d50df7
nouveau: disable m2mf buffer move for the moment
2007-11-05 05:15:32 +11:00
Ben Skeggs
0a2ab1a900
nouveau: cleanups
2007-11-05 03:53:46 +11:00
Ben Skeggs
dfa449cf9a
nouveau: vram is bar1
2007-11-05 02:32:46 +11:00
Ben Skeggs
173a5be28f
nouveau: hook up an inital fence irq handler
2007-11-05 02:20:35 +11:00
Dave Airlie
a2e8e294d8
drm: fix oops since user objects..
2007-11-04 11:01:27 +11:00
Jeremy Kolb
998d120a47
nouveau: add darktama's email address to authors section.
2007-11-02 19:47:48 -04:00
Jeremy Kolb
2dc2ee7a5a
nouveau: put it all together.
2007-11-02 19:47:48 -04:00
Jeremy Kolb
c1aa08106e
nouveau: Add darktama's fencing code. Restructure some stuff.
2007-11-02 19:47:48 -04:00
Jeremy Kolb
2c6cbea7de
nouveau: incorporate darktama's buffer object work.
2007-11-02 19:47:47 -04:00
Jeremy Kolb
239e81093f
nouveau: more filling in for ttm. Change copyright since it's based off of radeon code.
2007-11-02 19:47:47 -04:00
Thomas Hellstrom
9906c7e54b
Merge branch 'master' into modesetting-101
2007-11-02 16:07:36 +01:00
Thomas Hellstrom
94c22c3349
User buffer support.
2007-11-02 16:05:25 +01:00
Jesse Barnes
629c8b0dbf
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_stub.c
linux-core/i915_drv.c
shared-core/i915_dma.c
shared-core/i915_drv.h
Fixup suspend/resume conflicts (basically use what's in DRM master for now).
Also fix up a few other conflicts that snuck in (i915_dma changes etc.).
2007-11-01 15:27:55 -07:00
Jesse Barnes
00d6026557
Cleanup vblank_init and fix drm_irq_install
...
The vblank_init function wanted a couple of cleanups.
Also, drm_irq_install wasn't checking the new return value of irq_postinstall.
If it returns a failure, assume IRQs didn't get set up and take appropriate
action.
2007-11-01 12:50:03 -07:00
Jeremy Kolb
1b176e7613
nouveau: add missing file.
2007-10-31 21:27:00 -04:00
Jeremy Kolb
9416541fb2
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm
2007-10-31 20:14:48 -04:00
Jeremy Kolb
31847b4b62
nouveau: ttm stubs
2007-10-31 20:13:01 -04:00
Dave Airlie
61cbcb5dbe
drm/ttm: add support for cached un-snooped mappings.
...
This mapping allows cached objects to be mapped in/out of the TT space
with the appropriate flushing calls.
It should put back the old CACHED functionality for snooped mappings
2007-11-01 10:34:53 +11:00
Dave Airlie
6b0b2546c2
i915: fix compat code on 965/g33
2007-11-01 02:00:36 +10:00
Dave Airlie
17f0882d50
drm: add chipset flushing via agp support
2007-10-31 11:33:34 +11:00
Dave Airlie
2489062a33
i915: add backwards compat chipset flushing code
2007-10-31 11:27:44 +11:00
Dave Airlie
c106a7d8b9
drm: call driver load after initing agp subsystem
2007-10-31 11:21:05 +11:00
Jesse Barnes
91aae7e683
Merge branch 'master' into vblank-rework, fixup remaining drivers
...
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_irq.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/mga_drv.h
shared-core/mga_irq.c
shared-core/radeon_drv.h
shared-core/radeon_irq.c
Merge in the latest master bits and update the remaining drivers (except
mach64 which math_b is working on). Also remove the 9xx hack from the i915
driver; it seems to be correct.
2007-10-30 12:52:46 -07:00
Dave Airlie
50dec29c80
drm/i915: add driver cache flush entry point
...
Use clflush on Intel hardware to flush cached objects.
2007-10-30 17:52:13 +10:00
Kristian Høgsberg
ff5889f831
Move struct drm_drawable_info out of public header file.
2007-10-29 19:32:46 -04:00
Jerome Glisse
90d8f79279
Merge branch 'radeon-ttm' of git://people.freedesktop.org/~airlied/drm into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drmP.h
shared-core/radeon_cp.c
shared-core/radeon_drv.h
shared-core/radeon_irq.c
modified: linux-core/Makefile.kernel
modified: linux-core/ati_pcigart.c
modified: linux-core/drmP.h
new file: linux-core/radeon_buffer.c
modified: linux-core/radeon_drv.c
new file: linux-core/radeon_fence.c
modified: shared-core/radeon_cp.c
modified: shared-core/radeon_drm.h
modified: shared-core/radeon_drv.h
modified: shared-core/radeon_irq.c
modified: tests/ttmtest/src/ttmtest.c
2007-10-28 00:55:27 +02:00
Jesse Barnes
1e2a2babab
i915: suspend/resume support
...
Add suspend/resume support to the i915 driver. Moves some of the
initialization into the driver load routine, and fixes up places where we
assumed no dev_private existed in some of the cleanup paths. This allows
us to suspend/resume properly even if X isn't running.
2007-10-26 16:10:02 -07:00
Jesse Barnes
6707ab8626
update DRM sysfs support
...
Make DRM devices use real Linux devices instead of class devices, which are
going away. While we're at it, clean up some of the interfaces to take
struct drm_device * or struct device * and use the global drm_class where
needed instead of passing it around.
2007-10-26 16:08:54 -07:00
Thomas Hellstrom
1681189e11
Buffer flags and masks are 64-bit.
...
don't mask off the high dword.
Signed-off-by: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
2007-10-26 10:27:30 +02:00
Thomas Hellstrom
26c32a3d79
Buffer flags and masks are 64-bit.
...
don't mask off the high dword.
2007-10-26 10:25:57 +02:00
Ian Romanick
7e9ea55a2f
Initial pass at porting MGA to vblank-rework
...
This is currently only compile tested.
2007-10-25 17:14:53 -07:00
Thomas Hellstrom
9adf8c0256
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_bo.c
linux-core/drm_objects.h
2007-10-25 11:00:45 +02:00
Thomas Hellstrom
b9d9c30474
Tighten permissions on some buffer manager ioctls.
...
Set bo init minor to 0.
Add the version function to header.
2007-10-25 10:29:15 +02:00
Thomas Hellstrom
11f3e5e53f
Buffer manager:
...
Implement a version check IOCTL for drivers that don't use
drmMMInit from user-space.
Remove the minor check from the kernel code. That's really up
to the driver.
Bump major.
2007-10-25 10:12:21 +02:00
Thomas Hellstrom
b5cad27e05
Fix buffer object flag / mask checking.
2007-10-25 09:49:33 +02:00
Thomas Hellstrom
07706c9b79
Merge branch 'master' into drm-ttm-finalize
2007-10-25 09:24:45 +02:00
Roel Kluin
07abc3384e
missing mutex unlock bug
2007-10-25 16:50:23 +10:00
Alan Hourihane
198170ab97
Need fb attached
2007-10-23 15:33:20 +01:00
Thomas Hellstrom
3d4b32e916
Remove duplicate file.
2007-10-22 19:16:39 +02:00
Thomas Hellstrom
824330d0e6
Don't clobber the unfenced list with DONT_FENCE operations.
2007-10-22 19:09:36 +02:00
Thomas Hellstrom
4ebe7471cb
Disable i915 accelerated blit copy moves for now until we can
...
guarantee that it doesn't clash with the X server.
2007-10-21 12:31:00 +02:00
Thomas Hellstrom
3b19b50cb5
Remove the need for the hardware lock in the buffer manager.
...
Add interface entry cleaning a memory type without touching NO_EVICT buffers.
2007-10-21 12:20:56 +02:00
Thomas Hellstrom
48b5eaf303
Simple replacement for hardware lock in some cases.
...
Fix i915 since last commit.
2007-10-20 16:49:43 +02:00
Thomas Hellstrom
c0e3537e77
Some comment updates pending removal of the init mutex.
2007-10-19 16:44:12 +02:00
Thomas Hellstrom
733ff56834
No fence_class argument on drmBOSetStatus since it's not
...
associated with a particular command submission.
2007-10-19 16:28:47 +02:00
Thomas Hellstrom
cf2d1bba55
Remove the clean_unfenced function.
...
Change the restriction that non-creators can't change the buffer flags to
non-creators can't change EVICT and NO_MOVE flags.
2007-10-19 16:24:36 +02:00
Thomas Hellstrom
bb29ba7fa7
Only allow creator to change shared buffer mask.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
086c058a41
Remove the op ioctl, and replace it with a setuser ioctl.
...
Remove need for lock for now.
May create races when we clean memory areas or on takedown.
Needs to be fixed.
Really do a validate on buffer creation in order to avoid problems with
fixed memory buffers.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
0d1926d36e
Revert "Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning."
...
This reverts cf2d569dac
commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
cd276d9cab
Revert "Copy the important parts of object_validate into object_create()."
...
This reverts f9c27aa50b
commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
12b989a710
Revert "Remove the pinned buffer from the LRU when pinning."
...
This reverts 3a0bc518e3
commit.
2007-10-17 10:59:48 +02:00
Alan Hourihane
90bfc8e611
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_objects.h
shared-core/i915_dma.c
shared-core/i915_drv.h
2007-10-16 15:28:33 +01:00
Michel Dänzer
db1709f2f3
Revert part of earlier commit that caused an unresolved symbol for i915.
2007-10-16 15:10:22 +02:00
Kristian Høgsberg
a69c85fec8
Drop destroy ioctls for fences and buffer objects.
...
We now always create a drm_ref_object for user objects and this is then the only
things that holds a reference to the user object. This way unreference on will
destroy the user object when the last drm_ref_object goes way.
2007-10-16 22:03:05 +11:00
Kristian Høgsberg
dccefba71a
Take bo type argument out of the ioctl interface.
...
The buffer object type is still tracked internally, but it is no longer
part of the user space visible ioctl interface. If the bo create ioctl
specifies a non-NULL buffer address we assume drm_bo_type_user,
otherwise drm_bo_type_dc. Kernel side allocations call
drm_buffer_object_create() directly and can still specify drm_bo_type_kernel.
Not 100% this makes sense either, but with this patch, the buffer type
is no longer exported and we can clean up the internals later on.
2007-10-16 22:03:05 +11:00
[utf-8] Kristian Høgsberg
440fc5113e
Eliminate support for fake buffers.
2007-10-16 21:59:38 +11:00
Alan Hourihane
2b07b0a45d
should be unlocked
2007-10-15 11:54:18 +01:00
Alan Hourihane
cc9be8ac32
Fix some buffer teardown problems.
2007-10-15 11:51:19 +01:00
Arthur Huillet
9d779e2c88
nouveau: mandatory "oops I forgot half of the files" commit
2007-10-12 22:40:08 +02:00
Dave Airlie
604f02ff61
i915: check mask instead of flags for buffer fence types
2007-10-12 09:46:11 +10:00
Ian Romanick
fc7d4d19d3
Eliminate trailing whitespace from last commit.
2007-10-10 15:27:07 -07:00
Ian Romanick
83da774b19
Fix command list submission on big-endian.
2007-10-10 15:25:47 -07:00
Thomas Hellstrom
d4680333dc
Only add native-type on EXE signals. Otherwise flush flags may
...
get out of sync.
2007-10-10 09:31:51 +02:00
Dave Airlie
89d44a1023
radeon: make vram fixed type
2007-10-07 08:16:38 +10:00
Dave Airlie
19b7cc3444
Merge branch 'pre-superioctl-branch'
2007-10-05 12:11:43 +10:00
Maarten Maathuis
b510517d59
nouveau: Switch over to using PMC_BOOT_0 for card detection.
2007-10-04 09:31:46 +02:00
Maarten Maathuis
5ca12104f8
linux-drm: Obey device class requirements when detecting devices.
2007-10-04 09:24:48 +02:00
Dave Airlie
495bbbaadc
drm: fix page count calculation
...
Also no need to do pre-populate work on single page
2007-10-04 16:13:22 +10:00
Ian Romanick
0379919e99
Use 'ifdef __BIG_ENDIAN' instead of 'if __BIG_ENDIAN'
2007-10-03 14:12:16 -07:00
Ian Romanick
7f99fd5d7a
First round of byte-ordering fixes for PowerPC.
...
This isn't 100% as command submission via PCI-e GART buffers doesn't work.
I've hacked around that for the time being. This is essentially the code
that was used at the POWER.org event to show Bimini.
2007-10-03 14:08:29 -07:00
Dave Airlie
b0473699ed
ttm: returning into dummy causes a buffer object leak
...
as nobody ever derefs dummy, however not returning does the deref
correctly.
2007-10-02 15:48:28 +10:00
Pekka Paalanen
aa135ba8e8
nouveau: rename nv30_graph.c to nv20_graph.c
2007-09-30 22:16:01 +03:00
Pekka Paalanen
205403aea8
nouveau: nv30 graph function renames, removed nv20_graph.c
...
All nv30 functions in nv30_graph.c that can be used on nv20 are renamed
as accordingly. nv20 specific parts from nv20_graph.c are moved into
nv30_graph.c.
2007-09-30 22:16:01 +03:00
Michel Dänzer
215eab6ccf
Don't build without any optimization on Linux.
...
Building without optimization causes the drm module not to link correctly on
ppc.
2007-09-29 18:07:55 +02:00
Alan Hourihane
d69721a14a
Set the fb_base, so userspace applications can actually work
...
now instead of locking up.
2007-09-28 09:21:09 +01:00
Alan Hourihane
2ed12b6b7e
Add some more checks to modelist walking for matching
...
incoming modes to current modelist.
2007-09-27 14:21:03 +01:00
Keith Packard
24cdd2f8c4
Allow parallel module compile
2007-09-26 14:25:13 -07:00
Alan Hourihane
61dfd19de8
Add brackets
2007-09-26 16:18:33 +01:00
Alan Hourihane
b44925b2a5
Add brackets
2007-09-26 16:18:19 +01:00
Alan Hourihane
dfcf9272ce
no need to copy to/from user as the unlocked ioctl does
...
that for us.
other small cleanups.
2007-09-26 15:40:40 +01:00
Alan Hourihane
b2c4c7ae5e
don't copy back if an error was returned.
2007-09-26 15:39:34 +01:00
Alan Hourihane
6671ad1917
don't copy back if an error was returned.
2007-09-26 15:38:54 +01:00
Jesse Barnes
053ff86566
Move map hash destruction to after driver unload hook is called
...
The driver unload routine will want to remove register and SAREA maps, so don't
destroy the map hash before we get there.
2007-09-25 16:16:33 -07:00
Jesse Barnes
5433bbbfde
Remove buffer object user list check in drm_bo_destroy_unlocked
...
In the case of driver allocated buffers, there won't necessarily be a user list
associated with the buffer, so don't bug out on an empty list.
2007-09-25 16:15:48 -07:00
Thomas Hellstrom
c4b3a0f602
Merge branch 'master' into pre-superioctl-branch
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_fence.c
linux-core/drm_objects.h
shared-core/drm.h
2007-09-25 18:03:31 +02:00
Dave Airlie
bb5516f4f4
drm/ttm: fixup fence class naming and interfaces
...
This is some code for nouveau that Ben Skeggs worked on, and also
fixes the naming (having class in a system header file == C++ keyword == bad plan)
2007-09-25 16:17:17 +10:00
Jesse Barnes
cbcbe80c09
Cleanup SDVO debug output
...
SDVO debug messages were incorrectly including severity prefixes in each print
rather than each unique line. Fix it up.
2007-09-24 15:43:00 -07:00
Jesse Barnes
5cc3083179
Merge branch 'master' into modesetting-101 - TTM & typedef removal
...
Conflicts:
linux-core/drmP.h
linux-core/drm_bo.c
linux-core/drm_drv.c
linux-core/drm_objects.h
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Mostly removing typedefs that snuck into the modesetting code and
updating to the latest TTM APIs. As of today, the i915 driver builds,
but there are likely to be problems, so debugging and bugfixes will
come next.
2007-09-24 14:41:46 -07:00
Thomas Hellstrom
54df1b9ff3
Fix pinned buffer fence class.
2007-09-22 14:30:55 +02:00
Thomas Hellstrom
0774090d5b
Fix drm_bo.c compiling.
2007-09-22 13:59:56 +02:00
Thomas Hellstrom
bea727b838
Make nouveau compile on older kernels.
2007-09-22 13:57:21 +02:00
Thomas Hellstrom
da63f4ba0f
Add fence error member.
...
Modify the TTM backend bind arguments.
Export a number of functions needed for driver-specific super-ioctls.
Add a function to map buffer objects from the kernel, regardless of where they're
currently placed.
A number of error fixes.
2007-09-22 13:57:13 +02:00
Eric Anholt
24e33627c5
Merge branch 'bo-set-pin'
...
This branch replaces the NO_MOVE/NO_EVICT flags to buffer validation with a
separate privileged ioctl to pin buffers like NO_EVICT meant before. The
functionality that was supposed to be covered by NO_MOVE may be reintroduced
later, possibly in a different way, after the superioctl branch is merged.
2007-09-21 17:12:19 -07:00
Dave Airlie
bc5423f168
drm_sysfs: update sysfs code from kernel
2007-09-20 14:01:29 +10:00
Eric Anholt
3d3a96ad4e
Merge branch 'origin' into bo-set-pin
2007-09-19 15:55:58 -07:00
Ian Romanick
a3881ad2fe
Add ioc32 compat layer for XGI DRM.
2007-09-18 11:03:49 -07:00
Ian Romanick
e7d4a26913
Fix ioc32 compat layer
...
Previously any ioctls that weren't explicitly listed in the compat ioctl
table would fail with ENOTTY. If the incoming ioctl number is outside the
range of the table, assume that it Just Works, and pass it off to drm_ioctl.
This make the fence related ioctls work on 64-bit PowerPC.
2007-09-18 11:03:08 -07:00
Brian
41345b95a2
Added bool typedef added in kernel 2.6.19
...
This allows the xgi code to compile with older kernels.
2007-09-12 12:05:15 -06:00
Brian
c453135789
Added idr_replace() function which was apparently added in Linux 2.6.18
...
Someone should probably double-check my work here since this is the
first time I've touched drm_compat.[ch]
2007-09-12 11:49:51 -06:00
Ian Romanick
c597bd57ee
Bump version to 1.0.0.
2007-09-06 15:20:52 -07:00
Ian Romanick
fee49e2071
Merge branch 'master' of ssh+git://git.freedesktop.org/git/mesa/drm into xgi-0-0-2
2007-08-31 10:54:55 -07:00
Ian Romanick
bb3da88601
Acutally emit the IRQ (duh) when setting the fence post.
2007-08-31 10:48:13 -07:00
Ian Romanick
9c5b9d458b
Use ati_pcigart for PCI-e GART table handling.
2007-08-29 14:41:49 -07:00
Ian Romanick
c46ffd6b29
Fix late night dumb-dumb mistake.
2007-08-29 00:23:30 -07:00
Ian Romanick
2bcd5b5e33
Use DRM_SPINLOCK / DRM_UNSPINLOCK macros.
2007-08-29 00:04:18 -07:00
Dave Airlie
589707b765
drm: remove XFREE86_VERSION macros
2007-08-28 15:17:36 +10:00
Ian Romanick
3383e8bd6b
Remove unnecessary include.
2007-08-17 10:53:18 -07:00
Ian Romanick
0d3c741df1
Forgot to add this file on the last commit.
2007-08-16 13:43:04 -07:00
Eric Anholt
0055fd5c35
Merge branch 'master' into bo-set-pin
2007-08-16 09:23:09 -07:00
Ian Romanick
d8a800b63d
Implement fence support.
2007-08-15 21:05:26 -07:00
Eric Anholt
b668d6d905
Fix dev->agp->base initialization on BSD, and fix addmap range check on Linux.
...
With the previous linux commit, an AGP aperture at the end of the address space
would have wrapped to 0 and the test would have failed.
2007-08-15 14:29:31 -07:00