drm/nouveau/bios: use size/type from pci data structure
The field at +0x2 is technically processor specific, though I don't know that it's ever mattered in practice (yet). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
8d85e06b5e
commit
7af4dec166
|
@ -24,10 +24,14 @@
|
||||||
|
|
||||||
#include <subdev/bios.h>
|
#include <subdev/bios.h>
|
||||||
#include <subdev/bios/image.h>
|
#include <subdev/bios/image.h>
|
||||||
|
#include <subdev/bios/pcir.h>
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
nvbios_imagen(struct nouveau_bios *bios, struct nvbios_image *image)
|
nvbios_imagen(struct nouveau_bios *bios, struct nvbios_image *image)
|
||||||
{
|
{
|
||||||
|
struct nvbios_pcirT pcir;
|
||||||
|
u8 ver;
|
||||||
|
u16 hdr;
|
||||||
u32 data;
|
u32 data;
|
||||||
|
|
||||||
switch ((data = nv_ro16(bios, image->base + 0x00))) {
|
switch ((data = nv_ro16(bios, image->base + 0x00))) {
|
||||||
|
@ -39,8 +43,10 @@ nvbios_imagen(struct nouveau_bios *bios, struct nvbios_image *image)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
image->size = nv_ro08(bios, image->base + 0x02) * 512;
|
if (!(data = nvbios_pcirTp(bios, image->base, &ver, &hdr, &pcir)))
|
||||||
image->type = 0x00;
|
return false;
|
||||||
|
image->size = pcir.image_size;
|
||||||
|
image->type = pcir.image_type;
|
||||||
image->last = true;
|
image->last = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue