Lines Matching refs:ltc

29 nvkm_ltc_tags_alloc(struct nvkm_ltc *ltc, u32 n, struct nvkm_mm_node **pnode)  in nvkm_ltc_tags_alloc()  argument
31 int ret = nvkm_mm_head(&ltc->tags, 0, 1, n, n, 1, pnode); in nvkm_ltc_tags_alloc()
38 nvkm_ltc_tags_free(struct nvkm_ltc *ltc, struct nvkm_mm_node **pnode) in nvkm_ltc_tags_free() argument
40 nvkm_mm_free(&ltc->tags, pnode); in nvkm_ltc_tags_free()
44 nvkm_ltc_tags_clear(struct nvkm_ltc *ltc, u32 first, u32 count) in nvkm_ltc_tags_clear() argument
48 BUG_ON((first > limit) || (limit >= ltc->num_tags)); in nvkm_ltc_tags_clear()
50 ltc->func->cbc_clear(ltc, first, limit); in nvkm_ltc_tags_clear()
51 ltc->func->cbc_wait(ltc); in nvkm_ltc_tags_clear()
55 nvkm_ltc_zbc_color_get(struct nvkm_ltc *ltc, int index, const u32 color[4]) in nvkm_ltc_zbc_color_get() argument
57 memcpy(ltc->zbc_color[index], color, sizeof(ltc->zbc_color[index])); in nvkm_ltc_zbc_color_get()
58 ltc->func->zbc_clear_color(ltc, index, color); in nvkm_ltc_zbc_color_get()
63 nvkm_ltc_zbc_depth_get(struct nvkm_ltc *ltc, int index, const u32 depth) in nvkm_ltc_zbc_depth_get() argument
65 ltc->zbc_depth[index] = depth; in nvkm_ltc_zbc_depth_get()
66 ltc->func->zbc_clear_depth(ltc, index, depth); in nvkm_ltc_zbc_depth_get()
71 nvkm_ltc_invalidate(struct nvkm_ltc *ltc) in nvkm_ltc_invalidate() argument
73 if (ltc->func->invalidate) in nvkm_ltc_invalidate()
74 ltc->func->invalidate(ltc); in nvkm_ltc_invalidate()
78 nvkm_ltc_flush(struct nvkm_ltc *ltc) in nvkm_ltc_flush() argument
80 if (ltc->func->flush) in nvkm_ltc_flush()
81 ltc->func->flush(ltc); in nvkm_ltc_flush()
87 struct nvkm_ltc *ltc = nvkm_ltc(subdev); in nvkm_ltc_intr() local
88 ltc->func->intr(ltc); in nvkm_ltc_intr()
94 struct nvkm_ltc *ltc = nvkm_ltc(subdev); in nvkm_ltc_oneinit() local
95 return ltc->func->oneinit(ltc); in nvkm_ltc_oneinit()
101 struct nvkm_ltc *ltc = nvkm_ltc(subdev); in nvkm_ltc_init() local
104 for (i = ltc->zbc_min; i <= ltc->zbc_max; i++) { in nvkm_ltc_init()
105 ltc->func->zbc_clear_color(ltc, i, ltc->zbc_color[i]); in nvkm_ltc_init()
106 ltc->func->zbc_clear_depth(ltc, i, ltc->zbc_depth[i]); in nvkm_ltc_init()
109 ltc->func->init(ltc); in nvkm_ltc_init()
116 struct nvkm_ltc *ltc = nvkm_ltc(subdev); in nvkm_ltc_dtor() local
117 struct nvkm_ram *ram = ltc->subdev.device->fb->ram; in nvkm_ltc_dtor()
118 nvkm_mm_fini(&ltc->tags); in nvkm_ltc_dtor()
120 nvkm_mm_free(&ram->vram, &ltc->tag_ram); in nvkm_ltc_dtor()
121 return ltc; in nvkm_ltc_dtor()
136 struct nvkm_ltc *ltc; in nvkm_ltc_new_() local
138 if (!(ltc = *pltc = kzalloc(sizeof(*ltc), GFP_KERNEL))) in nvkm_ltc_new_()
141 nvkm_subdev_ctor(&nvkm_ltc, device, index, 0, &ltc->subdev); in nvkm_ltc_new_()
142 ltc->func = func; in nvkm_ltc_new_()
143 ltc->zbc_min = 1; /* reserve 0 for disabled */ in nvkm_ltc_new_()
144 ltc->zbc_max = min(func->zbc, NVKM_LTC_MAX_ZBC_CNT) - 1; in nvkm_ltc_new_()