diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-09-22 11:21:57 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-12-02 15:43:41 +1000 |
commit | 7205875d09e4fd60d21a448fe070c0ba3e6e9588 (patch) | |
tree | d8b16f03cee405d3feba919b491f53ccf9112b9d /drivers/gpu/drm/nouveau/core/subdev/bios/image.c | |
parent | drm/nouveau/bios: add NPDE parsing (diff) | |
download | linux-dev-7205875d09e4fd60d21a448fe070c0ba3e6e9588.tar.xz linux-dev-7205875d09e4fd60d21a448fe070c0ba3e6e9588.zip |
drm/nouveau/bios: use NPDE to locate images beyond those defined by PCIR
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/subdev/bios/image.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/bios/image.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/image.c b/drivers/gpu/drm/nouveau/core/subdev/bios/image.c index dd8fd2f4263b..df85cc6d0fc7 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/bios/image.c +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/image.c @@ -25,11 +25,13 @@ #include <subdev/bios.h> #include <subdev/bios/image.h> #include <subdev/bios/pcir.h> +#include <subdev/bios/npde.h> static bool nvbios_imagen(struct nouveau_bios *bios, struct nvbios_image *image) { struct nvbios_pcirT pcir; + struct nvbios_npdeT npde; u8 ver; u16 hdr; u32 data; @@ -48,6 +50,11 @@ nvbios_imagen(struct nouveau_bios *bios, struct nvbios_image *image) image->size = pcir.image_size; image->type = pcir.image_type; image->last = pcir.last; + + if (!(data = nvbios_npdeTp(bios, image->base, &npde))) + return true; + image->size = npde.image_size; + image->last = npde.last; return true; } |