diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2017-05-19 23:59:34 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2017-06-16 14:04:44 +1000 |
commit | 28c62976a8a7de7cbdc6908ec0d575cef3cfe288 (patch) | |
tree | 5d4b875fbf1423ef409645bfa837d7f586cf198b /drivers/gpu | |
parent | 74bcb2e98a3cac5456c9d3bc38c64963d61e481e (diff) |
drm/nouveau/devinit: use new devinit script interpreter entry-point
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c | 26 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c | 15 |
2 files changed, 11 insertions, 30 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c index b1256aba2fdb..2095f43e16ac 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c @@ -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; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c index 59362f8dee22..d7947c4391dc 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c @@ -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++; } |