search for: nvc0_ram_put

Displaying 7 results from an estimated 7 matches for "nvc0_ram_put".

2013 Jul 18
0
[PATCH 10/11] drm/nvc0/fb: Take lock in nvc0_ram_put()
...(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c index 9c3634a..abe0b61 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c +++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c @@ -33,11 +33,18 @@ void nvc0_ram_put(struct nouveau_fb *pfb, struct nouveau_mem **pmem) { struct nouveau_ltcg *ltcg = nouveau_ltcg(pfb); + struct nouveau_mem *mem = *pmem; - if ((*pmem)->tag) - ltcg->tags_free(ltcg, &(*pmem)->tag); + *pmem = NULL; + if(unlikely(mem == NULL)) + return; - nv50_ram_put(pfb, pmem); +...
2013 Jul 19
0
[PATCH 10/11] drm/nvc0/fb: Take lock in nvc0_ram_put()
...ex); kfree(mem); diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c index 9c3634a..cf97c4d 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c +++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c @@ -33,11 +33,19 @@ void nvc0_ram_put(struct nouveau_fb *pfb, struct nouveau_mem **pmem) { struct nouveau_ltcg *ltcg = nouveau_ltcg(pfb); + struct nouveau_mem *mem = *pmem; - if ((*pmem)->tag) - ltcg->tags_free(ltcg, &(*pmem)->tag); + *pmem = NULL; + if (unlikely(mem == NULL)) + return; - nv50_ram_put(pfb, pmem);...
2014 Feb 01
2
[RFC 14/16] drm/nouveau/fb: add GK20A support
...t;size, > + &dma_handle, GFP_KERNEL); > + if (!vram) > + return -ENOMEM; > + > + ret = nouveau_mm_init(&pfb->vram, dma_handle >> 12, ram->size >> 12, 1); > + if (ret) > + return ret; > + > + ram->get = nvc0_ram_get; > + ram->put = nvc0_ram_put; > + return 0; > +} > + > +struct nouveau_oclass > +nvea_ram_oclass = { > + .ofuncs = &(struct nouveau_ofuncs) { > + .ctor = nvea_ram_ctor, > + .dtor = _nouveau_ram_dtor, > + .init = _nouveau_ram_init, > + .fini = _nouveau_ram_fini, > + }, > +};
2014 Feb 01
0
[RFC 14/16] drm/nouveau/fb: add GK20A support
...coherent(nv_device_base(nv_device(parent)), ram->size, + &dma_handle, GFP_KERNEL); + if (!vram) + return -ENOMEM; + + ret = nouveau_mm_init(&pfb->vram, dma_handle >> 12, ram->size >> 12, 1); + if (ret) + return ret; + + ram->get = nvc0_ram_get; + ram->put = nvc0_ram_put; + return 0; +} + +struct nouveau_oclass +nvea_ram_oclass = { + .ofuncs = &(struct nouveau_ofuncs) { + .ctor = nvea_ram_ctor, + .dtor = _nouveau_ram_dtor, + .init = _nouveau_ram_init, + .fini = _nouveau_ram_fini, + }, +}; -- 1.8.5.3
2014 Feb 01
0
[RFC 14/16] drm/nouveau/fb: add GK20A support
...t;> + return -ENOMEM; >> + >> + ret = nouveau_mm_init(&pfb->vram, dma_handle >> 12, ram->size >> 12, 1); >> + if (ret) >> + return ret; >> + >> + ram->get = nvc0_ram_get; >> + ram->put = nvc0_ram_put; >> + return 0; >> +} >> + >> +struct nouveau_oclass >> +nvea_ram_oclass = { >> + .ofuncs = &(struct nouveau_ofuncs) { >> + .ctor = nvea_ram_ctor, >> + .dtor = _nouveau_ram_dtor, >> + .init = _nouv...
2014 Feb 01
2
[RFC 14/16] drm/nouveau/fb: add GK20A support
...; > >> + > >> + ret = nouveau_mm_init(&pfb->vram, dma_handle >> 12, ram->size >> 12, 1); > >> + if (ret) > >> + return ret; > >> + > >> + ram->get = nvc0_ram_get; > >> + ram->put = nvc0_ram_put; > >> + return 0; > >> +} > >> + > >> +struct nouveau_oclass > >> +nvea_ram_oclass = { > >> + .ofuncs = &(struct nouveau_ofuncs) { > >> + .ctor = nvea_ram_ctor, > >> + .dtor = _nouveau_ram_dt...
2014 Feb 01
28
[RFC 00/16] drm/nouveau: initial support for GK20A (Tegra K1)
Hello everyone, GK20A is the Kepler-based GPU used in the upcoming Tegra K1 chips. The following patches perform architectural changes to Nouveau that are necessary to support non-PCI GPUs and add initial support for GK20A. Although the support is still very basic and more user-space changes will be needed to make the full graphics stack run on top of it, we were able to successfully open