On Mon, Oct 27, 2014 at 6:34 AM, Alexandre Courbot <acourbot@xxxxxxxxxx> wrote: > GK20A does not have dedicated VRAM, therefore allocating in VRAM can be > sub-optimal and sometimes even harmful. Set its VRAM domain to > NOUVEAU_BO_GART so all objects are allocated in system memory. > > Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> > --- > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > index ac5823e4a8d5..ad143cd9a140 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > @@ -620,6 +620,16 @@ nvc0_screen_create(struct nouveau_device *dev) > return NULL; > pscreen = &screen->base.base; > > + /* Recognize chipsets with no VRAM */ > + switch (dev->chipset) { > + /* GK20A */ > + case 0xea: > + screen->base.vram_domain = NOUVEAU_BO_GART; I think you also want to set vidmem_bindings = 0... although potentially after the |= that's done below. Although I guess that constbuf + command args buf need to be |='d into the sysmem_bindings for this to work out well. That said, we don't really handle explicit migration well right now, and those PIPE_BIND_* are *incredibly* misleading and don't actually necessarily reflect the current usage. [I have some patches to improve the situation, but you don't really have to worry about that.] > + break; > + default: > + break; > + } > + > ret = nouveau_screen_init(&screen->base, dev); > if (ret) { > nvc0_screen_destroy(pscreen); > -- > 2.1.2 > -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html