コード例 #1
0
ファイル: base.c プロジェクト: 383530895/linux
void
_nouveau_fb_dtor(struct nouveau_object *object)
{
	struct nouveau_fb *pfb = (void *)object;
	int i;

	for (i = 0; i < pfb->tile.regions; i++)
		pfb->tile.fini(pfb, i, &pfb->tile.region[i]);
	nouveau_mm_fini(&pfb->tags);
	nouveau_mm_fini(&pfb->vram);

	nouveau_object_ref(NULL, (struct nouveau_object **)&pfb->ram);
	nouveau_subdev_destroy(&pfb->base);
}
コード例 #2
0
ファイル: base.c プロジェクト: AllenDou/linux
void
nouveau_fb_destroy(struct nouveau_fb *pfb)
{
	int i;

	for (i = 0; i < pfb->tile.regions; i++)
		pfb->tile.fini(pfb, i, &pfb->tile.region[i]);

	if (pfb->tags.block_size)
		nouveau_mm_fini(&pfb->tags);

	if (pfb->vram.block_size)
		nouveau_mm_fini(&pfb->vram);

	nouveau_subdev_destroy(&pfb->base);
}
コード例 #3
0
ファイル: gf100.c プロジェクト: andyqee/linux
void
gf100_ltc_dtor(struct nouveau_object *object)
{
	struct nouveau_fb *pfb = nouveau_fb(object);
	struct nvkm_ltc_priv *priv = (void *)object;

	nouveau_mm_fini(&priv->tags);
	nouveau_mm_free(&pfb->vram, &priv->tag_ram);

	nvkm_ltc_destroy(priv);
}
コード例 #4
0
ファイル: nvc0.c プロジェクト: ChrisOHu/linux
static void
nvc0_ltcg_dtor(struct nouveau_object *object)
{
	struct nouveau_ltcg *ltcg = (struct nouveau_ltcg *)object;
	struct nvc0_ltcg_priv *priv = (struct nvc0_ltcg_priv *)ltcg;
	struct nouveau_fb *pfb = nouveau_fb(ltcg->base.base.parent);

	nouveau_mm_fini(&priv->tags);
	nouveau_mm_free(&pfb->vram, &priv->tag_ram);

	nouveau_ltcg_destroy(ltcg);
}
コード例 #5
0
ファイル: nv04.c プロジェクト: 24hours/linux
void
nv04_instmem_dtor(struct nouveau_object *object)
{
	struct nv04_instmem_priv *priv = (void *)object;
	nouveau_gpuobj_ref(NULL, &priv->ramfc);
	nouveau_gpuobj_ref(NULL, &priv->ramro);
	nouveau_ramht_ref(NULL, &priv->ramht);
	nouveau_gpuobj_ref(NULL, &priv->vbios);
	nouveau_mm_fini(&priv->heap);
	if (priv->iomem)
		iounmap(priv->iomem);
	nouveau_instmem_destroy(&priv->base);
}
コード例 #6
0
ファイル: gpuobj.c プロジェクト: 383530895/linux
void
nouveau_gpuobj_destroy(struct nouveau_gpuobj *gpuobj)
{
	int i;

	if (gpuobj->flags & NVOBJ_FLAG_ZERO_FREE) {
		for (i = 0; i < gpuobj->size; i += 4)
			nv_wo32(gpuobj, i, 0x00000000);
	}

	if (gpuobj->node) {
		nouveau_mm_free(&nv_gpuobj(gpuobj->parent)->heap,
				&gpuobj->node);
	}

	if (gpuobj->heap.block_size)
		nouveau_mm_fini(&gpuobj->heap);

	nouveau_object_destroy(&gpuobj->base);
}