• Home
  • Raw
  • Download

Lines Matching refs:head

70 nv50_crc_program_ctx(struct nv50_head *head,  in nv50_crc_program_ctx()  argument
73 struct nv50_disp *disp = nv50_disp(head->base.base.dev); in nv50_crc_program_ctx()
77 core->func->crc->set_ctx(head, ctx); in nv50_crc_program_ctx()
85 struct nv50_head *head = container_of(crc, struct nv50_head, crc); in nv50_crc_ctx_flip_work() local
86 struct drm_crtc *crtc = &head->base.base; in nv50_crc_ctx_flip_work()
97 head->base.index); in nv50_crc_ctx_flip_work()
108 nv50_crc_program_ctx(head, NULL); in nv50_crc_ctx_flip_work()
109 nv50_crc_program_ctx(head, &crc->ctx[new_idx]); in nv50_crc_ctx_flip_work()
123 nv50_crc_get_entries(struct nv50_head *head, in nv50_crc_get_entries() argument
127 struct drm_crtc *crtc = &head->base.base; in nv50_crc_get_entries()
128 struct nv50_crc *crc = &head->crc; in nv50_crc_get_entries()
137 output_crc = func->get_entry(head, &crc->ctx[crc->ctx_idx], in nv50_crc_get_entries()
148 void nv50_crc_handle_vblank(struct nv50_head *head) in nv50_crc_handle_vblank() argument
150 struct drm_crtc *crtc = &head->base.base; in nv50_crc_handle_vblank()
151 struct nv50_crc *crc = &head->crc; in nv50_crc_handle_vblank()
153 nv50_disp(head->base.base.dev)->core->func->crc; in nv50_crc_handle_vblank()
172 if (crc->ctx_changed && func->ctx_finished(head, ctx)) { in nv50_crc_handle_vblank()
173 nv50_crc_get_entries(head, func, crc->src); in nv50_crc_handle_vblank()
192 DRM_DEV_DEBUG_KMS(head->base.base.dev->dev, in nv50_crc_handle_vblank()
194 head->base.index, crc->frame); in nv50_crc_handle_vblank()
201 nv50_crc_get_entries(head, func, crc->src); in nv50_crc_handle_vblank()
214 static void nv50_crc_wait_ctx_finished(struct nv50_head *head, in nv50_crc_wait_ctx_finished() argument
218 struct drm_device *dev = head->base.base.dev; in nv50_crc_wait_ctx_finished()
223 if (func->ctx_finished(head, ctx)) break;); in nv50_crc_wait_ctx_finished()
227 head->base.index); in nv50_crc_wait_ctx_finished()
231 head->base.index, ret); in nv50_crc_wait_ctx_finished()
241 struct nv50_head *head = nv50_head(crtc); in nv50_crc_atomic_stop_reporting() local
243 struct nv50_crc *crc = &head->crc; in nv50_crc_atomic_stop_reporting()
257 head->base.index); in nv50_crc_atomic_stop_reporting()
273 struct nv50_head *head = nv50_head(crtc); in nv50_crc_atomic_init_notifier_contexts() local
275 struct nv50_crc *crc = &head->crc; in nv50_crc_atomic_init_notifier_contexts()
297 struct nv50_head *head = nv50_head(crtc); in nv50_crc_atomic_release_notifier_contexts() local
299 struct nv50_crc *crc = &head->crc; in nv50_crc_atomic_release_notifier_contexts()
306 nv50_crc_wait_ctx_finished(head, func, ctx); in nv50_crc_atomic_release_notifier_contexts()
309 nv50_crc_wait_ctx_finished(head, func, ctx); in nv50_crc_atomic_release_notifier_contexts()
320 struct nv50_head *head = nv50_head(crtc); in nv50_crc_atomic_start_reporting() local
322 struct nv50_crc *crc = &head->crc; in nv50_crc_atomic_start_reporting()
341 head->base.index); in nv50_crc_atomic_start_reporting()
345 int nv50_crc_atomic_check_head(struct nv50_head *head, in nv50_crc_atomic_check_head() argument
350 struct drm_device *dev = head->base.base.dev; in nv50_crc_atomic_check_head()
434 list_for_each_entry(outp_atom, &atom->outp, head) { in nv50_crc_atomic_check_outp()
469 void nv50_crc_atomic_set(struct nv50_head *head, in nv50_crc_atomic_set() argument
472 struct drm_crtc *crtc = &head->base.base; in nv50_crc_atomic_set()
474 struct nv50_crc *crc = &head->crc; in nv50_crc_atomic_set()
487 func->set_src(head, outp->or, in nv50_crc_atomic_set()
492 void nv50_crc_atomic_clr(struct nv50_head *head) in nv50_crc_atomic_clr() argument
495 nv50_disp(head->base.base.dev)->core->func->crc; in nv50_crc_atomic_clr()
497 func->set_src(head, 0, NV50_CRC_SOURCE_TYPE_NONE, NULL, 0); in nv50_crc_atomic_clr()
522 nv50_crc_ctx_init(struct nv50_head *head, struct nvif_mmu *mmu, in nv50_crc_ctx_init() argument
525 struct nv50_core *core = nv50_disp(head->base.base.dev)->core; in nv50_crc_ctx_init()
533 NV50_DISP_HANDLE_CRC_CTX(head, idx), in nv50_crc_ctx_init()
565 struct nv50_head *head = nv50_head(crtc); in nv50_crc_set_source() local
566 struct nv50_crc *crc = &head->crc; in nv50_crc_set_source()
594 for (i = 0; i < ARRAY_SIZE(head->crc.ctx); i++) { in nv50_crc_set_source()
595 ret = nv50_crc_ctx_init(head, mmu, &crc->ctx[i], in nv50_crc_set_source()
603 crtc_state = drm_atomic_get_crtc_state(state, &head->base.base); in nv50_crc_set_source()
650 struct nv50_head *head = m->private; in nv50_crc_debugfs_flip_threshold_get() local
651 struct drm_crtc *crtc = &head->base.base; in nv50_crc_debugfs_flip_threshold_get()
652 struct nv50_crc *crc = &head->crc; in nv50_crc_debugfs_flip_threshold_get()
678 struct nv50_head *head = m->private; in nv50_crc_debugfs_flip_threshold_set() local
680 struct drm_crtc *crtc = &head->base.base; in nv50_crc_debugfs_flip_threshold_set()
682 struct nv50_crc *crc = &head->crc; in nv50_crc_debugfs_flip_threshold_set()
710 head->base.index, value); in nv50_crc_debugfs_flip_threshold_set()
727 int nv50_head_crc_late_register(struct nv50_head *head) in nv50_head_crc_late_register() argument
729 struct drm_crtc *crtc = &head->base.base; in nv50_head_crc_late_register()
738 debugfs_create_file("flip_threshold", 0644, root, head, in nv50_head_crc_late_register()
746 struct nv50_head *head) in nv50_crc_init_head() argument
748 struct nv50_crc *crc = &head->crc; in nv50_crc_init_head()
752 drm_vblank_work_init(&crc->flip_work, &head->base.base, in nv50_crc_init_head()