diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-04-24 03:05:56 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-05-19 13:15:16 +1000 |
commit | 07fee3d561eb7634b08e4362dc9c5c5708facd03 (patch) | |
tree | c80b43ad30c4456f91e7cf848fd236a19ada3f0e | |
parent | afa3b4c37772f21b69980c155515927fdecd3a27 (diff) | |
download | op-kernel-dev-07fee3d561eb7634b08e4362dc9c5c5708facd03.zip op-kernel-dev-07fee3d561eb7634b08e4362dc9c5c5708facd03.tar.gz |
drm/nv50: store full dcb i2c entry from vbios
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bios.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bios.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c index ba7a120a..3c9c54e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c @@ -5141,8 +5141,12 @@ read_dcb_i2c_entry(struct drm_device *dev, int dcb_version, uint8_t *i2ctable, i rdofs = wrofs = 0; } - if (dcb_i2c_ver >= 0x40 && port_type != 5 && port_type != 6) - NV_WARN(dev, "DCB I2C table has port type %d\n", port_type); + if (dcb_i2c_ver >= 0x40) { + 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->read = i2ctable[headerlen + recordoffset + rdofs + entry_len * index]; diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.h b/drivers/gpu/drm/nouveau/nouveau_bios.h index c0d7b0a..adf4ec2 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.h +++ b/drivers/gpu/drm/nouveau/nouveau_bios.h @@ -35,6 +35,7 @@ #define DCB_LOC_ON_CHIP 0 struct dcb_i2c_entry { + uint32_t entry; uint8_t port_type; uint8_t read, write; struct nouveau_i2c_chan *chan; |