summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_bios.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-02-24 03:48:16 +0300
committerBen Skeggs <bskeggs@redhat.com>2010-02-25 08:09:26 +0300
commit54abb5ddae28f6e676f659902cfc8c3ce63b3e16 (patch)
treea9bb6163cba48b824f421035bc59eb72dc73e259 /drivers/gpu/drm/nouveau/nouveau_bios.c
parente7cc51c5652a8195bc638ce52987fb265ace2a9a (diff)
downloadlinux-54abb5ddae28f6e676f659902cfc8c3ce63b3e16.tar.xz
drm/nouveau: parse dcb gpio/connector tables after encoders
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_bios.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bios.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index ca65a5b11fa8..ea690a735325 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -5646,9 +5646,6 @@ parse_dcb_table(struct drm_device *dev, struct nvbios *bios, bool twoHeads)
dcb->i2c_default_indices = dcb->i2c_table[4];
}
- parse_dcb_gpio_table(bios);
- parse_dcb_connector_table(bios);
-
if (entries > DCB_MAX_NUM_ENTRIES)
entries = DCB_MAX_NUM_ENTRIES;
@@ -5684,7 +5681,12 @@ parse_dcb_table(struct drm_device *dev, struct nvbios *bios, bool twoHeads)
if (dcb->version < 0x21)
merge_like_dcb_entries(dev, dcb);
- return dcb->entries ? 0 : -ENXIO;
+ if (!dcb->entries)
+ return -ENXIO;
+
+ parse_dcb_gpio_table(bios);
+ parse_dcb_connector_table(bios);
+ return 0;
}
static void