Commit graph

123 commits

Author SHA1 Message Date
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
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
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
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
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
Hong Liu
a51e38548c fix kernel oops when removing fb
drm_crtc->fb may point to NULL, f.e X server will allocate a new fb
and assign it to the CRTC at startup, when X server exits, it will destroy
the allocated fb, making drm_crtc->fb points to NULL.
2008-05-12 12:31:56 -07:00
Jakob Bornecrantz
7bcbc443f4 i915: Changed intel_fb to use the new drm_crtc_set_config interface 2008-05-08 20:10:18 +02:00
Jakob Bornecrantz
ba36d54ad4 drm: Made set_config use drm_mode_set as a argument 2008-05-08 15:03:57 +02:00
Dave Airlie
576cba86b7 drm: fix replacefb to change fb properties 2008-05-08 16:09:45 +10:00
Dave Airlie
ed072ed075 drm_mode: initial replacefb implemenation 2008-05-08 14:02:05 +10:00
Jesse Barnes
83c3acb7da Split TV property creation into its own routine
It needs to take arguments from the caller about supported TV formats,
so declare it in drm_crtc.h and export it.
2008-04-10 20:30:12 -07:00
Jesse Barnes
bee546ad69 Remove structure fields & code
Cleanup some random cruft left over from the initial port.
2008-04-10 19:02:53 -07:00
Jesse Barnes
0a6e301e6d Keep display info in struct display_info
Some fields had snuck into the drm_output structure.  Put them back and
fill in more stuff from the EDID block.
2008-04-10 11:23:55 -07:00
Jesse Barnes
fa116081a9 Fixup sysfs output registration
Put off registering new outputs with sysfs until they're properly configured,
or we may get duplicates if the type hasn't been set yet (as is the case with
SDVO initialization).  This also means moving de-registration into the cleanup
function instead of output destroy, since the latter occurs during the normal
course of setup when an output isn't found (and therefore not registered with
sysfs yet.
2008-04-09 11:30:15 -07:00
Jesse Barnes
5a3ce06f3a Improved DRM sysfs support
This patch ties outputs, output properties and hotplug events into the
DRM core.  Each output has a corresponding directory under the primary
DRM device (usually card0) containing dpms, edid, modes, and connection
status files.

New hotplug change events occur when outputs are added or hotplug events
are detected.
2008-04-08 12:42:23 -07:00
Alan Hourihane
903d9231d6 Add support for monitor hotplug signals/waits
Also adjust i915 irq handling as it follows the 16bit'ism's
of the i8xx series.
2008-03-11 20:30:25 +00:00
Dave Airlie
33cb42a9f7 make startup of Xorg smoother if the mode doesn't change.
just flip the framebuffer in when required.
2008-03-07 13:03:42 +11:00
Alan Hourihane
fef1c93aa8 build fix 2008-03-05 10:35:47 +00:00
Alan Hourihane
8bfe29d9e4 Use ARRAY_SIZE 2008-03-05 10:35:46 +00:00
Alan Hourihane
3ea1902be9 propogate failed fixups back up 2008-03-05 10:35:46 +00:00
Alan Hourihane
5662934ee4 Fix connector description table 2008-03-05 10:35:46 +00:00
Alan Hourihane
191385d518 DRM_INFO -> DRM_DEBUG 2008-02-26 15:20:59 +00:00
Alan Hourihane
2476cb209e Implement short circuit for base change only
Allow mode to be set with fb_id set to -1, meaning set
the mode with the current fb (if we have one bound).

Allow intelfb to hook back up it's fb if modesetting
clears it (maybe temporary).

Move any crtc->fb related register changes to set_base
in intel_fb.

General intelfb cleanups.
2008-02-26 15:19:34 +00:00
Dave Airlie
879fb12e28 drm: fix pick crtcs mode selection code 2008-02-26 17:11:03 +11:00
Dave Airlie
fad1db2d73 modesetting: fix memory leak and misallocation 2008-02-22 13:49:51 +10:00
Dave Airlie
e484681a43 remove more offset 2008-02-20 11:44:10 +10:00
Jesse Barnes
2b1c9cd696 i915: initial (and untested) TV out support
Ported from xf86-video-intel.  Still need to tie in TV modes somehow, though
preferably w/o using the properties mechanism.
2008-02-15 16:13:21 -08:00
Dave Airlie
088b383829 fb: fixup the offset by getting it from the right place 2008-02-15 16:42:44 +10:00
Dave Airlie
222092a1a8 various fixes from trying to get userspace started 2008-02-15 16:15:04 +10:00
Jakob Bornecrantz
0618ac8a07 Added kernel part of hotplug ioctl 2008-02-07 19:24:58 +01:00
Alan Hourihane
f2c706e247 Fix function declaration 2008-02-05 10:11:01 +00:00
Jakob Bornecrantz
a2254c5a96 Added cursor support 2008-01-28 03:14:56 +01:00
Jakob Bornecrantz
f07942f74a Panning now works without modeset 2008-01-11 17:13:48 +01:00
Jakob Bornecrantz
0b69c1d1d6 Added fixed misc framebuffer problems 2008-01-11 02:55:00 +01:00
Dave Airlie
e04d942ee8 fixup crtcinfo on modes from userspace 2008-01-09 18:11:17 +11:00
Dave Airlie
df9cfeff37 crtc: fixup allocation size 2008-01-04 17:48:42 +11:00
Dave Airlie
10937cf20b drm: move drm_head to drm_minor and fix up users 2008-01-04 16:12:24 +11: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
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