Robert Noland
2186f9f6ef
[FreeBSD] Call drm_vblank_cleanup during irq uninstall
...
I needed to re-arrange some functions for this.
Also needed to call DRM_SPINUNINIT on the vbl_lock during cleanup.
2008-06-01 12:07:54 -07:00
Alex Deucher
a12cbf8aa5
RADEON: fix typo in last commit
2008-05-30 18:20:01 -04:00
Eric Anholt
461bfa3da6
Merge commit 'origin/master' into drm-gem
...
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_drv.h
shared-core/nouveau_state.c
2008-05-30 14:42:08 -07:00
Eric Anholt
50bce2bc62
[intel-gem] Only update obj->write_domain if we're actually changing it.
...
The problem was revealed where on 965, the display list vertex buffer would see:
create -> (CPU, CPU)
set_domain (CPU, CPU) -> (CPU, CPU)
set_comain (CPU, 0) -> (CPU, 0) (no clflush occurred)
execbuf (GPU, 0) -> (CPU+GPU, 0) (still no clflush)
instead of:
create -> (CPU, CPU)
set_domain (CPU, CPU) -> (CPU, CPU)
set_comain (CPU, 0) -> (CPU, CPU)
execbuf (GPU, 0) -> (CPU+GPU, 0) (clflushed)
2008-05-30 13:47:34 -07:00
Eric Anholt
4f92ed3427
[intel-gem] Add an option to check GTT versus CPU coherency at execbuf time.
2008-05-30 12:42:48 -07:00
Kristian Høgsberg
efb48c6cf7
Fix ivch i2c read function to use the "special" i2c format.
2008-05-30 14:24:21 -04:00
Dave Airlie
6e8a2cff66
r500: attempt to make AGP work by programming agp base in the MC correctly
2008-05-30 20:27:31 +10:00
Dave Airlie
5d47185eb6
drm: switch possible crtc/clones over to encoders
2008-05-30 15:32:58 +10:00
Dave Airlie
30fc88fdf9
modesetting: drop crtcs/clones from the connectors
2008-05-30 15:18:07 +10:00
Dave Airlie
9d38448ed3
modesetting: the great renaming.
...
Okay we have crtc, encoder and connectors.
No more outputs exposed beyond driver internals
I've broken intel tv connector stuff.
Really for TV we should have one TV connector, with a sub property for the
type of signal been driven over it
2008-05-30 15:10:04 +10:00
Dave Airlie
6aeef92c0c
drm: attach an encoder.
...
Time to do some renaming on the connectors I think
2008-05-30 13:57:27 +10:00
Dave Airlie
1c4b25a2b1
drm: fix a couple of bugs in the encoder return to userspace
2008-05-30 13:49:39 +10:00
Dave Airlie
9239cf511f
drm: add encoder attach/detach
2008-05-30 13:31:16 +10:00
Dave Airlie
4403c59b76
tests: add basic encoder reading to test
2008-05-30 13:22:51 +10:00
Dave Airlie
514147e3f3
drm: add encoder free function
2008-05-30 12:29:45 +10:00
Dave Airlie
1542492b79
drm: init the encoder list/count
2008-05-30 12:24:30 +10:00
Dave Airlie
6b5592790d
drm: add red hat copyright.
2008-05-30 12:20:36 +10:00
Dave Airlie
b72419a8f7
drm: add encoder ids to the output handling
2008-05-30 12:19:13 +10:00
Dave Airlie
fae2c17b31
drm: add more encoder interfaces
2008-05-30 12:14:44 +10:00
Dave Airlie
16a8f824fa
libdrm: add encoder retrival
2008-05-30 12:10:01 +10:00
Dave Airlie
8ae82f3a2f
drm: add encoder / get encoder to the modesetting resources interface
2008-05-30 12:03:36 +10:00
Dave Airlie
6b970f193b
drm: remove unused init func from outputs
2008-05-30 11:48:41 +10:00
Dave Airlie
9654c776fd
drm/modesetting: add initial encoder structures and setup functions
2008-05-30 11:47:57 +10:00
Dave Airlie
98c5cf7f6f
modesetting: reorganise out crtc/outputs are allocated.
...
Use subclassing from the drivers to allocate the objects. This saves
two objects being allocated for each crtc/output and generally makes
exit paths cleaner.
2008-05-30 11:25:41 +10:00
Eric Anholt
3b1e4e6dc3
[intel-gem] Write the presumed_offset back out after updating it.
...
Otherwise, 965 constant state buffers get re-relocated every exec. Ouch.
2008-05-29 12:53:21 -07:00
Keith Packard
19ff3366e4
[intel-gem] Clean up active/inactive/flushing list debugging.
2008-05-28 23:56:31 -07:00
Dave Airlie
df8cd54286
modesetting: reorganise code into core and helper functions.
...
This splits a lot of the core modesetting code out into a file of
helper functions, that are only called from themselves and/or the driver.
The driver gets called into more often or can call these functions from itself
if it is a helper using driver.
I've broken framebuffer resize doing this but I didn't like the API for that
in any case.
2008-05-29 14:02:14 +10:00
Dave Airlie
ee5afc6342
modeset: disable radeon ms by default
...
as I'm going to break it.
2008-05-29 13:58:26 +10:00
Alan Hourihane
3a3f39d144
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
shared-core/i915_drv.h
2008-05-28 21:01:18 +01:00
Jesse Barnes
070755af3f
i915: unmap BIOS when we're done with it
...
At the moment, we only read it at startup time, so we can just unmap it there
when we're done.
2008-05-28 08:24:42 -07:00
Dave Airlie
5b86823fa3
radeon: split microcode out into a separate header file.
2008-05-28 11:12:57 +10:00
Eric Anholt
e10502002f
[intel-gem] Replace idlelock usage with real lock acquisition.
2008-05-27 18:03:18 -07:00
Dave Airlie
0c8a8db1b6
i915: fix BSD bh, DRI2 not uses anywhere else
2008-05-28 10:28:13 +10:00
Dave Airlie
c06096d34f
radeon: bump release date/version for r500 3D support
2008-05-28 10:02:20 +10:00
Alex Deucher
59c953245c
RADEON: add get_param for number of GB pipes
2008-05-27 18:34:33 -04:00
Owain Ainsworth
df127c303d
[BSD] Move unlock in drm_vm.c from accidental platform #ifdeffing.
...
Also remove an unreachable unlock.
2008-05-27 15:12:35 -07:00
Owain Ainsworth
cc7ad27fe4
[BSD] Fix lock leak in drm_update_draw malloc failure path.
2008-05-27 15:11:25 -07:00
Owain Ainsworth
9a2ae28fbe
[BSD] Fix lock leaks in error paths in drm_bufs.c.
2008-05-27 15:07:04 -07:00
Owain Ainsworth
200ac59573
[BSD] Remove superfluous recursive locking in drm_add_magic.
2008-05-27 14:59:38 -07:00
Jie Luo
e45f95a03b
[i915] Fix typo in (unused) START_ADDR definition.
2008-05-27 14:55:01 -07:00
Robert Noland
8cd045079e
[FreeBSD] Add vblank-rework support and get drivers building.
...
The i915 driver now works again.
2008-05-27 14:25:20 -07:00
Eric Anholt
ad8eb0ed01
[FreeBSD] Convert from drm_device_t to struct drm_device for consistency.
2008-05-27 14:25:08 -07:00
Keith Packard
1f4e36081b
[intel-gem] Must hold DRM lock while setting object domain
...
Object domain transfer can involve adding flush ops to the request queue,
and so the DRM lock must be held to avoid having the X server smash pointers
badly.
2008-05-26 17:41:46 -07:00
Keith Packard
d434b64f6a
[i915] leave interrupts masked off when not in use.
...
The interrupt enable register cannot be used to temporarily disable
interrupts, instead use the interrupt mask register.
Note that this change means that a pile of buffers will be left stuck on the
chip as the final interrupts will not be recognized to come and drain things.
2008-05-26 03:25:16 -07:00
Keith Packard
7cf3fd29fe
[intel-gem] Add DRM_I915_GEM_BUSY ioctl to check for idle buffers.
...
This new ioctl returns whether re-using the buffer would force a wait.
2008-05-25 20:45:20 -07:00
Keith Packard
6d1d11704a
[intel-gem] Compute npages instead of nbytes in flush_pwrite
...
i915_gem_flush_pwrite optimizes short writes to the buffer by clflushing
only the modified pages, but it was miscomputing the number of pages.
2008-05-25 20:44:19 -07:00
Keith Packard
c69b81df62
[intel-gem] replace call to jiffies_to-msec with simple inline
2008-05-25 20:41:42 -07:00
Jesse Barnes
9fc4ea5c00
i915: do a better job of parsing VBIOS data
...
Add code to get panel modes from the VBIOS if present and check whether certain
outputs exist. Should make our display detection code a little more robust.
2008-05-23 18:42:47 -07:00
Jesse Barnes
b4d8cda8e6
drm_mode_debug_printmodeline doesn't need struct drm_device *
...
Makes printing modelines from some routines easier.
2008-05-23 18:41:58 -07:00
Keith Packard
8c2b207f9b
[intel-gem] Encourage multiple caches to hold read data
...
When reading from multiple domains, allow each cache to continue
to hold data until writes occur somewhere. This is done by
first leaving the read_domains alone at bind time (presumably the CPU read
cache contains valid data still) and then in set_domain, if no write_domain
is specified, the new read domains are simply merged into the existing read
domains.
A huge comment was added above set_domain to explain how things are
expected to work.
2008-05-22 23:08:38 -07:00