The nv31m in bug 23212 claims its TV-out and LVDS are in the same
connector. Ignore it completely as it's otherwise useless.

Signed-off-by: Francisco Jerez <[email protected]>
---
 drivers/gpu/drm/nouveau/nouveau_bios.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c 
b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 195ecb3..01ef97e 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -5259,6 +5259,17 @@ fixup_legacy_connector(struct nvbios *bios)
                if (dcb->entry[i].i2c_index == 0xf)
                        continue;
 
+               /*
+                * Ignore the I2C index for on-chip TV-out, as there
+                * are cards with bogus values (nv31m in bug 23212),
+                * and it's otherwise useless.
+                */
+               if (dcb->entry[i].type == OUTPUT_TV &&
+                   dcb->entry[i].location == DCB_LOC_ON_CHIP) {
+                       dcb->entry[i].i2c_index = 0xf;
+                       continue;
+               }
+
                dcb->entry[i].connector = dcb->entry[i].i2c_index;
                if (dcb->entry[i].connector > high)
                        high = dcb->entry[i].connector;
-- 
1.6.3.3

_______________________________________________
Nouveau mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to