Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3af76454 authored by Francisco Jerez's avatar Francisco Jerez Committed by Ben Skeggs
Browse files

drm/nouveau: Ignore broken legacy I2C entries.

The nv05 card in the bug report [1] doesn't have usable I2C port
register offsets (they're all filled with zeros). Ignore them and use
the defaults.

[1] http://bugs.launchpad.net/bugs/569505



Signed-off-by: default avatarFrancisco Jerez <currojerez@riseup.net>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 190a4378
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -5167,9 +5167,13 @@ static int parse_bmp_structure(struct drm_device *dev, struct nvbios *bios, unsi
	bios->legacy.i2c_indices.crt = bios->data[legacy_i2c_offset];
	bios->legacy.i2c_indices.tv = bios->data[legacy_i2c_offset + 1];
	bios->legacy.i2c_indices.panel = bios->data[legacy_i2c_offset + 2];
	if (bios->data[legacy_i2c_offset + 4])
		bios->dcb.i2c[0].write = bios->data[legacy_i2c_offset + 4];
	if (bios->data[legacy_i2c_offset + 5])
		bios->dcb.i2c[0].read = bios->data[legacy_i2c_offset + 5];
	if (bios->data[legacy_i2c_offset + 6])
		bios->dcb.i2c[1].write = bios->data[legacy_i2c_offset + 6];
	if (bios->data[legacy_i2c_offset + 7])
		bios->dcb.i2c[1].read = bios->data[legacy_i2c_offset + 7];

	if (bmplength > 74) {