Keith Packard
881ee70ab7
Move dummy_read_page from drm_ttm_set_user to drm_ttm_create.
...
I'm hoping to use the dummy_read_page for kernel allocated buffers to avoid
allocating extra pages for read-only buffers (like vertex and batch buffers).
This also eliminates the 'write' parameter to drm_ttm_set_user and just
has DRM_TTM_PAGE_WRITE passed into drm_ttm_create.
2007-12-21 12:16:29 -08:00
Keith Packard
6d44f48002
Clean up and document drm_ttm.c APIs. drm_bind_ttm -> drm_ttm_bind.
...
Aside from changing drm_bind_ttm to drm_ttm_bind, this patch
adds only documentation and fixes the functions inside drm_ttm.c
to all be prefixed with drm_ttm_.
2007-12-21 12:16:29 -08:00
Dave Airlie
219ba5cd9a
s/TRUE/true
2007-12-21 18:38:55 +10:00
Dave Airlie
629231c626
Merge branch 'modesetting-airlied' into modesetting-101
2007-12-18 19:18:21 +11:00
Dave Airlie
6d03411e5f
HERE BEZ HACKZ.. magic variable to make shit work
2007-12-18 19:18:05 +11:00
Dave Airlie
a19e0efb0e
lockdep warned about a possible locking dependency
2007-12-18 19:17:11 +11:00
Dave Airlie
01f905c177
we should not be unlocking this here
2007-12-18 19:16:51 +11:00
Dave Airlie
b13dc383df
remove output names
2007-12-18 17:41:20 +11:00
Jakob Bornecrantz
bdbc34e297
Fix and cleanup of Hotplug
2007-12-18 02:21:08 +01:00
Jakob Bornecrantz
e239882b1e
Modesetting Hotplug
2007-12-18 02:21:08 +01:00
Keith Packard
0b031dbd63
Document drm_ttm_set_user.
...
Add a comment explaining the parameters for this function
2007-12-15 12:10:42 -08:00
Keith Packard
9d17373ffb
Document drm_buffer_object_validate function.
...
Just add documentation for this function, no code changes.
2007-12-15 12:10:42 -08:00
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