[Nouveau] [PATCH 1/3] drm/nouveau: Ignore DCB I2C indices for on-chip TV-out.

Francisco Jerez currojerez at riseup.net
Sun Oct 4 19:37:04 PDT 2009


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 <currojerez at riseup.net>
---
 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



More information about the Nouveau mailing list