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