Commit Graph

157 Commits (4234f82acc70f41e005d8cc301da56634352425c)

Author SHA1 Message Date
Dave Airlie df9871064e radeon: add initial atombios modesetting and GEM -> TTM translation layer.
This is an initial import of the atom bios parser with modesetting support
for r500 hw using atombios. It also includes a simple memory manager
layer that translates a radeon GEM style interface onto TTM internally.

So far this memory manager has only been used for pinned object allocation
for the DDX to test modesetting.
2008-07-26 08:56:23 +10:00
Dave Airlie 11d3075087 modesetting: pass file_priv into cursor set functions 2008-07-26 08:41:01 +10:00
Maarten Maathuis e51cd78cac modesetting-101: Only store property value when set_property was successful. 2008-07-20 14:58:46 +02:00
Maarten Maathuis 65803e53a6 modesetting-101: implement optional scaling and dithering properties 2008-07-20 13:49:18 +02:00
Maarten Maathuis 6738e7b00b modesetting-101: Rename DPMS modes to avoid compatibility issues with xorg definitions. 2008-07-06 11:08:49 +02:00
Maarten Maathuis e1cd21bcc8 NV50: remove edid when monitor is gone, improve fbcon, misc fixes
- This should avoid switching crtc's when going to fbcon.
2008-07-05 20:17:49 +02:00
Maarten Maathuis 7cbc5f6145 modesetting-101: Make the interface variable names a little more consistent + modeprint changes.
- All things are now called _id when they are id's.
- modeprint now accepts driver name as first argument.
2008-07-05 12:04:07 +02:00
Maarten Maathuis be31a0fa73 modesetting-101: tv_left_margin_property shouldn't be immutable. 2008-07-04 18:47:59 +02:00
Maarten Maathuis 0028ca33e9 Forgot the 0'th element for the tv property. 2008-07-04 17:37:45 +02:00
Maarten Maathuis b29578103f [modesetting-101] Add subconnector and select_subconnector properties.
- These facilitate DVI-I and tv-out that can drive multiple types of signals.
2008-07-04 17:19:11 +02:00
Dave Airlie 142a309604 modesetting: rip out all of the generation code.
not needed, hotplug will work just as well hopefully.
2008-07-04 09:34:24 +10:00
Dave Airlie 59a9a756e2 modesetting: lookup blob using correct identifier.
blob is a blob not a connector
2008-07-03 08:06:44 +10:00
Maarten Maathuis 9f28da80f6 Change some obviously wrong things about property blobs, still broken though.
- I do not fully understand these blobs, so i'm leaving it at this for the moment.
2008-06-27 18:45:08 +02:00
Maarten Maathuis 71906e86e8 [modesetting-101] Actually store properties when being changed. 2008-06-27 16:30:25 +02:00
Maarten Maathuis d88616555d [modesetting-101] tab-cleanup 2008-06-26 23:21:01 +02:00
Maarten Maathuis 087e3f577d Revert "modesetting-101: Make dpms property optional + misc cleanup."
This reverts commit 13943fe582.
2008-06-26 23:12:04 +02:00
Maarten Maathuis 13943fe582 modesetting-101: Make dpms property optional + misc cleanup.
- intel_crt seems the only one to provide it, so init it there.
2008-06-26 21:28:29 +02:00
Maarten Maathuis 246b41fea4 [modesetting-101] update mode count after fill_modes.
- This avoids returning with a mode count of 0, thus not allocating space for the 2nd ioctl.
2008-06-23 22:59:17 +02:00
Maarten Maathuis 473a1997ac NV50: Initial import of kernel modesetting. 2008-06-22 16:29:00 +02:00
Dave Airlie 6d4ffd12cd drm: fix up fb resize again 2008-06-06 16:24:27 +10:00
Dave Airlie ec774e4d72 Merge remote branch 'origin/modesetting-101' into modesetting-101-fb 2008-06-06 15:21:57 +10:00
Dave Airlie efcf066eff drm/modesetting: attempt to make fb code more sane 2008-06-05 15:21:07 +10: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 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 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 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 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
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