mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 11:17:56 +07:00
drm/nouveau/devinit: use new devinit script interpreter entry-point
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
74bcb2e98a
commit
28c62976a8
@ -2308,32 +2308,18 @@ nvbios_post(struct nvkm_subdev *subdev, bool execute)
|
||||
if (execute)
|
||||
nvkm_debug(subdev, "running init tables\n");
|
||||
while (!ret && (data = (init_script(bios, ++i)))) {
|
||||
struct nvbios_init init = {
|
||||
.subdev = subdev,
|
||||
.bios = bios,
|
||||
.offset = data,
|
||||
.outp = NULL,
|
||||
.head = -1,
|
||||
.execute = execute ? 1 : 0,
|
||||
};
|
||||
|
||||
ret = nvbios_exec(&init);
|
||||
ret = nvbios_init(subdev, data,
|
||||
init.execute = execute ? 1 : 0;
|
||||
);
|
||||
}
|
||||
|
||||
/* the vbios parser will run this right after the normal init
|
||||
* tables, whereas the binary driver appears to run it later.
|
||||
*/
|
||||
if (!ret && (data = init_unknown_script(bios))) {
|
||||
struct nvbios_init init = {
|
||||
.subdev = subdev,
|
||||
.bios = bios,
|
||||
.offset = data,
|
||||
.outp = NULL,
|
||||
.head = -1,
|
||||
.execute = execute ? 1 : 0,
|
||||
};
|
||||
|
||||
ret = nvbios_exec(&init);
|
||||
ret = nvbios_init(subdev, data,
|
||||
init.execute = execute ? 1 : 0;
|
||||
);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -137,16 +137,11 @@ nv50_devinit_init(struct nvkm_devinit *base)
|
||||
while (init->base.post && dcb_outp_parse(bios, i, &ver, &hdr, &outp)) {
|
||||
if (nvbios_outp_match(bios, outp.hasht, outp.hashm,
|
||||
&ver, &hdr, &cnt, &len, &info)) {
|
||||
struct nvbios_init exec = {
|
||||
.subdev = subdev,
|
||||
.bios = bios,
|
||||
.offset = info.script[0],
|
||||
.outp = &outp,
|
||||
.crtc = -1,
|
||||
.execute = 1,
|
||||
};
|
||||
|
||||
nvbios_exec(&exec);
|
||||
nvbios_init(subdev, info.script[0],
|
||||
init.outp = &outp;
|
||||
init.or = ffs(outp.or) - 1;
|
||||
init.link = outp.sorconf.link == 2;
|
||||
);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user