Lines Matching +full:mem +full:- +full:base
32 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_procamp()
33 const int i = head->base.index; in head507d_procamp()
42 NVVAL(NV507D, HEAD_SET_PROCAMP, SAT_COS, asyh->procamp.sat.cos) | in head507d_procamp()
43 NVVAL(NV507D, HEAD_SET_PROCAMP, SAT_SINE, asyh->procamp.sat.sin) | in head507d_procamp()
51 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_dither()
52 const int i = head->base.index; in head507d_dither()
59 NVVAL(NV507D, HEAD_SET_DITHER_CONTROL, ENABLE, asyh->dither.enable) | in head507d_dither()
60 NVVAL(NV507D, HEAD_SET_DITHER_CONTROL, BITS, asyh->dither.bits) | in head507d_dither()
61 NVVAL(NV507D, HEAD_SET_DITHER_CONTROL, MODE, asyh->dither.mode) | in head507d_dither()
69 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_ovly()
70 const int i = head->base.index; in head507d_ovly()
74 if (asyh->ovly.cpp) { in head507d_ovly()
75 switch (asyh->ovly.cpp) { in head507d_ovly()
97 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_base()
98 const int i = head->base.index; in head507d_base()
102 if (asyh->base.cpp) { in head507d_base()
103 switch (asyh->base.cpp) { in head507d_base()
125 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_curs_clr()
126 const int i = head->base.index; in head507d_curs_clr()
142 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_curs_set()
143 const int i = head->base.index; in head507d_curs_set()
151 NVVAL(NV507D, HEAD_SET_CONTROL_CURSOR, FORMAT, asyh->curs.format) | in head507d_curs_set()
152 NVVAL(NV507D, HEAD_SET_CONTROL_CURSOR, SIZE, asyh->curs.layout) | in head507d_curs_set()
158 HEAD_SET_OFFSET_CURSOR(i), asyh->curs.offset >> 8); in head507d_curs_set()
166 switch (asyw->image.format) { in head507d_curs_format()
167 case 0xcf: asyh->curs.format = NV507D_HEAD_SET_CONTROL_CURSOR_FORMAT_A8R8G8B8; break; in head507d_curs_format()
170 return -EINVAL; in head507d_curs_format()
179 switch (asyw->image.w) { in head507d_curs_layout()
180 case 32: asyh->curs.layout = NV507D_HEAD_SET_CONTROL_CURSOR_SIZE_W32_H32; break; in head507d_curs_layout()
181 case 64: asyh->curs.layout = NV507D_HEAD_SET_CONTROL_CURSOR_SIZE_W64_H64; break; in head507d_curs_layout()
183 return -EINVAL; in head507d_curs_layout()
191 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_core_clr()
192 const int i = head->base.index; in head507d_core_clr()
205 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_core_set()
206 const int i = head->base.index; in head507d_core_set()
213 NVVAL(NV507D, HEAD_SET_OFFSET, ORIGIN, asyh->core.offset >> 8)); in head507d_core_set()
216 NVVAL(NV507D, HEAD_SET_SIZE, WIDTH, asyh->core.w) | in head507d_core_set()
217 NVVAL(NV507D, HEAD_SET_SIZE, HEIGHT, asyh->core.h), in head507d_core_set()
220 NVVAL(NV507D, HEAD_SET_STORAGE, BLOCK_HEIGHT, asyh->core.blockh) | in head507d_core_set()
221 NVVAL(NV507D, HEAD_SET_STORAGE, PITCH, asyh->core.pitch >> 8) | in head507d_core_set()
222 NVVAL(NV507D, HEAD_SET_STORAGE, PITCH, asyh->core.blocks) | in head507d_core_set()
223 NVVAL(NV507D, HEAD_SET_STORAGE, MEMORY_LAYOUT, asyh->core.layout), in head507d_core_set()
226 NVVAL(NV507D, HEAD_SET_PARAMS, FORMAT, asyh->core.format) | in head507d_core_set()
227 NVVAL(NV507D, HEAD_SET_PARAMS, KIND, asyh->core.kind) | in head507d_core_set()
231 NVVAL(NV507D, HEAD_SET_CONTEXT_DMA_ISO, HANDLE, asyh->core.handle)); in head507d_core_set()
234 NVVAL(NV507D, HEAD_SET_VIEWPORT_POINT_IN, X, asyh->core.x) | in head507d_core_set()
235 NVVAL(NV507D, HEAD_SET_VIEWPORT_POINT_IN, Y, asyh->core.y)); in head507d_core_set()
241 asyh->set.curs = asyh->curs.visible; in head507d_core_set()
242 asyh->set.olut = asyh->olut.handle != 0; in head507d_core_set()
249 struct nv50_disp *disp = nv50_disp(head->base.base.dev); in head507d_core_calc()
250 if ((asyh->core.visible = (asyh->base.cpp != 0))) { in head507d_core_calc()
251 asyh->core.x = asyh->base.x; in head507d_core_calc()
252 asyh->core.y = asyh->base.y; in head507d_core_calc()
253 asyh->core.w = asyh->base.w; in head507d_core_calc()
254 asyh->core.h = asyh->base.h; in head507d_core_calc()
256 if ((asyh->core.visible = (asyh->ovly.cpp != 0)) || in head507d_core_calc()
257 (asyh->core.visible = asyh->curs.visible)) { in head507d_core_calc()
259 * primary base layer appear black, while still in head507d_core_calc()
263 asyh->core.x = 0; in head507d_core_calc()
264 asyh->core.y = 0; in head507d_core_calc()
265 asyh->core.w = asyh->state.mode.hdisplay; in head507d_core_calc()
266 asyh->core.h = asyh->state.mode.vdisplay; in head507d_core_calc()
268 asyh->core.handle = disp->core->chan.vram.handle; in head507d_core_calc()
269 asyh->core.offset = 0; in head507d_core_calc()
270 asyh->core.format = NV507D_HEAD_SET_PARAMS_FORMAT_A8R8G8B8; in head507d_core_calc()
271 asyh->core.kind = NV507D_HEAD_SET_PARAMS_KIND_KIND_PITCH; in head507d_core_calc()
272 asyh->core.layout = NV507D_HEAD_SET_STORAGE_MEMORY_LAYOUT_PITCH; in head507d_core_calc()
273 asyh->core.blockh = NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_ONE_GOB; in head507d_core_calc()
274 asyh->core.blocks = 0; in head507d_core_calc()
275 asyh->core.pitch = ALIGN(asyh->core.w, 64) * 4; in head507d_core_calc()
281 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_olut_clr()
282 const int i = head->base.index; in head507d_olut_clr()
296 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_olut_set()
297 const int i = head->base.index; in head507d_olut_set()
305 NVVAL(NV507D, HEAD_SET_BASE_LUT_LO, MODE, asyh->olut.mode) | in head507d_olut_set()
309 NVVAL(NV507D, HEAD_SET_BASE_LUT_HI, ORIGIN, asyh->olut.offset >> 8)); in head507d_olut_set()
314 head507d_olut_load(struct drm_color_lut *in, int size, void __iomem *mem) in head507d_olut_load() argument
316 for (; size--; in++, mem += 8) { in head507d_olut_load()
317 writew(drm_color_lut_extract(in-> red, 11) << 3, mem + 0); in head507d_olut_load()
318 writew(drm_color_lut_extract(in->green, 11) << 3, mem + 2); in head507d_olut_load()
319 writew(drm_color_lut_extract(in-> blue, 11) << 3, mem + 4); in head507d_olut_load()
325 writew(readw(mem - 8), mem + 0); in head507d_olut_load()
326 writew(readw(mem - 6), mem + 2); in head507d_olut_load()
327 writew(readw(mem - 4), mem + 4); in head507d_olut_load()
336 if (asyh->base.cpp == 1) in head507d_olut()
337 asyh->olut.mode = NV507D_HEAD_SET_BASE_LUT_LO_MODE_LORES; in head507d_olut()
339 asyh->olut.mode = NV507D_HEAD_SET_BASE_LUT_LO_MODE_HIRES; in head507d_olut()
341 asyh->olut.load = head507d_olut_load; in head507d_olut()
348 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_mode()
349 struct nv50_head_mode *m = &asyh->mode; in head507d_mode()
350 const int i = head->base.index; in head507d_mode()
357 NVVAL(NV507D, HEAD_SET_PIXEL_CLOCK, FREQUENCY, m->clock) | in head507d_mode()
363 NVVAL(NV507D, HEAD_SET_CONTROL, STRUCTURE, m->interlace)); in head507d_mode()
371 NVVAL(NV507D, HEAD_SET_RASTER_SIZE, WIDTH, m->h.active) | in head507d_mode()
372 NVVAL(NV507D, HEAD_SET_RASTER_SIZE, HEIGHT, m->v.active), in head507d_mode()
375 NVVAL(NV507D, HEAD_SET_RASTER_SYNC_END, X, m->h.synce) | in head507d_mode()
376 NVVAL(NV507D, HEAD_SET_RASTER_SYNC_END, Y, m->v.synce), in head507d_mode()
379 NVVAL(NV507D, HEAD_SET_RASTER_BLANK_END, X, m->h.blanke) | in head507d_mode()
380 NVVAL(NV507D, HEAD_SET_RASTER_BLANK_END, Y, m->v.blanke), in head507d_mode()
383 NVVAL(NV507D, HEAD_SET_RASTER_BLANK_START, X, m->h.blanks) | in head507d_mode()
384 NVVAL(NV507D, HEAD_SET_RASTER_BLANK_START, Y, m->v.blanks), in head507d_mode()
387 NVVAL(NV507D, HEAD_SET_RASTER_VERT_BLANK2, YSTART, m->v.blank2s) | in head507d_mode()
388 NVVAL(NV507D, HEAD_SET_RASTER_VERT_BLANK2, YEND, m->v.blank2e), in head507d_mode()
391 NVVAL(NV507D, HEAD_SET_RASTER_VERT_BLANK_DMI, DURATION, m->v.blankus)); in head507d_mode()
403 struct nvif_push *push = &nv50_disp(head->base.base.dev)->core->chan.push; in head507d_view()
404 const int i = head->base.index; in head507d_view()
417 NVVAL(NV507D, HEAD_SET_VIEWPORT_SIZE_IN, WIDTH, asyh->view.iW) | in head507d_view()
418 NVVAL(NV507D, HEAD_SET_VIEWPORT_SIZE_IN, HEIGHT, asyh->view.iH)); in head507d_view()
421 NVVAL(NV507D, HEAD_SET_VIEWPORT_SIZE_OUT, WIDTH, asyh->view.oW) | in head507d_view()
422 NVVAL(NV507D, HEAD_SET_VIEWPORT_SIZE_OUT, HEIGHT, asyh->view.oH), in head507d_view()
425 NVVAL(NV507D, HEAD_SET_VIEWPORT_SIZE_OUT_MIN, WIDTH, asyh->view.oW) | in head507d_view()
426 NVVAL(NV507D, HEAD_SET_VIEWPORT_SIZE_OUT_MIN, HEIGHT, asyh->view.oH)); in head507d_view()
445 .base = head507d_base,