Alexandre Courbot
2014-Nov-12 05:19 UTC
[Nouveau] [PATCH] 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 at nvidia.com> --- nvkm/subdev/fb/gk20a.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/nvkm/subdev/fb/gk20a.c b/nvkm/subdev/fb/gk20a.c index a16024a74771..fde42e4d1b56 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, -- 2.1.3
Ben Skeggs
2014-Nov-13 06:02 UTC
[Nouveau] [PATCH] fb/gk20a: fix setting of large page size bit
On Wed, Nov 12, 2014 at 3:19 PM, Alexandre Courbot <acourbot at nvidia.com> wrote:> 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.Oops, my apologies. Also another reminder of how I need to finish some work to get rid of so much glue :P Anyways, I've merged the patch and sent it for 3.18-fixes also. Thanks Alex, Ben.> > Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> > --- > nvkm/subdev/fb/gk20a.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/nvkm/subdev/fb/gk20a.c b/nvkm/subdev/fb/gk20a.c > index a16024a74771..fde42e4d1b56 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, > -- > 2.1.3 > > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau
Possibly Parallel Threads
- [PATCH v2 04/10] drm/nouveau/fb: add GK20A support
- [PATCH v4 0/9] drm/nouveau: support for GK20A, cont'd
- [PATCH v2 00/10] drm/nouveau: support for GK20A, cont'd
- [PATCH v3 0/9] drm/nouveau: support for GK20A, cont'd
- [PATCH 2/3] fb/gk20a: use regular gf100's functions