drm/nv50: store full dcb i2c entry from vbios

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Ben Skeggs 2010-04-24 03:05:56 +10:00
parent afa3b4c377
commit 07fee3d561
2 changed files with 7 additions and 2 deletions

View file

@ -5141,8 +5141,12 @@ read_dcb_i2c_entry(struct drm_device *dev, int dcb_version, uint8_t *i2ctable, i
rdofs = wrofs = 0; rdofs = wrofs = 0;
} }
if (dcb_i2c_ver >= 0x40 && port_type != 5 && port_type != 6) if (dcb_i2c_ver >= 0x40) {
NV_WARN(dev, "DCB I2C table has port type %d\n", port_type); if (port_type != 5 && port_type != 6)
NV_WARN(dev, "DCB I2C table has port type %d\n", port_type);
i2c->entry = ROM32(i2ctable[headerlen + recordoffset + entry_len * index]);
}
i2c->port_type = port_type; i2c->port_type = port_type;
i2c->read = i2ctable[headerlen + recordoffset + rdofs + entry_len * index]; i2c->read = i2ctable[headerlen + recordoffset + rdofs + entry_len * index];

View file

@ -35,6 +35,7 @@
#define DCB_LOC_ON_CHIP 0 #define DCB_LOC_ON_CHIP 0
struct dcb_i2c_entry { struct dcb_i2c_entry {
uint32_t entry;
uint8_t port_type; uint8_t port_type;
uint8_t read, write; uint8_t read, write;
struct nouveau_i2c_chan *chan; struct nouveau_i2c_chan *chan;