Example #1
0
static void *
nvkm_ltc_dtor(struct nvkm_subdev *subdev)
{
	struct nvkm_ltc *ltc = nvkm_ltc(subdev);
	struct nvkm_ram *ram = ltc->subdev.device->fb->ram;
	nvkm_mm_fini(&ltc->tags);
	if (ram)
		nvkm_mm_free(&ram->vram, &ltc->tag_ram);
	return ltc;
}
Example #2
0
void
gf100_ltc_dtor(struct nvkm_object *object)
{
	struct nvkm_fb *pfb = nvkm_fb(object);
	struct nvkm_ltc_priv *priv = (void *)object;

	nvkm_mm_fini(&priv->tags);
	if (pfb->ram)
		nvkm_mm_free(&pfb->vram, &priv->tag_ram);

	nvkm_ltc_destroy(priv);
}
Example #3
0
void
nvkm_gpuobj_del(struct nvkm_gpuobj **pgpuobj)
{
	struct nvkm_gpuobj *gpuobj = *pgpuobj;
	if (gpuobj) {
		if (gpuobj->parent)
			nvkm_mm_free(&gpuobj->parent->heap, &gpuobj->node);
		nvkm_mm_fini(&gpuobj->heap);
		nvkm_memory_unref(&gpuobj->memory);
		kfree(*pgpuobj);
		*pgpuobj = NULL;
	}
}