diff options
-rw-r--r-- | nvkm/subdev/bios/image.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/nvkm/subdev/bios/image.c b/nvkm/subdev/bios/image.c index dd8fd2f42..df85cc6d0 100644 --- a/nvkm/subdev/bios/image.c +++ b/nvkm/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; } |