Lines Matching refs:head

22 #include "head.h"
40 nv50_head_flush_clr(struct nv50_head *head,
46 if (clr.crc) nv50_crc_atomic_clr(head);
47 if (clr.olut) head->func->olut_clr(head);
48 if (clr.core) head->func->core_clr(head);
49 if (clr.curs) head->func->curs_clr(head);
53 nv50_head_flush_set_wndw(struct nv50_head *head, struct nv50_head_atom *asyh)
55 if (asyh->set.curs ) head->func->curs_set(head, asyh);
57 asyh->olut.offset = nv50_lut_load(&head->olut,
61 head->func->olut_set(head, asyh);
66 nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh)
68 if (asyh->set.view ) head->func->view (head, asyh);
69 if (asyh->set.mode ) head->func->mode (head, asyh);
70 if (asyh->set.core ) head->func->core_set(head, asyh);
71 if (asyh->set.base ) head->func->base (head, asyh);
72 if (asyh->set.ovly ) head->func->ovly (head, asyh);
73 if (asyh->set.dither ) head->func->dither (head, asyh);
74 if (asyh->set.procamp) head->func->procamp (head, asyh);
75 if (asyh->set.crc ) nv50_crc_atomic_set (head, asyh);
76 if (asyh->set.or ) head->func->or (head, asyh);
220 nv50_head_atomic_check_lut(struct nv50_head *head,
223 struct drm_device *dev = head->base.base.dev;
224 struct drm_crtc *crtc = &head->base.base;
234 if (!head->func->ilut_check(size)) {
257 if (!head->func->olut_identity) {
266 if (!head->func->olut(head, asyh, size)) {
278 nv50_head_atomic_check_mode(struct nv50_head *head, struct nv50_head_atom *asyh)
323 asyh->set.or = head->func->or != NULL;
335 struct nv50_head *head = nv50_head(crtc);
348 ret = nv50_head_atomic_check_lut(head, asyh);
372 asyh->set.or = head->func->or != NULL;
376 nv50_head_atomic_check_mode(head, asyh);
390 if (head->func->core_calc) {
391 head->func->core_calc(head, asyh);
439 ret = nv50_crc_atomic_check_head(head, asyh, armh);
512 struct nv50_head *head = nv50_head(crtc);
514 nvif_event_dtor(&head->base.vblank);
515 nvif_head_dtor(&head->base.head);
516 nv50_lut_fini(&head->olut);
518 kfree(head);
568 struct nv50_head *head;
575 head = kzalloc(sizeof(*head), GFP_KERNEL);
576 if (!head)
579 head->func = disp->core->func->head;
580 head->disp = disp;
581 head->base.index = index;
589 ret = nv50_base_new(drm, head->base.index, &base);
590 ret = nv50_ovly_new(drm, head->base.index, &ovly);
593 head->base.index * 2 + 0, &base);
595 head->base.index * 2 + 1, &ovly);
598 ret = nv50_curs_new(drm, head->base.index, &curs);
600 kfree(head);
604 nv_crtc = &head->base;
607 funcs, "head-%d", head->base.index);
613 head->func->olut_size);
615 if (head->func->olut_set) {
616 ret = nv50_lut_init(disp, &drm->client.mmu, &head->olut);
623 ret = nvif_head_ctor(disp->disp, head->base.base.name, head->base.index, &head->base.head);
627 ret = nvif_head_vblank_event_ctor(&head->base.head, "kmsVbl", nv50_head_vblank_handler,
632 return head;