On Fri, Jan 23, 2015 at 12:53 AM, Alexandre Courbot <acourbot@xxxxxxxxxx> wrote: > Having a RAM device does not make sense for chips like GK20A which have > no dedicated video memory. The dummy RAM device that we used so far > works as a temporary band-aid, but in the long-term it is desirable for > the driver to be able to work without any kind of VRAM. > > This patch adds a few conditionals in places where a RAM device was > assumed to be present and allows some more objects to be allocated from > the TT domain, allowing Nouveau to handle GPUs for which > pfb->ram == NULL. > > Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> > --- > drm/nouveau/nouveau_display.c | 9 ++++++++- > drm/nouveau/nouveau_ttm.c | 3 +++ > drm/nouveau/nv84_fence.c | 7 +++++-- > drm/nouveau/nvkm/engine/device/base.c | 9 ++++++--- > drm/nouveau/nvkm/subdev/clk/base.c | 2 +- > drm/nouveau/nvkm/subdev/fb/base.c | 26 ++++++++++++++++++-------- > drm/nouveau/nvkm/subdev/ltc/gf100.c | 14 ++++++++++---- > 7 files changed, 51 insertions(+), 19 deletions(-) > > diff --git a/drm/nouveau/nvkm/subdev/ltc/gf100.c b/drm/nouveau/nvkm/subdev/ltc/gf100.c > index 8e7cc62..ceaa104 100644 > --- a/drm/nouveau/nvkm/subdev/ltc/gf100.c > +++ b/drm/nouveau/nvkm/subdev/ltc/gf100.c > @@ -170,8 +174,10 @@ gf100_ltc_init_tag_ram(struct nvkm_fb *pfb, struct nvkm_ltc_priv *priv) > tag_size += tag_align; > tag_size = (tag_size + 0xfff) >> 12; /* round up */ > > - ret = nvkm_mm_tail(&pfb->vram, 1, 1, tag_size, tag_size, 1, > - &priv->tag_ram); > + if (pfb->ram) > + ret = nvkm_mm_tail(&pfb->vram, 1, 1, tag_size, tag_size, 1, > + &priv->tag_ram); > + ret = -1; Was there supposed to be an else somewhere in there? > if (ret) { > priv->num_tags = 0; > } else { > -- > 2.2.2 > > _______________________________________________ > Nouveau mailing list > Nouveau@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/nouveau -- 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