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