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

Commit b4e114f1 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/fb/ram: remove old allocators



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 1de33775
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -162,10 +162,6 @@ struct nvkm_ram_func {
	void *(*dtor)(struct nvkm_ram *);
	void *(*dtor)(struct nvkm_ram *);
	int (*init)(struct nvkm_ram *);
	int (*init)(struct nvkm_ram *);


	int (*get)(struct nvkm_ram *, u64 size, u32 align, u32 size_nc,
		   u32 type, struct nvkm_mem **);
	void (*put)(struct nvkm_ram *, struct nvkm_mem **);

	int (*calc)(struct nvkm_ram *, u32 freq);
	int (*calc)(struct nvkm_ram *, u32 freq);
	int (*prog)(struct nvkm_ram *);
	int (*prog)(struct nvkm_ram *);
	void (*tidy)(struct nvkm_ram *);
	void (*tidy)(struct nvkm_ram *);
+0 −5
Original line number Original line Diff line number Diff line
@@ -13,9 +13,6 @@ extern const struct nvkm_ram_func nv04_ram_func;


int  nv50_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
int  nv50_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
		   struct nvkm_ram *);
		   struct nvkm_ram *);
int  nv50_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **);
void nv50_ram_put(struct nvkm_ram *, struct nvkm_mem **);
void __nv50_ram_put(struct nvkm_ram *, struct nvkm_mem *);


int gf100_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *,
int gf100_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *,
		   struct nvkm_ram **);
		   struct nvkm_ram **);
@@ -26,8 +23,6 @@ u32 gf100_ram_probe_fbp(const struct nvkm_ram_func *,
u32  gf100_ram_probe_fbp_amount(const struct nvkm_ram_func *, u32,
u32  gf100_ram_probe_fbp_amount(const struct nvkm_ram_func *, u32,
				struct nvkm_device *, int, int *);
				struct nvkm_device *, int, int *);
u32  gf100_ram_probe_fbpa_amount(struct nvkm_device *, int);
u32  gf100_ram_probe_fbpa_amount(struct nvkm_device *, int);
int  gf100_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **);
void gf100_ram_put(struct nvkm_ram *, struct nvkm_mem **);
int gf100_ram_init(struct nvkm_ram *);
int gf100_ram_init(struct nvkm_ram *);
int gf100_ram_calc(struct nvkm_ram *, u32);
int gf100_ram_calc(struct nvkm_ram *, u32);
int gf100_ram_prog(struct nvkm_ram *);
int gf100_ram_prog(struct nvkm_ram *);
+0 −67
Original line number Original line Diff line number Diff line
@@ -419,71 +419,6 @@ gf100_ram_tidy(struct nvkm_ram *base)
	ram_exec(&ram->fuc, false);
	ram_exec(&ram->fuc, false);
}
}


void
gf100_ram_put(struct nvkm_ram *ram, struct nvkm_mem **pmem)
{
	struct nvkm_mem *mem = *pmem;

	*pmem = NULL;
	if (unlikely(mem == NULL))
		return;

	mutex_lock(&ram->fb->subdev.mutex);
	__nv50_ram_put(ram, mem);
	mutex_unlock(&ram->fb->subdev.mutex);

	kfree(mem);
}

int
gf100_ram_get(struct nvkm_ram *ram, u64 size, u32 align, u32 ncmin,
	      u32 memtype, struct nvkm_mem **pmem)
{
	struct nvkm_mm *mm = &ram->vram;
	struct nvkm_mm_node **node, *r;
	struct nvkm_mem *mem;
	int type = (memtype & 0x0ff);
	int back = (memtype & 0x800);
	int ret;

	size  >>= NVKM_RAM_MM_SHIFT;
	align >>= NVKM_RAM_MM_SHIFT;
	ncmin >>= NVKM_RAM_MM_SHIFT;
	if (!ncmin)
		ncmin = size;

	mem = kzalloc(sizeof(*mem), GFP_KERNEL);
	if (!mem)
		return -ENOMEM;

	mem->size = size;

	mutex_lock(&ram->fb->subdev.mutex);
	mem->memtype = type;

	node = &mem->mem;
	do {
		if (back)
			ret = nvkm_mm_tail(mm, 0, 1, size, ncmin, align, &r);
		else
			ret = nvkm_mm_head(mm, 0, 1, size, ncmin, align, &r);
		if (ret) {
			mutex_unlock(&ram->fb->subdev.mutex);
			ram->func->put(ram, &mem);
			return ret;
		}

		*node = r;
		node = &r->next;
		size -= r->length;
	} while (size);
	mutex_unlock(&ram->fb->subdev.mutex);

	mem->offset = (u64)mem->mem->offset << NVKM_RAM_MM_SHIFT;
	*pmem = mem;
	return 0;
}

int
int
gf100_ram_init(struct nvkm_ram *base)
gf100_ram_init(struct nvkm_ram *base)
{
{
@@ -725,8 +660,6 @@ gf100_ram = {
	.probe_fbp_amount = gf100_ram_probe_fbp_amount,
	.probe_fbp_amount = gf100_ram_probe_fbp_amount,
	.probe_fbpa_amount = gf100_ram_probe_fbpa_amount,
	.probe_fbpa_amount = gf100_ram_probe_fbpa_amount,
	.init = gf100_ram_init,
	.init = gf100_ram_init,
	.get = gf100_ram_get,
	.put = gf100_ram_put,
	.calc = gf100_ram_calc,
	.calc = gf100_ram_calc,
	.prog = gf100_ram_prog,
	.prog = gf100_ram_prog,
	.tidy = gf100_ram_tidy,
	.tidy = gf100_ram_tidy,
+0 −2
Original line number Original line Diff line number Diff line
@@ -48,8 +48,6 @@ gf108_ram = {
	.probe_fbp_amount = gf108_ram_probe_fbp_amount,
	.probe_fbp_amount = gf108_ram_probe_fbp_amount,
	.probe_fbpa_amount = gf100_ram_probe_fbpa_amount,
	.probe_fbpa_amount = gf100_ram_probe_fbpa_amount,
	.init = gf100_ram_init,
	.init = gf100_ram_init,
	.get = gf100_ram_get,
	.put = gf100_ram_put,
	.calc = gf100_ram_calc,
	.calc = gf100_ram_calc,
	.prog = gf100_ram_prog,
	.prog = gf100_ram_prog,
	.tidy = gf100_ram_tidy,
	.tidy = gf100_ram_tidy,
+0 −2
Original line number Original line Diff line number Diff line
@@ -1704,8 +1704,6 @@ gk104_ram = {
	.probe_fbpa_amount = gf100_ram_probe_fbpa_amount,
	.probe_fbpa_amount = gf100_ram_probe_fbpa_amount,
	.dtor = gk104_ram_dtor,
	.dtor = gk104_ram_dtor,
	.init = gk104_ram_init,
	.init = gk104_ram_init,
	.get = gf100_ram_get,
	.put = gf100_ram_put,
	.calc = gk104_ram_calc,
	.calc = gk104_ram_calc,
	.prog = gk104_ram_prog,
	.prog = gk104_ram_prog,
	.tidy = gk104_ram_tidy,
	.tidy = gk104_ram_tidy,
Loading