summaryrefslogtreecommitdiff
path: root/src/i830_lvds.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2006-10-31 17:10:08 -0800
committerEric Anholt <eric@anholt.net>2006-10-31 17:10:08 -0800
commit7195dfabd56239f08cdd8175a2ef3a66ef9600de (patch)
treec83545579654d375332e01d19a4a79e8604b00a9 /src/i830_lvds.c
parentcc3728be2481637dda321d3bc2e4e89a220699cd (diff)
Give each output a get_modes function and expose those modes through RandR.
The get_modes should return the probed modes only. The driver should then append to the list (for example, compatible modes listed in other outputs, or standard VESA modes) to create the list to expose through RandR. That isn't done yet.
Diffstat (limited to 'src/i830_lvds.c')
-rw-r--r--src/i830_lvds.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index e0e471ff..4b899033 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -235,6 +235,11 @@ i830_lvds_init(ScrnInfoPtr pScrn)
pI830->output[pI830->num_outputs].pre_set_mode = i830_lvds_pre_set_mode;
pI830->output[pI830->num_outputs].post_set_mode = i830_lvds_post_set_mode;
pI830->output[pI830->num_outputs].detect = i830_lvds_detect;
+ /* This will usually return NULL on laptop panels, which is no good.
+ * We need to construct a mode from the fixed panel info, and return a copy
+ * of that when DDC is unavailable.
+ */
+ pI830->output[pI830->num_outputs].get_modes = i830_ddc_get_modes;
/* Set up the LVDS DDC channel. Most panels won't support it, but it can
* be useful if available.