Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e0f992b authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau: replace some open-coded mm_initialised checks



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 6d338081
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -234,8 +234,9 @@ nouveau_mm_init(struct nouveau_mm *mm, u32 offset, u32 length, u32 block)
int
nouveau_mm_fini(struct nouveau_mm *mm)
{
	if (nouveau_mm_initialised(mm)) {
		struct nouveau_mm_node *node, *heap =
		list_first_entry(&mm->nodes, struct nouveau_mm_node, nl_entry);
			list_first_entry(&mm->nodes, typeof(*heap), nl_entry);
		int nodes = 0;

		list_for_each_entry(node, &mm->nodes, nl_entry) {
@@ -244,5 +245,7 @@ nouveau_mm_fini(struct nouveau_mm *mm)
		}

		kfree(heap);
	}

	return 0;
}
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,12 @@ struct nouveau_mm {
	int heap_nodes;
};

static inline bool
nouveau_mm_initialised(struct nouveau_mm *mm)
{
	return mm->block_size != 0;
}

int  nouveau_mm_init(struct nouveau_mm *, u32 offset, u32 length, u32 block);
int  nouveau_mm_fini(struct nouveau_mm *);
int  nouveau_mm_head(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
+2 −6
Original line number Diff line number Diff line
@@ -85,11 +85,7 @@ nouveau_fb_destroy(struct nouveau_fb *pfb)

	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);