Lines Matching refs:head
22 #include "head.h"
39 nv50_head_flush_clr(struct nv50_head *head,
45 if (clr.crc) nv50_crc_atomic_clr(head);
46 if (clr.olut) head->func->olut_clr(head);
47 if (clr.core) head->func->core_clr(head);
48 if (clr.curs) head->func->curs_clr(head);
52 nv50_head_flush_set_wndw(struct nv50_head *head, struct nv50_head_atom *asyh)
54 if (asyh->set.curs ) head->func->curs_set(head, asyh);
56 asyh->olut.offset = nv50_lut_load(&head->olut,
60 head->func->olut_set(head, asyh);
65 nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh)
67 if (asyh->set.view ) head->func->view (head, asyh);
68 if (asyh->set.mode ) head->func->mode (head, asyh);
69 if (asyh->set.core ) head->func->core_set(head, asyh);
70 if (asyh->set.base ) head->func->base (head, asyh);
71 if (asyh->set.ovly ) head->func->ovly (head, asyh);
72 if (asyh->set.dither ) head->func->dither (head, asyh);
73 if (asyh->set.procamp) head->func->procamp (head, asyh);
74 if (asyh->set.crc ) nv50_crc_atomic_set (head, asyh);
75 if (asyh->set.or ) head->func->or (head, asyh);
225 nv50_head_atomic_check_lut(struct nv50_head *head,
228 struct drm_device *dev = head->base.base.dev;
229 struct drm_crtc *crtc = &head->base.base;
239 if (!head->func->ilut_check(size)) {
262 if (!head->func->olut_identity) {
271 if (!head->func->olut(head, asyh, size)) {
283 nv50_head_atomic_check_mode(struct nv50_head *head, struct nv50_head_atom *asyh)
328 asyh->set.or = head->func->or != NULL;
340 struct nv50_head *head = nv50_head(crtc);
353 ret = nv50_head_atomic_check_lut(head, asyh);
377 asyh->set.or = head->func->or != NULL;
381 nv50_head_atomic_check_mode(head, asyh);
395 if (head->func->core_calc) {
396 head->func->core_calc(head, asyh);
444 ret = nv50_crc_atomic_check_head(head, asyh, armh);
517 struct nv50_head *head = nv50_head(crtc);
519 nvif_event_dtor(&head->base.vblank);
520 nvif_head_dtor(&head->base.head);
521 nv50_lut_fini(&head->olut);
523 kfree(head);
573 struct nv50_head *head;
580 head = kzalloc(sizeof(*head), GFP_KERNEL);
581 if (!head)
584 head->func = disp->core->func->head;
585 head->base.index = index;
593 ret = nv50_base_new(drm, head->base.index, &base);
594 ret = nv50_ovly_new(drm, head->base.index, &ovly);
597 head->base.index * 2 + 0, &base);
599 head->base.index * 2 + 1, &ovly);
602 ret = nv50_curs_new(drm, head->base.index, &curs);
604 kfree(head);
608 nv_crtc = &head->base;
611 funcs, "head-%d", head->base.index);
617 head->func->olut_size);
619 if (head->func->olut_set) {
620 ret = nv50_lut_init(disp, &drm->client.mmu, &head->olut);
627 ret = nvif_head_ctor(disp->disp, head->base.base.name, head->base.index, &head->base.head);
631 ret = nvif_head_vblank_event_ctor(&head->base.head, "kmsVbl", nv50_head_vblank_handler,
636 return head;