Commit graph

1998 commits

Author SHA1 Message Date
Dave Airlie
967bd21911 modesetting: initial attempt at debonging fb 2008-06-05 11:11:22 +10:00
Jesse Barnes
e90716671d i915: use kzalloc to allocate intel_output for lvds
Better to initialize all the struct fields to 0.  Also more consistent with
other output init routines.
2008-06-04 12:50:03 -07:00
Jesse Barnes
52183fb05b Fix crash in drm_mode_connector_update_edid_property
We need to initialize the edid_blob_ptr to NULL when we init a connector,
otherwise drm_mode_connector_update_edid_property may think there's a valid
EDID lying around and try to destroy it, causing a crash.
2008-06-04 09:38:44 -07:00
Dave Airlie
cf1964f971 drm: fix hotplug oops 2008-06-04 15:17:13 +10:00
Dave Airlie
a8725d95bc intel: report a known connector 2008-06-04 15:17:00 +10:00
Keith Packard
0903de0c8f Drop struct_mutex while waiting in drm_client_lock_take
struct_mutex cannot be held while blocking on DRM lock.
2008-06-03 21:49:57 -07:00
Dave Airlie
382aa3ceeb drm: introduce generation counter to interface.
Idea being if you want to add new crtc/output/encoder dynamically later,
you just increase the generation counter and userspace should re-read
all the resources
2008-06-04 13:50:51 +10:00
Dave Airlie
9f31bd09c1 drm/sysfs: don't try an unregister if not registered 2008-06-04 13:16:49 +10:00
Dave Airlie
8e4c61e526 intel: use kzalloc 2008-06-04 13:09:20 +10:00
Dave Airlie
8690ad8ae0 drm/modesetting: bo not used anymore 2008-06-04 13:09:05 +10:00
Dave Airlie
58aca7485a drm: remove sysfs in driver for now.. should probably be in helper 2008-06-04 13:03:23 +10:00
Dave Airlie
fd27591c6c drm/modesetting: pass object handle to driver !bo 2008-06-04 13:00:31 +10:00
Dave Airlie
76a44f14d6 drm/modesetting: overhaul the fb create/delete.
Move TTM code into the driver
2008-06-04 11:59:28 +10:00
Dave Airlie
40229b6ad5 drm: make mode comparison more betterer.
This compares the clocks after converting to fb pico timings so we
get the same answer if the X and fb modes are the same.
2008-06-04 10:36:58 +10:00
Keith Packard
867c2bb461 [intel-gem] reloc_and_validate_object → object_bind_and_relocate
Just renaming this function and related parameters to match terminology used
elsewhere in the driver.
2008-06-02 12:37:10 -07:00
Keith Packard
1cb2940a25 [intel-gem] Propagate set_domain errors.
set_domain can block waiting for rendering to complete. If that process is
interrupted by a signal, it can return -EINTR. Catch this error in all
callers and correctly deal with the result.
2008-06-02 10:59:15 -07:00
Alan Hourihane
3ed17803d8 more checks for NULL encoder so we don't segfault. 2008-06-02 10:44:29 +01:00
Alan Hourihane
dc022084cd Fix warnings 2008-06-02 10:03:28 +01:00
Dave Airlie
149b17311a drm: initial mode object groups.
This creates a default group attached to the legacy drm minor nodes.

It covers all the objects in the set. make set resources only return
objects for this set. Need to fix up other functions to only work on
objects in their allowed set.
2008-06-02 16:45:44 +10:00
Dave Airlie
50d3e5bd02 drm/modesetting: redo object handles around a core object.
handle crtc/encoders/connectors/fb/mode/property/blob using this system.
2008-06-02 16:19:21 +10:00
Dave Airlie
c321bc4f92 drm: only report framebuffers available on this fd.
Not 100% sure this is a good idea, but I think I'd rather things
communicate with bo handles not fb ids.
2008-06-02 14:33:42 +10:00
Dave Airlie
4e7b246398 drm: add functions to get/set gamma ramps 2008-06-02 14:04:41 +10:00
Dave Airlie
eba6cdc936 Merge branch 'modesetting-101-encoders' into modesetting-101 2008-06-02 12:58:10 +10:00
Dave Airlie
7fec6c0e2a drm: fixup encoder picking in set_config stage 2008-06-02 12:57:09 +10:00
Dave Airlie
46c78a2223 drm/modesetting: add best encoder finding for modesetting
This asks the driver to suggest the best encoder for the connector
during the pick crtcs stage.

Need to also do this during mode setting stages
2008-06-02 11:44:35 +10:00
Dave Airlie
0dd000b578 drm/modesetting: move some connector functions to helper.
Migrated the output mode collection into the helper.
2008-06-02 11:12:28 +10:00
Dave Airlie
dba95ec343 drm: fixup some interfaces so test code works again 2008-06-02 10:41:12 +10:00
Dave Airlie
e439e74776 drm/modesetting: another re-org of some internals.
Move dpms into the helper functions.
Move crtc into the encoder.
Move disable unused functions into the helper.
2008-06-02 10:05:54 +10: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
5d47185eb6 drm: switch possible crtc/clones over to encoders 2008-05-30 15:32:58 +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
9239cf511f drm: add encoder attach/detach 2008-05-30 13:31:16 +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
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