summaryrefslogtreecommitdiff
path: root/linux-core/intel_lvds.c
diff options
context:
space:
mode:
authorroot <root@localhost.(none)>2007-05-17 12:46:36 +0100
committerroot <root@localhost.(none)>2007-05-17 12:46:36 +0100
commit5ce8aaae7251e60c078eda0a21894aae0e1d7a45 (patch)
tree97855e1a7492e547445f2a56e84a3b70d8683108 /linux-core/intel_lvds.c
parenteba00df1203040905d38bf0ef449d25d6dbdb72c (diff)
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.
Diffstat (limited to 'linux-core/intel_lvds.c')
-rw-r--r--linux-core/intel_lvds.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/linux-core/intel_lvds.c b/linux-core/intel_lvds.c
index 74b040ba..942eb2ab 100644
--- a/linux-core/intel_lvds.c
+++ b/linux-core/intel_lvds.c
@@ -164,6 +164,13 @@ static bool intel_lvds_mode_fixup(struct drm_output *output,
struct intel_crtc *intel_crtc = output->crtc->driver_private;
struct drm_output *tmp_output;
+ /* Should never happen!! */
+ if (!IS_I965G(dev) && intel_crtc->pipe == 0) {
+ printk(KERN_ERR "Can't support LVDS on pipe A\n");
+ return false;
+ }
+
+ /* Should never happen!! */
list_for_each_entry(tmp_output, &dev->mode_config.output_list, head) {
if (tmp_output != output && tmp_output->crtc == output->crtc) {
printk(KERN_ERR "Can't enable LVDS and another "
@@ -172,11 +179,6 @@ static bool intel_lvds_mode_fixup(struct drm_output *output,
}
}
- if (intel_crtc->pipe == 0) {
- printk(KERN_ERR "Can't support LVDS on pipe A\n");
- return false;
- }
-
/*
* If we have timings from the BIOS for the panel, put them in
* to the adjusted mode. The CRTC will be set up for this mode,