diff options
author | Alexandre Courbot <acourbot@nvidia.com> | 2014-11-12 14:19:58 +0900 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-11-13 15:45:10 +1000 |
commit | 3a5dda18f5132555e9f6d4dfd08774a0082445e5 (patch) | |
tree | e9d429cd3ed601489886b4748a6747c4b7052b6f /nvkm | |
parent | 3faa6c9d4ce12f24f4d84f6db454f83a1fbcc126 (diff) | |
download | nouveau-3a5dda18f5132555e9f6d4dfd08774a0082445e5.tar.gz |
fb/gk20a: fix setting of large page size bit
Commit "ltc/gf100-: fix cbc issues on certain boards" moved the setting
of the large page size bit from bar/nvc0 to fb/nvc0. GK20A uses its own
FB device and the change was thus not applied to it - fix this.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'nvkm')
-rw-r--r-- | nvkm/subdev/fb/gk20a.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/nvkm/subdev/fb/gk20a.c b/nvkm/subdev/fb/gk20a.c index a16024a74..fde42e4d1 100644 --- a/nvkm/subdev/fb/gk20a.c +++ b/nvkm/subdev/fb/gk20a.c @@ -27,6 +27,20 @@ struct gk20a_fb_priv { }; static int +gk20a_fb_init(struct nouveau_object *object) +{ + struct gk20a_fb_priv *priv = (void *)object; + int ret; + + ret = nouveau_fb_init(&priv->base); + if (ret) + return ret; + + nv_mask(priv, 0x100c80, 0x00000001, 0x00000000); /* 128KiB lpg */ + return 0; +} + +static int gk20a_fb_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nouveau_oclass *oclass, void *data, u32 size, struct nouveau_object **pobject) @@ -48,7 +62,7 @@ gk20a_fb_oclass = &(struct nouveau_fb_impl) { .base.ofuncs = &(struct nouveau_ofuncs) { .ctor = gk20a_fb_ctor, .dtor = _nouveau_fb_dtor, - .init = _nouveau_fb_init, + .init = gk20a_fb_init, .fini = _nouveau_fb_fini, }, .memtype = nvc0_fb_memtype_valid, |