Lines Matching refs:fb

35 nvkm_fb_tile_fini(struct nvkm_fb *fb, int region, struct nvkm_fb_tile *tile)  in nvkm_fb_tile_fini()  argument
37 fb->func->tile.fini(fb, region, tile); in nvkm_fb_tile_fini()
41 nvkm_fb_tile_init(struct nvkm_fb *fb, int region, u32 addr, u32 size, in nvkm_fb_tile_init() argument
44 fb->func->tile.init(fb, region, addr, size, pitch, flags, tile); in nvkm_fb_tile_init()
48 nvkm_fb_tile_prog(struct nvkm_fb *fb, int region, struct nvkm_fb_tile *tile) in nvkm_fb_tile_prog() argument
50 struct nvkm_device *device = fb->subdev.device; in nvkm_fb_tile_prog()
51 if (fb->func->tile.prog) { in nvkm_fb_tile_prog()
52 fb->func->tile.prog(fb, region, tile); in nvkm_fb_tile_prog()
91 struct nvkm_fb *fb = nvkm_fb(subdev); in nvkm_fb_intr() local
92 if (fb->func->intr) in nvkm_fb_intr()
93 fb->func->intr(fb); in nvkm_fb_intr()
99 struct nvkm_fb *fb = nvkm_fb(subdev); in nvkm_fb_oneinit() local
102 if (fb->func->ram_new) { in nvkm_fb_oneinit()
103 int ret = fb->func->ram_new(fb, &fb->ram); in nvkm_fb_oneinit()
110 if (fb->func->oneinit) { in nvkm_fb_oneinit()
111 int ret = fb->func->oneinit(fb); in nvkm_fb_oneinit()
120 if (fb->func->tags) { in nvkm_fb_oneinit()
121 tags = fb->func->tags(fb); in nvkm_fb_oneinit()
125 return nvkm_mm_init(&fb->tags, 0, 0, tags, 1); in nvkm_fb_oneinit()
131 struct nvkm_fb *fb = nvkm_fb(subdev); in nvkm_fb_init() local
134 if (fb->ram) { in nvkm_fb_init()
135 ret = nvkm_ram_init(fb->ram); in nvkm_fb_init()
140 for (i = 0; i < fb->tile.regions; i++) in nvkm_fb_init()
141 fb->func->tile.prog(fb, i, &fb->tile.region[i]); in nvkm_fb_init()
143 if (fb->func->init) in nvkm_fb_init()
144 fb->func->init(fb); in nvkm_fb_init()
146 if (fb->func->init_remapper) in nvkm_fb_init()
147 fb->func->init_remapper(fb); in nvkm_fb_init()
149 if (fb->func->init_page) { in nvkm_fb_init()
150 ret = fb->func->init_page(fb); in nvkm_fb_init()
155 if (fb->func->init_unkn) in nvkm_fb_init()
156 fb->func->init_unkn(fb); in nvkm_fb_init()
163 struct nvkm_fb *fb = nvkm_fb(subdev); in nvkm_fb_dtor() local
166 nvkm_memory_unref(&fb->mmu_wr); in nvkm_fb_dtor()
167 nvkm_memory_unref(&fb->mmu_rd); in nvkm_fb_dtor()
169 for (i = 0; i < fb->tile.regions; i++) in nvkm_fb_dtor()
170 fb->func->tile.fini(fb, i, &fb->tile.region[i]); in nvkm_fb_dtor()
172 nvkm_mm_fini(&fb->tags); in nvkm_fb_dtor()
173 nvkm_ram_del(&fb->ram); in nvkm_fb_dtor()
175 if (fb->func->dtor) in nvkm_fb_dtor()
176 return fb->func->dtor(fb); in nvkm_fb_dtor()
177 return fb; in nvkm_fb_dtor()
190 int index, struct nvkm_fb *fb) in nvkm_fb_ctor() argument
192 nvkm_subdev_ctor(&nvkm_fb, device, index, &fb->subdev); in nvkm_fb_ctor()
193 fb->func = func; in nvkm_fb_ctor()
194 fb->tile.regions = fb->func->tile.regions; in nvkm_fb_ctor()
195 fb->page = nvkm_longopt(device->cfgopt, "NvFbBigPage", in nvkm_fb_ctor()
196 fb->func->default_bigpage); in nvkm_fb_ctor()