search for: nouveau_mm_fini

Displaying 10 results from an estimated 10 matches for "nouveau_mm_fini".

2012 Oct 11
4
[PATCH] drm/nouveau: fix nouveau_mm/nouveau_mm_node leak
.../gpuobj.c +++ b/drivers/gpu/drm/nouveau/core/core/gpuobj.c @@ -39,8 +39,11 @@ nouveau_gpuobj_destroy(struct nouveau_gpuobj *gpuobj) nv_wo32(gpuobj, i, 0x00000000); } + if (gpuobj->node) + nouveau_mm_free(gpuobj->node_heap, &gpuobj->node); + if (gpuobj->heap.block_size) - nouveau_mm_fini(&gpuobj->heap); + WARN_ON(nouveau_mm_fini(&gpuobj->heap)); nouveau_object_destroy(&gpuobj->base); } @@ -114,6 +117,7 @@ nouveau_gpuobj_create_(struct nouveau_object *parent, max(align, (u32)1), &gpuobj->node); if (ret) return ret; + gpuobj->no...
2012 Oct 07
2
[PATCH] drm/nouveau: fix error handling in core/core object creation functions
...re/gpuobj.c b/drivers/gpu/drm/nouveau/core/core/gpuobj.c index c2a7608..6254d52 100644 --- a/drivers/gpu/drm/nouveau/core/core/gpuobj.c +++ b/drivers/gpu/drm/nouveau/core/core/gpuobj.c @@ -40,7 +40,7 @@ nouveau_gpuobj_destroy(struct nouveau_gpuobj *gpuobj) } if (gpuobj->heap.block_size) - nouveau_mm_fini(&gpuobj->heap); + WARN_ON(nouveau_mm_fini(&gpuobj->heap)); nouveau_object_destroy(&gpuobj->base); } @@ -113,7 +113,7 @@ nouveau_gpuobj_create_(struct nouveau_object *parent, ret = nouveau_mm_head(heap, 1, size, size, max(align, (u32)1), &gpuobj->node)...
2013 Mar 05
4
[RFC PATCH] drm/nouveau: use vmalloc for pgt allocation
...mm, u64 offset, u64 length, ret = nouveau_mm_init(&vm->mm, mm_offset >> 12, mm_length >> 12, block >> 12); if (ret) { - kfree(vm->pgt); + vfree(vm->pgt); kfree(vm); return ret; } @@ -446,7 +446,7 @@ nouveau_vm_del(struct nouveau_vm *vm) } nouveau_mm_fini(&vm->mm); - kfree(vm->pgt); + vfree(vm->pgt); kfree(vm); } -- 1.8.1.4
2013 Jul 29
0
[PATCH] drm/nouveau: protect vm refcount with mutex
The refcount was not protected by the vm lock, fix this.. ------------[ cut here ]------------ WARNING: CPU: 2 PID: 2008 at drivers/gpu/drm/nouveau/core/core/mm.c:242 nouveau_mm_fini+0x4f/0x56 [nouveau]() Modules linked in: adt7475 ebtable_nat ebtables nouveau ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat xt_CHECKSUM iptable_mangle bridge stp llc snd_hda_codec_hdmi kvm_intel ttm kvm drm_kms_helper drm mxm_wmi snd_hda_codec_realtek snd_hda_intel e1000e snd_hda_codec snd_hwdep sn...
2013 Mar 27
2
system death under oom - 3.7.9
...ing is that this is not required. The full log is at: http://pastebin.com/YCYUXWvV. It was in my messages, so I guess the system took a bit to die completely. nouveau is somewhat implicated, as it is the first thing that hits an allocation failure in nouveau_vm_create, and has a subsequent warn in nouveau_mm_fini, but then there's a GPF in __alloc_skb/__kmalloc_track_caller (and I'm using SLUB). Here is a partial disassembly for __kmalloc_track_caller: 0xffffffff811325b1 <+138>: e8 a0 60 56 00 callq 0xffffffff81698656 <__slab_alloc.constprop.68> 0xffffffff811325b6 <+143>:...
2013 Jan 29
22
[Bug 60007] New: BUG: nouveau crashes in various ways in 32-bits Fedora 18
https://bugs.freedesktop.org/show_bug.cgi?id=60007 Priority: medium Bug ID: 60007 Assignee: nouveau at lists.freedesktop.org Summary: BUG: nouveau crashes in various ways in 32-bits Fedora 18 QA Contact: xorg-team at lists.x.org Severity: critical Classification: Unclassified OS: Linux (All)
2013 Jun 11
0
[RFC PATCH] drm/nouveau: use vmalloc for pgt allocation
...p;vm->mm, mm_offset >> 12, mm_length >> 12, > block >> 12); > if (ret) { > - kfree(vm->pgt); > + vfree(vm->pgt); > kfree(vm); > return ret; > } > @@ -446,7 +446,7 @@ nouveau_vm_del(struct nouveau_vm *vm) > } > > nouveau_mm_fini(&vm->mm); > - kfree(vm->pgt); > + vfree(vm->pgt); > kfree(vm); > } Could this patch be upstreamed? I was hitting the same allocation failure on my fermi after keeping my system running for a a week, and doing plenty of suspend/resume cycles (16+) in between it was faili...
2014 May 16
2
Machine freeze on latest Linus kernel, seems related to nouveau
...ay 16 08:32:14 brouette kernel: CR2: ffffc90015907000 May 16 08:32:14 brouette kernel: ---[ end trace 3669ad1ce815b6ce ]--- May 16 08:32:14 brouette kernel: ------------[ cut here ]------------ May 16 08:32:14 brouette kernel: WARNING: CPU: 7 PID: 31452 at drivers/gpu/drm/nouveau/core/core/mm.c:246 nouveau_mm_fini+0x59/0x60 [nouveau]() May 16 08:32:14 brouette kernel: Modules linked in: nf_conntrack_ipv6 nf_defrag_ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 xt_dscp xt_mark cls_flow cls_fw sch_sfq sch_htb xt_helper xt_length nf_conntrack_ftp nf_conntrack ip6table_mangle ip6_tables iptable_mangle ip_tables x_tables...
2012 Feb 03
3
[PATCH 1/4] nouveau: Allow allocating BOs at specific offsets
...ouveau/nouveau_mm.h b/drivers/gpu/drm/nouveau/nouveau_mm.h index 57a600c..d6e8f6a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_mm.h +++ b/drivers/gpu/drm/nouveau/nouveau_mm.h @@ -48,20 +48,20 @@ struct nouveau_mm { int nouveau_mm_init(struct nouveau_mm *, u32 offset, u32 length, u32 block); int nouveau_mm_fini(struct nouveau_mm *); int nouveau_mm_pre(struct nouveau_mm *); -int nouveau_mm_get(struct nouveau_mm *, int type, u32 size, u32 size_nc, - u32 align, struct nouveau_mm_node **); +int nouveau_mm_get(struct nouveau_mm *, int type, u32 base, u32 size, + u32 size_nc, u32 align, struct nou...
2013 Mar 27
3
[PATCH 1/4] drm/nvc0: implement VRAM compression
...gt;intr = nvc0_ltcg_intr; return 0; } +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); +} + struct nouveau_oclass nvc0_ltcg_oclass = { .handle = NV_SUBDEV(LTCG, 0xc0), .ofuncs = &(struct nouveau_ofuncs) { .ctor = nvc0_ltcg_ctor, - .dtor = _nouveau_ltcg_dtor,...