Kristian Høgsberg
d57b7f02d2
Use idr_replace trick to eliminate struct drm_ctx_sarea_list.
2007-07-03 10:41:48 -04:00
Kristian Høgsberg
1814a829eb
Don't take dev->struct_mutex twice in drm_setsareactx.
2007-07-03 10:31:46 -04:00
Michel Dänzer
ea832a8e55
Simplification for previous commit.
...
Dave Airlie pointed out on IRC that idr_replace lets us know if the ID hasn't
been allocated, so we don't need a special pointer value for allocated IDs that
don't have valid information yet.
2007-07-03 12:15:15 +02:00
Michel Dänzer
8d96ba9805
Restore pre-idr semantics for drawable information.
...
There's a difference between a drawable ID not having valid drawable
information and not being allocated at all. Not making the distinction would
break i915 DRM swap scheduling with older X servers that don't push drawable
cliprect information to the DRM.
2007-07-03 11:41:44 +02:00
Kristian Høgsberg
c9d752ff4f
Fix must-check warnings and implement a few error paths.
2007-07-02 17:52:07 -04:00
Kristian Høgsberg
b323ab52aa
Drop drm_drawable_list and add drm_drawable_info directly to the idr.
2007-07-02 15:07:02 -04:00
Ian Romanick
fc37781dd3
Convert a few more U32 variables to more appropriate, generic types.
2007-06-29 21:48:31 -07:00
Ian Romanick
49ccec1b08
Convert xgi_mem_location enum values to less generic names.
2007-06-29 21:38:48 -07:00
Ian Romanick
32584d94e6
Convert open coded list iterators to either list_for_each_entry or list_for_each_entry_safe
2007-06-29 21:35:27 -07:00
Ian Romanick
4403540776
Clean up xgi_pcie_heap_check
...
The whole purpose of xgi_pcie_heap_check is to log information about
entries on the used_list. If XGI_DEBUG is not set, it doesn't print
anything. Therefore we can #ifdef the whole function body.
Convert open-code list iteration to use list_for_each_entry.
2007-06-29 21:15:33 -07:00
Ian Romanick
4c4780bc8e
Stop-gap fix in xgi_submit_cmdlist
...
Comment in the code explains it. Basically, I put an if-statement
around a block of code to prevent a NULL pointer dereference that
should never happen in the first place. Eventually, this will need to
come out.
2007-06-29 21:05:16 -07:00
Ian Romanick
e206c4c59d
Convert some PCI-e GART related variable to generic types.
...
A few of the PCI-e GART related fields in struct xgi_info were
hardcoded to u32. None of them need to be. Convert them to either
unsigned int or bool.
2007-06-29 21:00:50 -07:00
Ian Romanick
3773378658
Delete unused arrays s_emptyBegin and s_flush2D.
2007-06-29 20:49:21 -07:00
Ian Romanick
406ded3816
Replace U(8|16) with u(8|16).
2007-06-29 16:41:32 -07:00
Ian Romanick
ec7730e5ba
Eliminate unnecessary defines of TRUE and FALSE.
2007-06-29 16:37:39 -07:00
Ian Romanick
5da2a3c2d4
Replace BOOL with bool.
2007-06-29 16:37:01 -07:00
Ian Romanick
ba3173fa39
Eliminate unused integer and float typedefs.
2007-06-29 16:35:36 -07:00
Ian Romanick
88328d4ef0
Eliminate structure typedefs
...
Documentation/CodingStyle says that 'typedef struct foo foo_t' is
evil. I tend to agree. Elminate all uses of such construct.
2007-06-29 15:27:38 -07:00
Alan Hourihane
14c49df06b
merge fixes
2007-06-29 20:14:09 +01:00
Alan Hourihane
8a78dead29
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/drm_drv.c
linux-core/drm_fops.c
linux-core/drm_objects.h
linux-core/drm_stub.c
shared-core/i915_dma.c
2007-06-29 20:09:44 +01:00
Ian Romanick
33b8476dfb
Fix return type of xgi_find_pcie_block.
...
This function used to return 'void *', which was then cast to
'xgi_pcie_block_t *' at the only caller. I changed the return type to
'struct xgi_pcie_block_s *' and removed the explicit cast.
2007-06-29 09:30:02 -07:00
Thomas Hellstrom
a27af4c4a6
Avoid hitting BUG() for kernel-only fence objects.
2007-06-29 15:22:28 +02:00
Thomas Hellstrom
00f1a66f22
Fence object reference / dereference cleanup.
...
Buffer object dereference cleanup.
Add a struct drm_device member to fence objects:
This can simplify code, particularly in drivers.
2007-06-29 12:58:45 +02:00
Ian Romanick
475c1e67ba
Remove unused type 'struct xgi_pcie_list_s' / xgi_pcie_list_t.
2007-06-28 23:40:36 -07:00
Ian Romanick
8fa24c53f5
Minor clean up of variable declarations in xgi_find_pcie_virt.
2007-06-28 22:32:11 -07:00
Ian Romanick
9c85fb866d
Clean up debug log messages in xgi_find_pcie_block.
2007-06-28 22:26:39 -07:00
Ian Romanick
11ffe4632a
Convert comment header of xgi_find_pcie_virt to kernel doc format.
2007-06-28 22:20:13 -07:00
Alan Hourihane
e79e2a5816
Fix type/flags usage problem to check for preferred modes.
...
Add more debugging to help diagnose problems.
2007-06-28 21:25:13 +01:00
Ben Skeggs
ce0d528d3c
nouveau/nv50: skeletal backend
2007-06-28 03:26:43 +10:00
Ben Skeggs
695599f18d
nouveau: Nuke DMA_OBJECT_INIT ioctl (bumps interface to 0.0.7)
...
For various reasons, this ioctl was a bad idea.
At channel creation we now automatically create DMA objects covering
available VRAM and GART memory, where the client used to do this themselves.
However, there is still a need to be able to create DMA objects pointing at
specific areas of memory (ie. notifiers). Each channel is now allocated a
small amount of memory from which a client can suballocate things (such as
notifiers), and have a DMA object created which covers the suballocated area.
The NOTIFIER_ALLOC ioctl exposes this functionality.
2007-06-28 03:26:43 +10:00
Ian Romanick
8cee7dca95
Clean up warnings about unused variables and functions.
2007-06-26 13:46:36 -07:00
Ian Romanick
b9ef1467fe
Clean up mixed declarations and code.
2007-06-26 13:39:01 -07:00
Ian Romanick
3547fbda63
Revert over-zealous change from previous commit.
2007-06-26 13:29:28 -07:00
Ian Romanick
3a776fa01e
Add XGI driver to Makefiles.
2007-06-26 13:26:10 -07:00
Ian Romanick
47bf6239aa
Clean up compile-time kernel feature detection.
2007-06-26 13:20:15 -07:00
Ian Romanick
7a053306a9
linux/config.h is deprecated or gone.
2007-06-26 13:16:04 -07:00
Ian Romanick
ec9e494eb9
Gut support for pre-2.6 kernels.
2007-06-26 13:15:22 -07:00
Ian Romanick
434657a258
dos2unix and Lindent
2007-06-26 13:10:30 -07:00
Ian Romanick
7af9d67037
Initial XP10 code drop from XGI.
...
See attachment 10246 on https://bugs.freedesktop.org/show_bug.cgi?id=5921
2007-06-26 13:05:29 -07:00
Ben Skeggs
341bc78207
nouveau: NV1X/2X/3X PFIFO engtab functions
...
Earlier NV1X chips use the NV04 code, see previous commits about NV10 RAMFC
entry size.
2007-06-24 18:58:14 +10:00
Ben Skeggs
05d86d950a
nouveau: NV04 PFIFO engtab functions
2007-06-24 18:57:09 +10:00
Ben Skeggs
f2e64d5276
nouveau: NV4X PFIFO engtab functions
2007-06-24 18:56:01 +10:00
David Woodhouse
638ebbab54
fix radeon setparam on 32/64 systems, harder.
...
Commit 9b01bd5b284bbf519b726b39f1352023cb5e9e69 introduced a
compat_ioctl handler for RADEON_SETPARAM, the sole purpose of which was
to handle the fact that on i386, alignof(uint64_t)==4.
Unfortunately, this handler was installed for _all_ 64-bit
architectures, instead of only x86_64 and ia64. And thus it breaks
32-bit compatibility on every other arch, where 64-bit integers are
aligned to 8 bytes in 32-bit mode just the same as in 64-bit mode.
Arnd has a cunning plan to use 'compat_u64' with appropriate alignment
attributes according to the 32-bit ABI, but for now let's just make the
compat_radeon_cp_setparam routine entirely disappear on 64-bit machines
whose 32-bit compat support isn't for i386. It would be a no-op with
compat_u64 anyway.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-06-18 12:46:00 +10:00
Michel Dänzer
3d5d41fa98
i915: Fix handling of breadcrumb counter wraparounds.
2007-06-15 17:13:11 +02:00
Thomas Hellstrom
84bea38353
Fix i915 sequence mask.
2007-06-15 10:35:52 +02:00
Thomas Hellstrom
3ee31a1f35
Indentation fixes.
2007-06-15 10:31:32 +02:00
Thomas Hellstrom
d34b2c7b9e
Fix refcounting / lock race.
...
Reported by Steve Wilkins / Michel Dnzer.
2007-06-15 10:26:51 +02:00
Thomas Hellstrom
e1b8eabeee
Locking fixes and instrumentation.
2007-06-15 10:26:51 +02:00
Thomas Hellstrom
62082ab3e6
Make sure we read fence->signaled while spinlocked.
2007-06-13 15:38:59 +02:00
Thomas Hellstrom
5156f1c897
Fix fence object deref race.
2007-06-13 15:19:30 +02:00
Thomas Hellstrom
f984b1b8d1
Fix some obvious bugs.
2007-06-12 12:30:33 +02:00
Thomas Hellstrom
b6b5df24b9
Try to make buffer object / fence object ioctl args 64-bit safe.
...
Introduce tile members for future tiled buffer support.
Allow user-space to explicitly define a fence-class.
Remove the implicit fence-class mechanism.
64-bit wide buffer object flag member.
2007-06-12 12:21:38 +02:00
Dave Airlie
280083d4a2
use krh's idr mods to remove lists from idr code
2007-06-10 15:40:21 +10:00
Dave Airlie
7426da7538
oops must fix this properly at some point
2007-06-07 18:45:00 +10:00
Dave Airlie
e22f428f5f
drm: fix radeon setparam alignment issues on 32/64-bit
2007-06-07 18:41:18 +10:00
Dave Airlie
5bd0ca125e
remove include of linux ioctl32.h from drm drivers
2007-06-05 18:16:44 +10:00
root
a4cddc6596
Revert "drm: add new drm_wait_on function to replace macro"
...
This reverts commit 6e860d08d0
.
As I said not a good plan - this macro will have to stay for now,
trying to do the vbl code with the inline was a bit messy - may need specialised
drm wait on functions
2007-06-03 18:12:28 +10:00
Dave Airlie
4e9d215bdf
radeon: add support for vblank on crtc2
...
This add support for CRTC2 vblank on radeon similiar to the i915 support
2007-06-03 16:28:21 +10:00
Dave Airlie
638c8087de
drm: fixup initialisation of list heads and idr
2007-06-01 19:00:24 +10:00
Dave Airlie
056c2f249a
drm: move context handling code to use linux idr
2007-05-27 08:44:38 +10:00
Dave Airlie
f64674743a
drm: convert drawable handling to use Linux idr
...
This cleans this code up a lot and uses the generic Linux idr which is
designed for this.
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-27 07:26:52 +10:00
Michel Dänzer
8e083c522e
drm: make sure the drawable code doesn't call malloc(0).
...
Signed-off-by: Michel Dänzer <michel@tungstengraphics.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-26 04:35:54 +10:00
Dave Airlie
58b2ed7832
Revert "drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls."
...
This reverts commit 3fdef0dc20
.
ditto not on master yet
2007-05-26 03:48:08 +10:00
Dave Airlie
375f3f2884
Revert "drm/ttm: cleanup most of fence ioctl split out"
...
This reverts commit 3dfc1400e9
.
this shouldn't have gone on master yet
2007-05-26 03:47:48 +10:00
Dave Airlie
ce58e53a01
whitespace fixups from kernel
2007-05-26 03:32:34 +10:00
Dave Airlie
adee6f52e6
ati_pcigart: cut to 80 chars
2007-05-26 03:32:34 +10:00
Dave Airlie
3dfc1400e9
drm/ttm: cleanup most of fence ioctl split out
2007-05-26 03:32:34 +10:00
Dave Airlie
3fdef0dc20
drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls.
...
This is the first bunch of ioctls
2007-05-26 03:32:34 +10:00
Dave Airlie
7b48f0022a
drm: cleanup use of Linux list handling macros
...
This makes the drms use of the list handling macros a lot cleaner
and more along the lines of how they should be used.
2007-05-26 04:26:24 +10:00
Jesse Barnes
fa92e1f2ec
Suspend/resume shouldn't call drm_initial_config (seems to work ok for me now),
...
also we should fail if we can't enable the device at resume time.
2007-05-24 18:41:44 -07:00
Jesse Barnes
462d5a0dfc
Suspend/resume support (incomplete).
2007-05-22 17:49:04 -07:00
Jesse Barnes
e918d2b781
Call preallocated space VRAM instead of PRIV0 to be more consistent with
...
other drivers.
2007-05-22 13:38:58 -07:00
Jesse Barnes
a4929b921e
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
...
Conflicts:
linux-core/drm_crtc.c - reconcile with locking changes
2007-05-18 09:42:51 -07:00
Jesse Barnes
f894587221
Add locking. The main lock is dev->mode_config.config_lock. It should be
...
held across any operations that modify mode lists, crtc config, output
config, etc. It should be taken at high level entry points (currently just
initial config and user IOCTL).
Seems to work ok on my system, but needs more testing (with lockdep) and
review from some fresh eyes.
2007-05-18 09:40:01 -07:00
Alan Hourihane
d42c1de3fb
Change some printk's to DRM_DEBUG's
2007-05-18 14:16:27 +01:00
Alan Hourihane
0c33a2cd2e
Move fbo creation to the specified fb driver which gives
...
it a chance to allocate the memory from whichever buffer it wants to.
2007-05-18 14:16:10 +01:00
Alan Hourihane
315cf14af8
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
2007-05-18 13:48:56 +01:00
Alan Hourihane
95945bbf22
Set crtcinfo on temporary mode
2007-05-17 23:33:48 +01:00
Jesse Barnes
f3beabedc3
Remove unused edid.h header from X.Org.
2007-05-17 13:48:46 -07:00
Alan Hourihane
c0479dad8e
bring in change from drm_fb.c
2007-05-17 19:32:46 +01:00
Alan Hourihane
07a5fbaa61
Move destruction of crtc as intelfb_remove uses the crtc to locate the fb.
2007-05-17 19:28:03 +01:00
Jesse Barnes
b7bf317f42
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
...
Conflicts:
linux-core/drm_crtc.c
linux-core/drm_fb.c
Lots of changes to merge with alanh's latest stuff:
o fix use of fb->pitch now that it has the right value
o add new helper for finding the CRTC given an FB
o fix new fb_probe/fb_remove functions to take a CRTC
o fixup callers of new FB routines
o port drm_fb changes to intel_fb
o check for errors after creating fb buffer object
o go back to using cfb_imageblit since the accel stubs aren't ready
2007-05-17 10:35:07 -07:00
Alan Hourihane
fd63ea9713
Grab the default mode if the preferred mode isn't available.
...
Fix an overflow problem.
2007-05-17 17:00:11 +01:00
Jesse Barnes
a18b4befb9
Fix FB pitch value (we had it wrong and were working around it in a few
...
places).
Add new FB hooks to the drm driver structure and make i915 use them for an
Intel specific FB driver. This will allow acceleration and better handling
of the command stream.
2007-05-17 09:00:06 -07:00
Stephane Marchesin
ea98d7e796
nouveau: don't build the module by default
2007-05-17 17:35:51 +02:00
Alan Hourihane
2222bd767f
Fix build problem
2007-05-17 13:19:56 +01:00
root
5ce8aaae72
Large changes for fbdev support.
...
Change from DIRECTCOLOR to TRUECOLOR, and enable
support for PSEUDOCOLOR. DIRECTCOLOR support needs more work.
Add the ability to change the mode on the fbdev device.
Support depth 8, 15, 16 and 24 (and 32).
Add a /dev/fbX device per CRTC, but there's some code which
doesn't allocate the fbX device unless the output is actually
enabled. Read the code on this as it impacts the fbcon map flags.
Pick CRTC's based on the available outputs. More work could
be done here to match modes, so cloning could be achieved on
outputs. This fits more inline with what the X code does.
2007-05-17 12:46:36 +01:00
Alan Hourihane
eba00df120
Just some minor cleanups.
2007-05-10 13:16:05 +01:00
Dave Airlie
b2a875ba89
ttm: complete drm buffer object ioctl split
...
retain the op operation for validate/fence operations
2007-05-08 18:25:15 +10:00
Dave Airlie
ae677472af
drm/ttm: remove old fence ioctl
2007-05-08 17:55:57 +10:00
Dave Airlie
25c51f539f
drm/ttm: ioctl cleanup for buffer object - user side only
...
This just cleans up the xf86drm.c to what I want and drm.h,
I need to fix up the kernel internals to suit these changes now.
I've moved to using struct instead of typedefs for the bo and it doesn't look
that bad so I'll do the same thing for mm and fence..
2007-05-08 17:53:58 +10:00
Brian
c4e2caec44
s/OJBECTS/OBJECTS/
2007-05-06 10:09:59 -06:00
Dave Airlie
6a62941eca
drm/ttm: cleanup most of fence ioctl split out
2007-05-06 11:35:11 +10:00
Dave Airlie
ee8954cb53
drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls.
...
This is the first bunch of ioctls
2007-05-06 11:17:30 +10:00
Dave Airlie
c9cd2c768b
drm: remove unused define DRM_HAS_TTM
2007-05-06 10:50:10 +10:00
Dave Airlie
3a69e2484a
cleanup usermodes on drm mode setting shutdown
2007-05-01 14:20:22 +10:00
Dave Airlie
89231953d1
Add support for user defined modes
...
This allows userspace to specify modes and add them to the modesetting
system and attach modes to outputs
2007-05-01 13:16:29 +10:00
Dave Airlie
8e8e37515e
fix unusued variable
2007-05-01 13:15:41 +10:00
Dave Airlie
6e860d08d0
drm: add new drm_wait_on function to replace macro
2007-04-28 15:07:43 +10:00
Dave Airlie
e9b3acd257
remove register usage
2007-04-28 15:07:43 +10:00
Dave Airlie
9f9c19065c
remove DRM_GETSAREA and replace with drm_getsarea function
2007-04-28 15:07:43 +10:00
George Sapountzis
3a2c9f4621
linux: minor indent.
2007-04-26 14:16:28 +03:00
Dave Airlie
afc029e935
whitespace cleanup
2007-04-26 16:25:43 +10:00
Dave Airlie
e5c1f1caa2
remove some whitespace violation
2007-04-26 16:22:28 +10:00
Dave Airlie
4b72759b30
drm: nopfn warning on 64-bit
2007-04-26 16:22:11 +10:00
Jesse Barnes
71d44cda52
drm/ttm: allow drm_buffer_object_create to be used in-kernel
2007-04-26 16:09:24 +10:00
Jesse Barnes
3c384a9ad5
Add new buffer object type for kernel allocations that don't initially have a user mapping.
...
(cherry picked from commit 2e21779992
)
2007-04-26 16:04:09 +10:00
Dave Airlie
b589b846e7
Merge branch 'origin' into modesetting-101
2007-04-26 15:56:21 +10:00
Dave Airlie
34be91fe4e
i915: fix vblank pipe setup
2007-04-26 14:50:00 +10:00
Dave Airlie
ceb44021ad
drm: make mode numbers no change by comparing probed modes
...
The mode list sets all the output modes to UNVERIFIED, then probes a new list,
If a mode is on the new list and not on the old, it adds it to the old,
if a mode is on the new list and old, it just updates the status to the new
mode status.
If a mode is on the old list and not on the new, prune invalid modes should
remove all UNVERIFIED modes
2007-04-23 11:42:29 +10:00
Dave Airlie
0f3c5148f0
fixup vrefresh reporting, it should now be *1000 in userspace
2007-04-23 09:10:46 +10:00
Jesse Barnes
97b5599982
Oops, edid data should just be a char *, as edid.h is private to edid.c
...
(we can just recombine them now).
2007-04-20 18:00:44 -07:00
Jesse Barnes
eb892fb09d
Add a monitor information structure separate from the EDID data for tracking
...
monitor limits, etc.
2007-04-20 17:59:30 -07:00
Jesse Barnes
a21ff375c6
Document drm_modes.c functions.
2007-04-20 17:03:50 -07:00
Jesse Barnes
9ca4932054
Add a mode name generation wrapper to make name format changes easier.
2007-04-20 16:32:58 -07:00
Kristian Høgsberg
2d1de1fc6b
Initialize rwlock using rwlock_init to appease lockdep validator.
2007-04-20 18:12:18 -04:00
Kristian Høgsberg
af3ffcd822
Initialize rwlock using rwlock_init to appease lockdep validator.
2007-04-20 18:06:31 -04:00
Kristian Høgsberg
6238ebee21
Clean up and return if no outputs are found.
2007-04-20 16:52:04 -04:00
Thomas Hellstrom
a8a8108e45
Avoid a fence timeout problem when a signal is pending.
2007-04-20 15:57:41 +02:00
Thomas Hellstrom
1ce9c09231
Fix via compile error
...
(Reported by Benno Schulenberg.)
2007-04-20 15:49:31 +02:00
Dave Airlie
8d893e49ec
backout SDVO control bus check and comment why this is a bad idea
2007-04-19 09:43:46 +10:00
Jesse Barnes
5587961cfe
Document main drm_crtc.c functions, and rename drm_crtc_mode_create to
...
drm_mode_create to be consistent with the other functions. Also document
where we need locking fixes and what the locks are for.
2007-04-18 11:49:42 -07:00
Thomas Hellstrom
2df2c70e20
Simplify the ttm backend interface and the agp ttm backend.
2007-04-18 16:33:28 +02:00
Alan Hourihane
dfc02547ff
Shouldn't free the mode here. It's done later on.
2007-04-18 14:18:56 +01:00
Alan Hourihane
b642ced083
Fix return status
2007-04-18 13:52:46 +01:00
Alan Hourihane
0207b51acc
Fix build problem
2007-04-18 12:19:16 +01:00
Alan Hourihane
87b46bd436
free the duplicated mode.
2007-04-18 12:10:06 +01:00
Alan Hourihane
191594ebd5
When no valid EDID modes are available, we bail.
...
This snippet adds a standard 640x480 @ 60Hz mode when
that occurs, so we can continue with a basic mode.
Should we do this here though ???
2007-04-18 12:07:55 +01:00
Alan Hourihane
ef2bce3a16
Merge remote branch 'origin/modesetting-101' into modesetting-101
2007-04-18 11:55:09 +01:00
Alan Hourihane
51e867c578
Support the RGB outputs of SDVO cards, which are essentially
...
VGA outs.
The drm_initial_config path has specific handling code to name
match for VGA, TMDS or LVDS. This is pretty restrictive and should
probably be dealt with to be more generic.
2007-04-18 11:53:25 +01:00
Alan Hourihane
ea8bcb466b
Check status after SDVO command for sdvo_set_control_bus_switch
2007-04-18 11:47:21 +01:00
Alan Hourihane
dc03e07f23
Move SDVO PENDING check to read_response so all SDVO commands
...
benefit from the spin loop.
2007-04-18 11:46:04 +01:00
Dave Airlie
20b2949e37
make sure TMDS gets a crtc
2007-04-18 14:55:43 +10:00
Dave Airlie
e46e028bd2
Merge branch 'origin' into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
Merge in changes from master from Thomas fixiing TTM problems
2007-04-18 14:11:49 +10:00
Jesse Barnes
c71c44bb92
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
2007-04-17 18:20:05 -07:00
Jesse Barnes
4f0841a31c
Just use drm_output_destroy to cleanup LVDS failures. It'll call our cleanup
...
routine, which will take care of freeing our dev_priv and i2c ddc bus.
2007-04-17 18:03:14 -07:00
Dave Airlie
d20aaf4858
don't crash if no desired mode
2007-04-18 10:41:39 +10:00
Dave Airlie
2352ec9bfa
backout alanh's broken commit
2007-04-18 10:39:58 +10:00
David Airlie
7c9e19ba55
clean up ring buffer and TTM in i915_driver_unload
...
I've commented out the framebuffer for now
2007-04-18 10:39:27 +10:00
Jesse Barnes
73b031df61
Add framebuffer bo freeing to drm_mode_config_cleanup (seems like the best
...
place for now).
2007-04-17 17:30:46 -07:00
Jakob Bornecrantz
a45fa264f2
Lvds now power up backlight on commit
...
Now saves previous power level in prepare and sets
that power level in commit, should power level
be 0 it will set maximum level.
2007-04-17 22:27:46 +02:00
Jesse Barnes
1c7f895fa6
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
...
Conflicts:
shared-core/i915_init.c - reconcile with airlied's new code
2007-04-17 10:14:18 -07:00
Jesse Barnes
4e4d9cbeb3
Move initial framebuffer allocation and configuration to drm_initial_config,
...
remove i915_driver_load fb related stuff. Add a small helper for setting up
outputs.
2007-04-17 10:00:37 -07:00
Jesse Barnes
5e6c345396
Add prototypes for drm_bo_init_mm and drm_buffer_object_create for use by
...
in-kernel code.
2007-04-17 09:57:08 -07:00
Alan Hourihane
b729b919ba
Fix a register read that was swapped SDVOB/SDVOC
...
Check for the PENDING message when reading the attached
displays. Ensures the command has completed before continuing.
(probably need to check PENDING in other SDVO calls too)
2007-04-17 16:11:00 +01:00
Alan Hourihane
ecd9801c3c
Fix SDVO outputs
2007-04-17 16:09:40 +01:00
Thomas Hellstrom
5a96d59ce9
Don't always free up memory space when we unpin buffers.
2007-04-17 14:15:37 +02:00
Thomas Hellstrom
5432cc4abf
Fix buffer object reference problems.
...
(Reported by Dave Airlie).
2007-04-17 10:53:19 +02:00
Dave Airlie
1a5e647f63
I don't think this dec is necessary and my stuff all works without ..
...
with it everything falls over
2007-04-17 18:18:42 +10:00
Dave Airlie
56ef1ab8ac
add some missing export symbols
2007-04-17 18:18:25 +10:00
Dave Airlie
79aa1d5474
another large overhaul of interactions with userspace...
...
We need to keep a list of user created fbs to nuke on master exit.
We also need to use the bo properly.
2007-04-17 18:16:38 +10:00
Thomas Hellstrom
e91ceff6c9
Add a code comment.
2007-04-17 08:46:45 +02:00
Jakob Bornecrantz
cd5769c3b5
Fix offset should from pci device address
2007-04-16 20:54:24 +02:00
Thomas Hellstrom
e6e4946c82
Require the hardware lock for buffer creation
...
(since that implies a validate).
Fix drm_bo_wait_unfenced error messages and codes.
Fix some return codes from libdrm.
2007-04-16 16:23:05 +02:00
Jesse Barnes
2aa183db1f
Use drm_mem_reg_ioremap to map buffer object.
2007-04-14 15:35:38 -07:00
Jesse Barnes
65619cab27
Fix PRIV0 memory initialization (mm_init takes pages, not bytes), align fb
...
allocation correctly, and use drm_mem_reg_iomap to map ring buffer object.
2007-04-14 15:35:21 -07:00
Jakob Bornecrantz
c4e944182d
Added debug messages so we know which output we are dealing with
2007-04-13 10:13:25 +02:00
David Airlie
cc471a361f
i915/drm: clean up a lot of the i915/drm startup/teardown sequences
...
When the kernel driver is loaded it sets up a lot of stuff..
it tears down the same stuff on unload.
This add a new map type called DRM_DRIVER which means the driver will clean the mapping up
and fix up the map cleaner
2007-04-13 14:51:16 +10:00
David Airlie
27598bacfd
export drm_bo_driver_finish symbol
2007-04-13 14:50:31 +10:00
David Airlie
a890d596fc
revert LVDS destroy - this oops on sysfs on sdvo init of i2c bus
2007-04-13 14:50:31 +10:00
Jesse Barnes
9f0f6509f5
Move driver load call to after AGP init, in case the load routine needs AGP stuff.
2007-04-12 18:30:36 -07:00
Jesse Barnes
79b7a588bb
Oops, forgot to push the msleep() in the hotplug test. Wouldn't want to
...
spin in the kernel for a whole second w/o it...
2007-04-12 14:57:07 -07:00
Jesse Barnes
9a39cb9b9a
Use crtc_from_pipe call in intel_lvds.c and add get_mode panel mode detection. Also fix up error case for when LVDS mode can't be determined. Leave placeholder code in place for BIOS mode probing and platform quirks.
2007-04-12 12:43:47 -07:00
Jesse Barnes
6b229c1e59
Add new function for getting a CRTC pointer given a pipe number.
2007-04-12 12:41:56 -07:00
Jesse Barnes
9e5d61d5b8
Fix 945+ hotplug detection, remove some unused variables.
2007-04-12 12:40:51 -07:00
Jesse Barnes
fb3c82f1d8
Don't need a NULL check prior to calling kfree.
2007-04-12 11:50:57 -07:00
Jesse Barnes
c2fce380c2
Move i2c init back to where it belongs and add i2c unregistration in *_destroy.
2007-04-12 08:57:58 -07:00
Jesse Barnes
258e1cf703
Whitespace cleanup
2007-04-12 08:56:34 -07:00
Jesse Barnes
e7b97f5523
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
2007-04-12 08:55:51 -07:00
Jesse Barnes
f2e3d790ac
Revert "Export drm_setup for use by new driver init code.", we don't really want to use this function
...
This reverts commit e114b981bc
.
2007-04-12 08:53:03 -07:00
Alan Hourihane
cf01689143
Use drm_framebuffer instead of drm_crtc for fb & fbt
2007-04-12 15:12:00 +01:00
Alan Hourihane
a85440c8a6
Remove extraneous drm_crtc.h include
2007-04-12 15:11:38 +01:00
Alan Hourihane
9420ab4b41
Merge remote branch 'origin/modesetting-101' into modesetting-101
2007-04-12 15:10:08 +01:00
Dave Airlie
1bba3cb3b3
cleanup framebuffers on drm unload
2007-04-12 11:55:10 +10:00
Dave Airlie
fb6c5aacb9
only initialise modes when fbcon or fbset asks for it
2007-04-12 11:54:49 +10:00
Dave Airlie
b49b3ba4c1
set bracing style like Linux
2007-04-12 11:43:13 +10:00
Dave Airlie
a5cf4cc369
fix unbalanced lock and make sure mode list has modes so lvds code doesn't crash
2007-04-12 11:28:55 +10:00
Dave Airlie
981f8156de
allow framebuffer changes on the crtc setup
2007-04-12 08:54:31 +10:00
Dave Airlie
a81558d8b3
add getfb ioctl
2007-04-12 08:45:40 +10:00
Jesse Barnes
2e21779992
Add new buffer object type for kernel allocations that don't initially have a user mapping.
2007-04-11 12:51:52 -07:00
Jesse Barnes
63d4d40463
Fix i2c unregistration, cleanup panel_fixed_mode assignment.
2007-04-11 11:46:37 -07:00
Jesse Barnes
425da42e95
Whitespace cleanups.
2007-04-11 11:44:54 -07:00
Jesse Barnes
c731b68091
Fix EDID pixel clock calculation.
2007-04-11 11:42:00 -07:00
Jesse Barnes
cc7faa4de8
fix modeset cleanup for LVDS and reenable it in i915.
2007-04-11 07:21:24 -07:00
Jesse Barnes
dd00aa5851
export vblank routine for use by intel_display.c and intel_sdvo.c.
2007-04-11 07:08:48 -07:00
Jesse Barnes
f35db66906
Fixup DDC probing. We only have one DDC bus so we have to use it only
...
on demand, and unregister when we're done.
2007-04-11 07:08:29 -07:00
Jesse Barnes
78598fdaa8
Various changes for in-kernel modesetting:
...
- allow drm_buffer_object_create to be called w/o dev_mapping
- fixup i915 init code to allocate memory, fb and set modes right
- pass fb to drm_initial_config for setup
- change some debug output to make it easier to spot
- fixup lvds code to use DDC probing correctly
2007-04-11 07:07:54 -07:00
David Airlie
7e48d47fb5
line_length calculation was incorrect.. I now can get fbcon to run
2007-04-11 17:35:00 +10:00
David Airlie
0392badd84
oops for 32 pitch.. hey I can see stuff on fbcon now.. it looks like text.. just a bit garbled
2007-04-11 17:25:37 +10:00
David Airlie
1147fefed8
fixup framebuffer depth
2007-04-11 17:13:57 +10:00
David Airlie
a6cc6a778f
add support for setting a framebuffer depth
2007-04-11 17:13:45 +10:00
Dave Airlie
c582eaac19
add copyright statement
2007-04-11 16:34:40 +10:00
Dave Airlie
32f6a58db2
add initial drm_fb framebuffer
...
So far I can load fbcon, once I use my miniglx to add a framebuffer.
fbcon doesn't show anything on screen but baby steps and all that.
2007-04-11 16:33:03 +10:00
Dave Airlie
9d12da5917
only bo finish at driver unload
2007-04-11 14:34:22 +10:00
root
7e58276c76
Revert "Remove some delays from Intel i2c code, we'll need a more comprehensive fix"
...
This reverts commit c033698988
.
this break SDVO
2007-04-11 13:40:50 +10:00
David Airlie
44be9c9d59
add an fb count + id get to the get resources code path
2007-04-11 13:26:21 +10:00
David Airlie
3e994a56be
use fb pitch and fix up some whitespace
2007-04-11 13:26:21 +10:00
Jesse Barnes
f50eec752c
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
2007-04-10 17:58:30 -07:00
David Airlie
b62ffb8e91
fixup calculation to make sdvo work
2007-04-11 09:56:09 +10:00
Jesse Barnes
44a8761302
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
...
Conflicts:
linux-core/drm_crtc.c - trivial merge
linux-core/drm_crtc.h - trivial merge
linux-core/intel_display.c - crtc_config -> mode_config
shared-core/i915_dma.c - accommodate new init code in i915_init.c
2007-04-10 10:45:55 -07:00
Jesse Barnes
e114b981bc
Export drm_setup for use by new driver init code.
2007-04-10 10:31:58 -07:00
Jesse Barnes
b59285d738
Move i915 init code to new file, i915_init.c, and create a new high level
...
init routine that runs at driver load time.
2007-04-10 10:31:10 -07:00
Jesse Barnes
8785679f89
Remove some debug #if 0 codes and add a reminder to check locking around
...
output enumeration stuff.
2007-04-10 09:49:02 -07:00
Jesse Barnes
c033698988
Remove some delays from Intel i2c code, we'll need a more comprehensive fix
...
in the Linux i2c layer to make DDC reliable on old monitors.
2007-04-10 09:48:20 -07:00
Jesse Barnes
183cbd92dd
Finish bringing in LVDS code, re-add to Makefile. Needed other changes too:
...
- move EDID structures to drm_edid.h
- add EDID info structure to drm_output
- add a few routines to intel_display for getting current mode info
- add some prototypes to intel_drv.h and drm_crtc.h
2007-04-10 09:47:37 -07:00
David Airlie
50672adb31
add sdvo debugging output
2007-04-10 16:49:36 +10:00
David Airlie
b9c7fa55e2
fixup sarea writes for set pipe base and dpms
2007-04-10 16:32:17 +10:00
David Airlie
23a66fd506
fixup true/false in intel_sdvo.c
2007-04-10 16:26:07 +10:00
David Airlie
f1476e4e5c
re-tab and fixup the i915GM get core clock function to actually work
2007-04-10 16:25:52 +10:00
David Airlie
1e39dc4323
export output name to userspace
2007-04-10 16:25:31 +10:00
David Airlie
40bd6dcd86
set the base address of the CRTC correctly
2007-04-10 15:20:50 +10:00
David Airlie
65f465ed5a
fixup numerous issues with adding framebuffer support
...
This still isn't perfect but it fixes a few oopses and cleans up
some of the tabs and bugs in the original fb limit code
2007-04-10 14:49:49 +10:00
Jesse Barnes
c446bf50e3
Slam in most of X.Org's i830_lvds (not quite done yet so removed from Makefile.kernel too).
2007-04-09 20:46:38 -07:00
David Airlie
eb9bdc2787
mode: fixup problems with framebuffer add function
2007-04-10 11:51:31 +10:00
Dave Airlie
ed0ebd9d3d
make crtc_config be named mode_config
...
X.org calls this crtc_config but this is a bad name and will confuse ppl later
(and me now :-)
2007-04-10 18:56:02 +10:00
Jakob Bornecrantz
b50bda002b
add addfb/rmfb ioctls
...
Originally from Jakob, cleaned up by airlied.
2007-04-10 18:44:47 +10:00
Jesse Barnes
7e2b1a6cf5
Fix refresh calculation (mistakenly removed 1000 factor needed for integer calulations, fixed mode printout debugging routine instead).
2007-04-09 08:52:53 -07:00
Dave Airlie
a70f8e0ab2
radeon: add support for reverse engineered xpress200m
...
The IGPGART setup code was traced using mmio-trace on fglrx by myself
and Phillip Ezolt <phillipezolt@gmail.com> on dri-devel.
This code doesn't let the 3D driver work properly as the card has no
vertex shader support.
Thanks to Matthew Garrett + Ubuntu for providing me some hardware to do this
work on.
2007-04-09 21:52:59 +10:00
Jesse Barnes
ab7ee9c1af
remove a printk to make things less verbose
2007-04-07 19:26:55 -07:00
Jesse Barnes
2430d0c315
just codingstyle cleanups
2007-04-07 19:25:25 -07:00
Jesse Barnes
491ed9e4c2
document drm_mode_duplicate and fix vrefresh calculation (off by 1000 error)
2007-04-07 19:24:53 -07:00
Jesse Barnes
13d4ea90c0
various cleanups to EDID code:
...
- pull in FB DDC code (we'll have to rewrite it anyway it appears)
- add comments
- note a few FIXMEs
- make it less quiet, and more informative when it actually does print
2007-04-07 19:24:09 -07:00
Jesse Barnes
a35ba455b2
make drmP.h include drm_crtc.h for CRTC related stuff.
...
fixup drm_crtc.c so it matches VGA and other outputs properly.
make drm_crtc.c less verbose.
add function declarations in drm_crtc.h for other files.
2007-04-07 19:22:39 -07:00
Dave Airlie
b25558bb73
fixup install target, not sure what I was smokin...
2007-04-07 07:21:05 +10:00
Eric Anholt
1c9ba24c2f
Add required permission notices for code copied from X.Org source.
2007-04-05 11:34:11 -07:00
Jesse Barnes
50ee722e01
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
2007-04-05 09:27:12 -07:00
Jesse Barnes
6f3534a13a
Add copyrights before I forget
2007-04-05 09:21:31 -07:00
Dave Airlie
652bbb77f6
add back compat for bool
2007-04-05 20:20:33 +10:00
Dave Airlie
b4094864f1
checkpoint commit: implement SetCrtc so modes can in theory be set from user
...
This hooks up the userspace mode set it "seems" to work.
2007-04-05 18:01:02 +10:00
Dave Airlie
7bb112feca
checkpoint commit: added getresources, crtc and output
...
This adds the user interfaces from Jakob and hooks them up for 3 ioctls
GetResources, GetCrtc and GetOutput.
I've made the ids for everything fbs, crtcs, outputs and modes go via idr as
per krh's suggestion on irc as it make the code nice and consistent.
2007-04-05 17:06:42 +10:00
Dave Airlie
5bffbd6e27
initial userspace interface to get modes
2007-04-05 13:34:50 +10:00
Dave Airlie
52f9028c84
Initial import of modesetting for intel driver in DRM
2007-04-05 11:21:06 +10:00
Dave Airlie
8fe8793a0f
borrow edid.h from fb directory
2007-04-05 11:20:23 +10:00
Dave Airlie
9c79371659
add an install target to the drm modules makefile
2007-04-05 11:18:00 +10:00
Thomas Hellstrom
c496827921
Fix user object reference when caller is not object creator.
...
(Reported by Dave Airlie).
2007-04-03 10:54:23 +02:00
Thomas Hellstrom
38d18acb8f
Add a fence flush event to each fence-signaled check when lazy-waiting
...
to make sure we don't lose any sequence numbers if, for some reason,
they don't generate an IRQ.
2007-04-03 10:29:15 +02:00
Thomas Hellstrom
7743af9449
Evicted no-move buffers can get lost if they end up in another
...
memory type than local.
2007-04-03 10:29:14 +02:00
Thomas Hellstrom
d85e243259
Fix an oops when trying to clean a not yet initialized memory type.
2007-04-03 10:29:14 +02:00
Thomas Hellstrom
72d457fc19
Make sure CMA (Can't map aperture) pages are mapped uncached.
...
(Should really make this write-combined using PATs, at some point).
2007-04-03 10:29:14 +02:00
Dave Airlie
3f70518f0b
drm/bo: avoid oops if the memory manager for this type isn't initialised
2007-03-29 09:25:04 +10:00
Dave Airlie
81b811da37
drm/i915: set the bo up at firstopen time not after DMA init
...
This is required to use TTM to allocate the ring buffer.
2007-03-27 18:01:31 +10:00
Dave Airlie
72a1190f6d
drm/ttm: make sure dev_mapping is set-up for the first opener of the drm
...
This was causing an oops in my miniglx code to try and use a TTM-only setup.
2007-03-27 17:59:30 +10:00
Ben Skeggs
674cefd4fe
nouveau: move card initialisation into the drm
...
The PGRAPH init for the various cards will need cleaning up at some point,
a lot of the values written there are per-context state left over from the
all the hardcoding done in the ddx.
It's possible some cards get broken by this commit, let me know.
Tested on: NV5, NV18, NV28, NV35, NV40, NV4E
2007-03-26 20:59:37 +10:00
Dave Airlie
5ad43f4675
vm: cleanup drm_vm.c along lines of cleanups queued for kernel
2007-03-24 17:58:27 +11:00
Dave Airlie
8d918b0b63
cleanup more whitespace from ttm merge
2007-03-23 14:56:39 +11:00
Dave Airlie
39795501a8
drm: remove second spinlock init for tasklet lock
2007-03-23 14:56:28 +11:00
Dave Airlie
209870a882
rename badly named define
2007-03-20 10:13:58 +11:00
Alan Hourihane
ef71b6230b
remove i830 reference
2007-03-19 11:46:35 +00:00
Alan Hourihane
cbe31d0dc7
Remove old i830 kernel driver.
2007-03-19 11:46:35 +00:00
Dave Airlie
1e77e52755
more return values fixup
2007-03-19 09:20:04 +11:00