summaryrefslogtreecommitdiff
path: root/src/i830_dvo.c
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@hobbes.virtuousgeek.org>2008-02-22 11:41:25 -0800
committerJesse Barnes <jbarnes@hobbes.virtuousgeek.org>2008-02-22 11:41:25 -0800
commit975d7833bc844485c7043538336bddcba7f7f90e (patch)
tree952706a2f0f6da5741f11c1c2f8091de5d9c58d5 /src/i830_dvo.c
parent33802b6ee3c298bae4d2b6f464ee5cc730a58506 (diff)
Add quirk for DVO channel selection
Some machines want DVOA, some DVOB. We can use this quirk to differentiate them until we come up with a better solution. Patch from Hong Liu. Fixes #13722.
Diffstat (limited to 'src/i830_dvo.c')
-rw-r--r--src/i830_dvo.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/i830_dvo.c b/src/i830_dvo.c
index e7342b08..81d56012 100644
--- a/src/i830_dvo.c
+++ b/src/i830_dvo.c
@@ -83,7 +83,7 @@ struct _I830DVODriver i830_dvo_drivers[] =
.type = I830_OUTPUT_DVO_LVDS,
.modulename = "ivch",
.fntablename = "ivch_methods",
- .dvo_reg = DVOB,
+ .dvo_reg = DVOA,
.address = 0x04, /* Might also be 0x44, 0x84, 0xc4 */
.symbols = ivch_symbols
},
@@ -398,6 +398,7 @@ i830_dvo_get_current_mode (xf86OutputPtr output)
void
i830_dvo_init(ScrnInfoPtr pScrn)
{
+ I830Ptr pI830 = I830PTR(pScrn);
I830OutputPrivatePtr intel_output;
int ret;
int i;
@@ -431,6 +432,11 @@ i830_dvo_init(ScrnInfoPtr pScrn)
ret_ptr = NULL;
drv->vid_rec = LoaderSymbol(drv->fntablename);
+ if (!strcmp(drv->modulename, "ivch") &&
+ pI830->quirk_flag & QUIRK_IVCH_NEED_DVOB) {
+ drv->dvo_reg = DVOB;
+ }
+
/* Allow the I2C driver info to specify the GPIO to be used in
* special cases, but otherwise default to what's defined in the spec.
*/