Home
last modified time | relevance | path

Searched refs:crtc (Results 1 – 200 of 301) sorted by relevance

12

/linux-4.4.14/drivers/gpu/drm/
Ddrm_crtc_helper.c142 bool drm_helper_crtc_in_use(struct drm_crtc *crtc) in drm_helper_crtc_in_use() argument
145 struct drm_device *dev = crtc->dev; in drm_helper_crtc_in_use()
155 if (encoder->crtc == crtc && drm_helper_encoder_in_use(encoder)) in drm_helper_crtc_in_use()
179 struct drm_crtc *crtc; in __drm_helper_disable_unused_functions() local
187 encoder->crtc = NULL; in __drm_helper_disable_unused_functions()
191 drm_for_each_crtc(crtc, dev) { in __drm_helper_disable_unused_functions()
192 const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; in __drm_helper_disable_unused_functions()
193 crtc->enabled = drm_helper_crtc_in_use(crtc); in __drm_helper_disable_unused_functions()
194 if (!crtc->enabled) { in __drm_helper_disable_unused_functions()
196 (*crtc_funcs->disable)(crtc); in __drm_helper_disable_unused_functions()
[all …]
Ddrm_atomic_helper.c63 if (plane->state->crtc) { in drm_atomic_helper_plane_changed()
64 crtc_state = state->crtc_states[drm_crtc_index(plane->state->crtc)]; in drm_atomic_helper_plane_changed()
72 if (plane_state->crtc) { in drm_atomic_helper_plane_changed()
74 state->crtc_states[drm_crtc_index(plane_state->crtc)]; in drm_atomic_helper_plane_changed()
96 return connector->state->crtc; in get_current_crtc_for_encoder()
172 if (connector->state->crtc != connector_state->crtc) { in update_connector_routing()
173 if (connector->state->crtc) { in update_connector_routing()
174 idx = drm_crtc_index(connector->state->crtc); in update_connector_routing()
180 if (connector_state->crtc) { in update_connector_routing()
181 idx = drm_crtc_index(connector_state->crtc); in update_connector_routing()
[all …]
Ddrm_trace.h13 TP_PROTO(int crtc, unsigned int seq),
14 TP_ARGS(crtc, seq),
16 __field(int, crtc)
20 __entry->crtc = crtc;
23 TP_printk("crtc=%d, seq=%u", __entry->crtc, __entry->seq)
27 TP_PROTO(pid_t pid, int crtc, unsigned int seq),
28 TP_ARGS(pid, crtc, seq),
31 __field(int, crtc)
36 __entry->crtc = crtc;
39 TP_printk("pid=%d, crtc=%d, seq=%u", __entry->pid, __entry->crtc, \
[all …]
Ddrm_plane_helper.c79 static int get_connectors_for_crtc(struct drm_crtc *crtc, in get_connectors_for_crtc() argument
83 struct drm_device *dev = crtc->dev; in get_connectors_for_crtc()
95 if (connector->encoder && connector->encoder->crtc == crtc) { in get_connectors_for_crtc()
133 struct drm_crtc *crtc, in drm_plane_helper_check_update() argument
152 if (WARN_ON(!crtc)) { in drm_plane_helper_check_update()
157 if (!crtc->enabled && !can_update_disabled) { in drm_plane_helper_check_update()
224 int drm_primary_helper_update(struct drm_plane *plane, struct drm_crtc *crtc, in drm_primary_helper_update() argument
232 .crtc = crtc, in drm_primary_helper_update()
234 .mode = &crtc->mode, in drm_primary_helper_update()
251 .x2 = crtc->mode.hdisplay, in drm_primary_helper_update()
[all …]
Ddrm_atomic.c171 struct drm_crtc *crtc = state->crtcs[i]; in drm_atomic_state_default_clear() local
173 if (!crtc) in drm_atomic_state_default_clear()
176 crtc->funcs->atomic_destroy_state(crtc, in drm_atomic_state_default_clear()
270 struct drm_crtc *crtc) in drm_atomic_get_crtc_state() argument
272 int ret, index = drm_crtc_index(crtc); in drm_atomic_get_crtc_state()
275 crtc_state = drm_atomic_get_existing_crtc_state(state, crtc); in drm_atomic_get_crtc_state()
279 ret = drm_modeset_lock(&crtc->mutex, state->acquire_ctx); in drm_atomic_get_crtc_state()
283 crtc_state = crtc->funcs->atomic_duplicate_state(crtc); in drm_atomic_get_crtc_state()
288 state->crtcs[index] = crtc; in drm_atomic_get_crtc_state()
292 crtc->base.id, crtc_state, state); in drm_atomic_get_crtc_state()
[all …]
Ddrm_modeset_lock.c146 void drm_modeset_lock_crtc(struct drm_crtc *crtc, in drm_modeset_lock_crtc() argument
159 ret = drm_modeset_lock(&crtc->mutex, ctx); in drm_modeset_lock_crtc()
168 if (plane->crtc) { in drm_modeset_lock_crtc()
169 ret = drm_modeset_lock(&plane->crtc->mutex, ctx); in drm_modeset_lock_crtc()
175 WARN_ON(crtc->acquire_ctx); in drm_modeset_lock_crtc()
180 crtc->acquire_ctx = ctx; in drm_modeset_lock_crtc()
202 drm_modeset_legacy_acquire_ctx(struct drm_crtc *crtc) in drm_modeset_legacy_acquire_ctx() argument
204 if (crtc->acquire_ctx) in drm_modeset_legacy_acquire_ctx()
205 return crtc->acquire_ctx; in drm_modeset_legacy_acquire_ctx()
207 WARN_ON(!crtc->dev->mode_config.acquire_ctx); in drm_modeset_legacy_acquire_ctx()
[all …]
Ddrm_crtc.c597 struct drm_crtc *crtc; in drm_framebuffer_remove() local
627 drm_for_each_crtc(crtc, dev) { in drm_framebuffer_remove()
628 if (crtc->primary->fb == fb) { in drm_framebuffer_remove()
631 set.crtc = crtc; in drm_framebuffer_remove()
635 DRM_ERROR("failed to reset crtc %p when fb was deleted\n", crtc); in drm_framebuffer_remove()
666 int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc, in drm_crtc_init_with_planes() argument
677 crtc->dev = dev; in drm_crtc_init_with_planes()
678 crtc->funcs = funcs; in drm_crtc_init_with_planes()
680 drm_modeset_lock_init(&crtc->mutex); in drm_crtc_init_with_planes()
681 ret = drm_mode_object_get(dev, &crtc->base, DRM_MODE_OBJECT_CRTC); in drm_crtc_init_with_planes()
[all …]
Ddrm_fb_helper.c228 static void drm_fb_helper_save_lut_atomic(struct drm_crtc *crtc, struct drm_fb_helper *helper) in drm_fb_helper_save_lut_atomic() argument
236 r_base = crtc->gamma_store; in drm_fb_helper_save_lut_atomic()
237 g_base = r_base + crtc->gamma_size; in drm_fb_helper_save_lut_atomic()
238 b_base = g_base + crtc->gamma_size; in drm_fb_helper_save_lut_atomic()
240 for (i = 0; i < crtc->gamma_size; i++) in drm_fb_helper_save_lut_atomic()
241 helper->funcs->gamma_get(crtc, &r_base[i], &g_base[i], &b_base[i], i); in drm_fb_helper_save_lut_atomic()
244 static void drm_fb_helper_restore_lut_atomic(struct drm_crtc *crtc) in drm_fb_helper_restore_lut_atomic() argument
248 if (crtc->funcs->gamma_set == NULL) in drm_fb_helper_restore_lut_atomic()
251 r_base = crtc->gamma_store; in drm_fb_helper_restore_lut_atomic()
252 g_base = r_base + crtc->gamma_size; in drm_fb_helper_restore_lut_atomic()
[all …]
Ddrm_irq.c674 void drm_calc_timestamping_constants(struct drm_crtc *crtc, in drm_calc_timestamping_constants() argument
677 struct drm_device *dev = crtc->dev; in drm_calc_timestamping_constants()
678 unsigned int pipe = drm_crtc_index(crtc); in drm_calc_timestamping_constants()
708 crtc->base.id); in drm_calc_timestamping_constants()
714 crtc->base.id, mode->crtc_htotal, in drm_calc_timestamping_constants()
717 crtc->base.id, dotclock, framedur_ns, linedur_ns); in drm_calc_timestamping_constants()
970 u32 drm_crtc_vblank_count(struct drm_crtc *crtc) in drm_crtc_vblank_count() argument
972 return drm_vblank_count(crtc->dev, drm_crtc_index(crtc)); in drm_crtc_vblank_count()
1029 u32 drm_crtc_vblank_count_and_time(struct drm_crtc *crtc, in drm_crtc_vblank_count_and_time() argument
1032 return drm_vblank_count_and_time(crtc->dev, drm_crtc_index(crtc), in drm_crtc_vblank_count_and_time()
[all …]
/linux-4.4.14/drivers/gpu/drm/exynos/
Dexynos_drm_crtc.c24 static void exynos_drm_crtc_enable(struct drm_crtc *crtc) in exynos_drm_crtc_enable() argument
26 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_enable()
31 drm_crtc_vblank_on(crtc); in exynos_drm_crtc_enable()
34 static void exynos_drm_crtc_disable(struct drm_crtc *crtc) in exynos_drm_crtc_disable() argument
36 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_disable()
38 drm_crtc_vblank_off(crtc); in exynos_drm_crtc_disable()
45 exynos_drm_crtc_mode_set_nofb(struct drm_crtc *crtc) in exynos_drm_crtc_mode_set_nofb() argument
47 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_mode_set_nofb()
53 static int exynos_crtc_atomic_check(struct drm_crtc *crtc, in exynos_crtc_atomic_check() argument
56 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_check()
[all …]
Dexynos_drm_drv.h106 void (*enable)(struct exynos_drm_crtc *crtc);
107 void (*disable)(struct exynos_drm_crtc *crtc);
108 void (*commit)(struct exynos_drm_crtc *crtc);
109 int (*enable_vblank)(struct exynos_drm_crtc *crtc);
110 void (*disable_vblank)(struct exynos_drm_crtc *crtc);
111 void (*wait_for_vblank)(struct exynos_drm_crtc *crtc);
112 int (*atomic_check)(struct exynos_drm_crtc *crtc,
114 void (*atomic_begin)(struct exynos_drm_crtc *crtc,
116 void (*update_plane)(struct exynos_drm_crtc *crtc,
118 void (*disable_plane)(struct exynos_drm_crtc *crtc,
[all …]
Dexynos5433_drm_decon.c57 struct exynos_drm_crtc *crtc; member
81 static int decon_enable_vblank(struct exynos_drm_crtc *crtc) in decon_enable_vblank() argument
83 struct decon_context *ctx = crtc->ctx; in decon_enable_vblank()
102 static void decon_disable_vblank(struct exynos_drm_crtc *crtc) in decon_disable_vblank() argument
104 struct decon_context *ctx = crtc->ctx; in decon_disable_vblank()
123 static void decon_commit(struct exynos_drm_crtc *crtc) in decon_commit() argument
125 struct decon_context *ctx = crtc->ctx; in decon_commit()
126 struct drm_display_mode *m = &crtc->base.mode; in decon_commit()
244 static void decon_atomic_begin(struct exynos_drm_crtc *crtc, in decon_atomic_begin() argument
247 struct decon_context *ctx = crtc->ctx; in decon_atomic_begin()
[all …]
Dexynos7_drm_decon.c48 struct exynos_drm_crtc *crtc; member
84 static void decon_wait_for_vblank(struct exynos_drm_crtc *crtc) in decon_wait_for_vblank() argument
86 struct decon_context *ctx = crtc->ctx; in decon_wait_for_vblank()
103 static void decon_clear_channels(struct exynos_drm_crtc *crtc) in decon_clear_channels() argument
105 struct decon_context *ctx = crtc->ctx; in decon_clear_channels()
126 decon_wait_for_vblank(ctx->crtc); in decon_clear_channels()
140 decon_clear_channels(ctx->crtc); in decon_ctx_initialize()
167 static void decon_commit(struct exynos_drm_crtc *crtc) in decon_commit() argument
169 struct decon_context *ctx = crtc->ctx; in decon_commit()
170 struct drm_display_mode *mode = &crtc->base.state->adjusted_mode; in decon_commit()
[all …]
Dexynos_drm_fimd.c151 struct exynos_drm_crtc *crtc; member
207 static int fimd_enable_vblank(struct exynos_drm_crtc *crtc) in fimd_enable_vblank() argument
209 struct fimd_context *ctx = crtc->ctx; in fimd_enable_vblank()
239 static void fimd_disable_vblank(struct exynos_drm_crtc *crtc) in fimd_disable_vblank() argument
241 struct fimd_context *ctx = crtc->ctx; in fimd_disable_vblank()
263 static void fimd_wait_for_vblank(struct exynos_drm_crtc *crtc) in fimd_wait_for_vblank() argument
265 struct fimd_context *ctx = crtc->ctx; in fimd_wait_for_vblank()
309 static void fimd_clear_channels(struct exynos_drm_crtc *crtc) in fimd_clear_channels() argument
311 struct fimd_context *ctx = crtc->ctx; in fimd_clear_channels()
345 fimd_enable_vblank(ctx->crtc); in fimd_clear_channels()
[all …]
Dexynos_drm_vidi.c41 struct exynos_drm_crtc *crtc; member
92 static int vidi_enable_vblank(struct exynos_drm_crtc *crtc) in vidi_enable_vblank() argument
94 struct vidi_context *ctx = crtc->ctx; in vidi_enable_vblank()
114 static void vidi_disable_vblank(struct exynos_drm_crtc *crtc) in vidi_disable_vblank() argument
116 struct vidi_context *ctx = crtc->ctx; in vidi_disable_vblank()
125 static void vidi_update_plane(struct exynos_drm_crtc *crtc, in vidi_update_plane() argument
128 struct vidi_context *ctx = crtc->ctx; in vidi_update_plane()
139 static void vidi_enable(struct exynos_drm_crtc *crtc) in vidi_enable() argument
141 struct vidi_context *ctx = crtc->ctx; in vidi_enable()
149 vidi_enable_vblank(ctx->crtc); in vidi_enable()
[all …]
Dexynos_drm_plane.c60 struct drm_crtc *crtc, in exynos_plane_mode_set() argument
68 struct drm_display_mode *mode = &crtc->state->adjusted_mode; in exynos_plane_mode_set()
107 plane->crtc = crtc; in exynos_plane_mode_set()
152 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(state->crtc); in exynos_plane_atomic_update()
155 if (!state->crtc) in exynos_plane_atomic_update()
158 exynos_plane_mode_set(plane, state->crtc, state->fb, in exynos_plane_atomic_update()
174 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(old_state->crtc); in exynos_plane_atomic_disable()
176 if (!old_state->crtc) in exynos_plane_atomic_disable()
Dexynos_mixer.c94 struct exynos_drm_crtc *crtc; member
405 struct drm_display_mode *mode = &state->crtc->mode; in vp_video_buffer()
538 struct drm_display_mode *mode = &state->crtc->mode; in mixer_graph_buffer()
758 drm_crtc_handle_vblank(&ctx->crtc->base); in mixer_irq_handler()
765 exynos_drm_crtc_finish_update(ctx->crtc, plane); in mixer_irq_handler()
923 static int mixer_enable_vblank(struct exynos_drm_crtc *crtc) in mixer_enable_vblank() argument
925 struct mixer_context *mixer_ctx = crtc->ctx; in mixer_enable_vblank()
939 static void mixer_disable_vblank(struct exynos_drm_crtc *crtc) in mixer_disable_vblank() argument
941 struct mixer_context *mixer_ctx = crtc->ctx; in mixer_disable_vblank()
954 static void mixer_update_plane(struct exynos_drm_crtc *crtc, in mixer_update_plane() argument
[all …]
Dexynos_drm_drv.c51 struct drm_crtc *crtc; in exynos_atomic_wait_for_commit() local
54 for_each_crtc_in_state(state, crtc, crtc_state, i) { in exynos_atomic_wait_for_commit()
55 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_atomic_wait_for_commit()
57 if (!crtc->state->enable) in exynos_atomic_wait_for_commit()
60 ret = drm_crtc_vblank_get(crtc); in exynos_atomic_wait_for_commit()
65 drm_crtc_vblank_put(crtc); in exynos_atomic_wait_for_commit()
75 struct drm_crtc *crtc; in exynos_atomic_commit_complete() local
92 for_each_crtc_in_state(state, crtc, crtc_state, i) { in exynos_atomic_commit_complete()
93 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_atomic_commit_complete()
100 to_exynos_crtc(plane->crtc); in exynos_atomic_commit_complete()
[all …]
Dexynos_drm_crtc.h42 void exynos_drm_crtc_te_handler(struct drm_crtc *crtc);
/linux-4.4.14/drivers/gpu/drm/sti/
Dsti_crtc.c23 static void sti_crtc_enable(struct drm_crtc *crtc) in sti_crtc_enable() argument
25 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_crtc_enable()
42 drm_crtc_vblank_on(crtc); in sti_crtc_enable()
45 static void sti_crtc_disabling(struct drm_crtc *crtc) in sti_crtc_disabling() argument
47 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_crtc_disabling()
54 static bool sti_crtc_mode_fixup(struct drm_crtc *crtc, in sti_crtc_mode_fixup() argument
63 sti_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode) in sti_crtc_mode_set() argument
65 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_crtc_mode_set()
73 crtc->base.id, sti_mixer_to_str(mixer), in sti_crtc_mode_set()
102 compo->vtg_main : compo->vtg_aux, &crtc->mode); in sti_crtc_mode_set()
[all …]
Dsti_cursor.c119 struct drm_crtc *crtc = state->crtc; in sti_cursor_atomic_update() local
120 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_cursor_atomic_update()
122 struct drm_display_mode *mode = &crtc->mode; in sti_cursor_atomic_update()
136 crtc->base.id, sti_mixer_to_str(mixer), in sti_cursor_atomic_update()
218 struct sti_mixer *mixer = to_sti_mixer(drm_plane->crtc); in sti_cursor_atomic_disable()
220 if (!drm_plane->crtc) { in sti_cursor_atomic_disable()
227 drm_plane->crtc->base.id, sti_mixer_to_str(mixer), in sti_cursor_atomic_disable()
Dsti_gdp.c244 struct sti_mixer *mixer = to_sti_mixer(drm_plane->crtc); in sti_gdp_disable()
389 struct drm_crtc *crtc = state->crtc; in sti_gdp_atomic_update() local
409 if (!crtc) in sti_gdp_atomic_update()
412 mixer = to_sti_mixer(crtc); in sti_gdp_atomic_update()
413 mode = &crtc->mode; in sti_gdp_atomic_update()
425 crtc->base.id, sti_mixer_to_str(mixer), in sti_gdp_atomic_update()
495 &gdp->vtg_field_nb, crtc)) { in sti_gdp_atomic_update()
584 struct sti_mixer *mixer = to_sti_mixer(drm_plane->crtc); in sti_gdp_atomic_disable()
586 if (!drm_plane->crtc) { in sti_gdp_atomic_disable()
593 drm_plane->crtc->base.id, sti_mixer_to_str(mixer), in sti_gdp_atomic_disable()
Dsti_vid.c49 struct drm_crtc *crtc = state->crtc; in sti_vid_commit() local
50 struct drm_display_mode *mode = &crtc->mode; in sti_vid_commit()
Dsti_vtg.c93 struct drm_crtc *crtc; member
283 struct drm_crtc *crtc) in sti_vtg_register_client() argument
286 return sti_vtg_register_client(vtg->slave, nb, crtc); in sti_vtg_register_client()
288 vtg->crtc = crtc; in sti_vtg_register_client()
308 raw_notifier_call_chain(&vtg->notifier_list, event, vtg->crtc); in vtg_irq_thread()
Dsti_hqvdp.c784 struct drm_crtc *crtc = state->crtc; in sti_hqvdp_atomic_update() local
785 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_hqvdp_atomic_update()
787 struct drm_display_mode *mode = &crtc->mode; in sti_hqvdp_atomic_update()
804 crtc->base.id, sti_mixer_to_str(mixer), in sti_hqvdp_atomic_update()
916 crtc)) { in sti_hqvdp_atomic_update()
941 struct sti_mixer *mixer = to_sti_mixer(drm_plane->crtc); in sti_hqvdp_atomic_disable()
943 if (!drm_plane->crtc) { in sti_hqvdp_atomic_disable()
950 drm_plane->crtc->base.id, sti_mixer_to_str(mixer), in sti_hqvdp_atomic_disable()
Dsti_vtg.h21 struct drm_crtc *crtc);
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp5/
Dmdp5_crtc.c81 static struct mdp5_kms *get_kms(struct drm_crtc *crtc) in get_kms() argument
83 struct msm_drm_private *priv = crtc->dev->dev_private; in get_kms()
87 static void request_pending(struct drm_crtc *crtc, uint32_t pending) in request_pending() argument
89 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in request_pending()
92 mdp_irq_register(&get_kms(crtc)->base, &mdp5_crtc->vblank); in request_pending()
95 static void request_pp_done_pending(struct drm_crtc *crtc) in request_pp_done_pending() argument
97 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in request_pp_done_pending()
101 static u32 crtc_flush(struct drm_crtc *crtc, u32 flush_mask) in crtc_flush() argument
103 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in crtc_flush()
114 static u32 crtc_flush_all(struct drm_crtc *crtc) in crtc_flush_all() argument
[all …]
Dmdp5_kms.h197 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
198 void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
211 uint32_t mdp5_crtc_vblank(struct drm_crtc *crtc);
213 int mdp5_crtc_get_lm(struct drm_crtc *crtc);
214 void mdp5_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file);
215 void mdp5_crtc_set_pipeline(struct drm_crtc *crtc,
217 void mdp5_crtc_wait_for_commit_done(struct drm_crtc *crtc);
Dmdp5_irq.c117 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp5_enable_vblank() argument
123 mdp5_crtc_vblank(crtc), true); in mdp5_enable_vblank()
129 void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp5_disable_vblank() argument
135 mdp5_crtc_vblank(crtc), false); in mdp5_disable_vblank()
Dmdp5_cmd_encoder.c105 int pp_id = GET_PING_PONG_ID(mdp5_crtc_get_lm(encoder->crtc)); in pingpong_tearcheck_setup()
148 int pp_id = GET_PING_PONG_ID(mdp5_crtc_get_lm(encoder->crtc)); in pingpong_tearcheck_enable()
173 int pp_id = GET_PING_PONG_ID(mdp5_crtc_get_lm(encoder->crtc)); in pingpong_tearcheck_disable()
215 mdp5_crtc_set_pipeline(encoder->crtc, &mdp5_cmd_enc->intf, in mdp5_cmd_encoder_mode_set()
Dmdp5_kms.c97 struct drm_crtc *crtc) in mdp5_wait_for_crtc_commit_done() argument
99 mdp5_crtc_wait_for_commit_done(crtc); in mdp5_wait_for_crtc_commit_done()
375 struct drm_crtc *crtc; in modeset_init() local
386 crtc = mdp5_crtc_init(dev, plane, i); in modeset_init()
387 if (IS_ERR(crtc)) { in modeset_init()
388 ret = PTR_ERR(crtc); in modeset_init()
393 priv->crtcs[priv->num_crtcs++] = crtc; in modeset_init()
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp4/
Dmdp4_crtc.c71 static struct mdp4_kms *get_kms(struct drm_crtc *crtc) in get_kms() argument
73 struct msm_drm_private *priv = crtc->dev->dev_private; in get_kms()
77 static void request_pending(struct drm_crtc *crtc, uint32_t pending) in request_pending() argument
79 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in request_pending()
82 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank); in request_pending()
85 static void crtc_flush(struct drm_crtc *crtc) in crtc_flush() argument
87 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in crtc_flush()
88 struct mdp4_kms *mdp4_kms = get_kms(crtc); in crtc_flush()
92 drm_atomic_crtc_for_each_plane(plane, crtc) { in crtc_flush()
107 static void complete_flip(struct drm_crtc *crtc, struct drm_file *file) in complete_flip() argument
[all …]
Dmdp4_kms.c139 struct drm_crtc *crtc = state->crtcs[i]; in mdp4_prepare_commit() local
140 if (!crtc) in mdp4_prepare_commit()
142 drm_crtc_vblank_get(crtc); in mdp4_prepare_commit()
153 struct drm_crtc *crtc = state->crtcs[i]; in mdp4_complete_commit() local
154 if (!crtc) in mdp4_complete_commit()
156 drm_crtc_vblank_put(crtc); in mdp4_complete_commit()
163 struct drm_crtc *crtc) in mdp4_wait_for_crtc_commit_done() argument
165 mdp4_crtc_wait_for_commit_done(crtc); in mdp4_wait_for_crtc_commit_done()
285 struct drm_crtc *crtc; in modeset_init() local
326 crtc = mdp4_crtc_init(dev, plane, priv->num_crtcs, 0, DMA_P); in modeset_init()
[all …]
Dmdp4_kms.h176 int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
177 void mdp4_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
201 uint32_t mdp4_crtc_vblank(struct drm_crtc *crtc);
202 void mdp4_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file);
203 void mdp4_crtc_set_config(struct drm_crtc *crtc, uint32_t config);
204 void mdp4_crtc_set_intf(struct drm_crtc *crtc, enum mdp4_intf intf, int mixer);
205 void mdp4_crtc_wait_for_commit_done(struct drm_crtc *crtc);
Dmdp4_irq.c91 int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp4_enable_vblank() argument
97 mdp4_crtc_vblank(crtc), true); in mdp4_enable_vblank()
103 void mdp4_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp4_disable_vblank() argument
109 mdp4_crtc_vblank(crtc), false); in mdp4_disable_vblank()
Dmdp4_plane.c55 struct drm_crtc *crtc, struct drm_framebuffer *fb,
143 state->crtc, state->fb, in mdp4_plane_atomic_update()
216 struct drm_crtc *crtc, struct drm_framebuffer *fb, in mdp4_plane_mode_set() argument
232 if (!(crtc && fb)) { in mdp4_plane_mode_set()
247 crtc->base.id, crtc_x, crtc_y, crtc_w, crtc_h); in mdp4_plane_mode_set()
/linux-4.4.14/drivers/gpu/drm/atmel-hlcdc/
Datmel_hlcdc_crtc.c52 drm_crtc_to_atmel_hlcdc_crtc(struct drm_crtc *crtc) in drm_crtc_to_atmel_hlcdc_crtc() argument
54 return container_of(crtc, struct atmel_hlcdc_crtc, base); in drm_crtc_to_atmel_hlcdc_crtc()
59 struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c); in atmel_hlcdc_crtc_mode_set_nofb() local
60 struct regmap *regmap = crtc->dc->hlcdc->regmap; in atmel_hlcdc_crtc_mode_set_nofb()
90 prate = clk_get_rate(crtc->dc->hlcdc->sys_clk); in atmel_hlcdc_crtc_mode_set_nofb()
124 static bool atmel_hlcdc_crtc_mode_fixup(struct drm_crtc *crtc, in atmel_hlcdc_crtc_mode_fixup() argument
134 struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c); in atmel_hlcdc_crtc_disable() local
135 struct regmap *regmap = crtc->dc->hlcdc->regmap; in atmel_hlcdc_crtc_disable()
138 if (!crtc->enabled) in atmel_hlcdc_crtc_disable()
160 clk_disable_unprepare(crtc->dc->hlcdc->sys_clk); in atmel_hlcdc_crtc_disable()
[all …]
Datmel_hlcdc_dc.h136 struct drm_crtc *crtc; member
155 void atmel_hlcdc_crtc_cancel_page_flip(struct drm_crtc *crtc,
158 void atmel_hlcdc_crtc_suspend(struct drm_crtc *crtc);
159 void atmel_hlcdc_crtc_resume(struct drm_crtc *crtc);
Datmel_hlcdc_dc.c390 atmel_hlcdc_crtc_irq(dc->crtc); in atmel_hlcdc_dc_irq_handler()
620 struct drm_crtc *crtc; in atmel_hlcdc_dc_preclose() local
622 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in atmel_hlcdc_dc_preclose()
623 atmel_hlcdc_crtc_cancel_page_flip(crtc, file); in atmel_hlcdc_dc_preclose()
782 struct drm_crtc *crtc; in atmel_hlcdc_dc_drm_suspend() local
788 list_for_each_entry(crtc, &drm_dev->mode_config.crtc_list, head) in atmel_hlcdc_dc_drm_suspend()
789 atmel_hlcdc_crtc_suspend(crtc); in atmel_hlcdc_dc_drm_suspend()
797 struct drm_crtc *crtc; in atmel_hlcdc_dc_drm_resume() local
803 list_for_each_entry(crtc, &drm_dev->mode_config.crtc_list, head) in atmel_hlcdc_dc_drm_resume()
804 atmel_hlcdc_crtc_resume(crtc); in atmel_hlcdc_dc_drm_resume()
/linux-4.4.14/drivers/gpu/drm/tilcdc/
Dtilcdc_crtc.c57 static void set_scanout(struct drm_crtc *crtc, int n) in set_scanout() argument
70 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in set_scanout()
71 struct drm_device *dev = crtc->dev; in set_scanout()
81 tilcdc_crtc->scanout[n] = crtc->primary->fb; in set_scanout()
87 static void update_scanout(struct drm_crtc *crtc) in update_scanout() argument
89 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in update_scanout()
90 struct drm_device *dev = crtc->dev; in update_scanout()
91 struct drm_framebuffer *fb = crtc->primary->fb; in update_scanout()
99 (crtc->y * fb->pitches[0]) + (crtc->x * bpp/8); in update_scanout()
102 (crtc->mode.vdisplay * fb->pitches[0]); in update_scanout()
[all …]
Dtilcdc_drv.h81 struct drm_crtc *crtc; member
166 void tilcdc_crtc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
167 irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc);
168 void tilcdc_crtc_update_clk(struct drm_crtc *crtc);
169 void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc,
171 void tilcdc_crtc_set_simulate_vesa_sync(struct drm_crtc *crtc,
173 int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode);
174 int tilcdc_crtc_max_width(struct drm_crtc *crtc);
Dtilcdc_external.c36 ret = tilcdc_crtc_mode_valid(priv->crtc, mode); in tilcdc_external_mode_valid()
65 tilcdc_crtc_set_simulate_vesa_sync(priv->crtc, true); in tilcdc_add_external_encoder()
66 tilcdc_crtc_set_panel_info(priv->crtc, &panel_info_tda998x); in tilcdc_add_external_encoder()
/linux-4.4.14/drivers/gpu/drm/omapdrm/
Domap_crtc.c60 uint32_t pipe2vbl(struct drm_crtc *crtc) in pipe2vbl() argument
62 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in pipe2vbl()
67 struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc) in omap_crtc_timings() argument
69 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_timings()
73 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc) in omap_crtc_channel() argument
75 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_channel()
79 int omap_crtc_wait_pending(struct drm_crtc *crtc) in omap_crtc_wait_pending() argument
81 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_wait_pending()
132 static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable) in omap_crtc_set_enabled() argument
134 struct drm_device *dev = crtc->dev; in omap_crtc_set_enabled()
[all …]
Domap_irq.c150 struct drm_crtc *crtc = priv->crtcs[pipe]; in omap_irq_enable_vblank() local
156 priv->vblank_mask |= pipe2vbl(crtc); in omap_irq_enable_vblank()
175 struct drm_crtc *crtc = priv->crtcs[pipe]; in omap_irq_disable_vblank() local
181 priv->vblank_mask &= ~pipe2vbl(crtc); in omap_irq_disable_vblank()
202 struct drm_crtc *crtc = priv->crtcs[id]; in omap_irq_handler() local
204 if (irqstatus & pipe2vbl(crtc)) in omap_irq_handler()
Domap_drv.c73 struct drm_crtc *crtc; in omap_atomic_wait_for_completion() local
77 for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) { in omap_atomic_wait_for_completion()
78 if (!crtc->state->enable) in omap_atomic_wait_for_completion()
81 ret = omap_crtc_wait_pending(crtc); in omap_atomic_wait_for_completion()
229 struct drm_crtc *crtc = priv->crtcs[i]; in channel_used() local
231 if (omap_crtc_channel(crtc) == channel) in channel_used()
284 struct drm_crtc *crtc; in omap_modeset_create_crtc() local
290 crtc = omap_crtc_init(dev, plane, channel, id); in omap_modeset_create_crtc()
293 priv->crtcs[id] = crtc; in omap_modeset_create_crtc()
472 struct drm_crtc *crtc = priv->crtcs[id]; in omap_modeset_init() local
[all …]
Domap_plane.c88 DBG("%s, crtc=%p fb=%p", omap_plane->name, state->crtc, state->fb); in omap_plane_atomic_update()
133 omap_crtc_channel(state->crtc)); in omap_plane_atomic_update()
137 omap_crtc_timings(state->crtc), false); in omap_plane_atomic_update()
164 if (!state->crtc) in omap_plane_atomic_check()
167 crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc); in omap_plane_atomic_check()
Domap_drv.h144 struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc);
145 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
150 int omap_crtc_wait_pending(struct drm_crtc *crtc);
243 uint32_t pipe2vbl(struct drm_crtc *crtc);
Domap_encoder.c145 omap_encoder_update(encoder, omap_crtc_channel(encoder->crtc), in omap_encoder_enable()
146 omap_crtc_timings(encoder->crtc)); in omap_encoder_enable()
/linux-4.4.14/drivers/gpu/drm/radeon/
Dradeon_cursor.c30 static void radeon_lock_cursor(struct drm_crtc *crtc, bool lock) in radeon_lock_cursor() argument
32 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_lock_cursor()
33 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_lock_cursor()
60 static void radeon_hide_cursor(struct drm_crtc *crtc) in radeon_hide_cursor() argument
62 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_hide_cursor()
63 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_hide_cursor()
88 static void radeon_show_cursor(struct drm_crtc *crtc) in radeon_show_cursor() argument
90 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_show_cursor()
91 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_show_cursor()
139 static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y) in radeon_cursor_move_locked() argument
[all …]
Datombios_crtc.c34 static void atombios_overscan_setup(struct drm_crtc *crtc, in atombios_overscan_setup() argument
38 struct drm_device *dev = crtc->dev; in atombios_overscan_setup()
40 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in atombios_overscan_setup()
79 static void atombios_scaler_setup(struct drm_crtc *crtc) in atombios_scaler_setup() argument
81 struct drm_device *dev = crtc->dev; in atombios_scaler_setup()
83 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in atombios_scaler_setup()
163 static void atombios_lock_crtc(struct drm_crtc *crtc, int lock) in atombios_lock_crtc() argument
165 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in atombios_lock_crtc()
166 struct drm_device *dev = crtc->dev; in atombios_lock_crtc()
180 static void atombios_enable_crtc(struct drm_crtc *crtc, int state) in atombios_enable_crtc() argument
[all …]
Dradeon_legacy_crtc.c33 static void radeon_overscan_setup(struct drm_crtc *crtc, in radeon_overscan_setup() argument
36 struct drm_device *dev = crtc->dev; in radeon_overscan_setup()
38 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_overscan_setup()
45 static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc, in radeon_legacy_rmx_mode_set() argument
48 struct drm_device *dev = crtc->dev; in radeon_legacy_rmx_mode_set()
50 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_legacy_rmx_mode_set()
293 static void radeon_crtc_dpms(struct drm_crtc *crtc, int mode) in radeon_crtc_dpms() argument
295 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_crtc_dpms()
296 struct drm_device *dev = crtc->dev; in radeon_crtc_dpms()
334 radeon_crtc_load_lut(crtc); in radeon_crtc_dpms()
[all …]
Dradeon_display.c40 static void avivo_crtc_load_lut(struct drm_crtc *crtc) in avivo_crtc_load_lut() argument
42 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in avivo_crtc_load_lut()
43 struct drm_device *dev = crtc->dev; in avivo_crtc_load_lut()
74 static void dce4_crtc_load_lut(struct drm_crtc *crtc) in dce4_crtc_load_lut() argument
76 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in dce4_crtc_load_lut()
77 struct drm_device *dev = crtc->dev; in dce4_crtc_load_lut()
104 static void dce5_crtc_load_lut(struct drm_crtc *crtc) in dce5_crtc_load_lut() argument
106 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in dce5_crtc_load_lut()
107 struct drm_device *dev = crtc->dev; in dce5_crtc_load_lut()
170 static void legacy_crtc_load_lut(struct drm_crtc *crtc) in legacy_crtc_load_lut() argument
[all …]
Dradeon_kms.c222 struct drm_crtc *crtc; in radeon_info_ioctl() local
252 crtc = (struct drm_crtc *)minfo->crtcs[i]; in radeon_info_ioctl()
253 if (crtc && crtc->base.id == *value) { in radeon_info_ioctl()
254 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_info_ioctl()
756 u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc) in radeon_get_vblank_counter_kms() argument
762 if (crtc < 0 || crtc >= rdev->num_crtc) { in radeon_get_vblank_counter_kms()
763 DRM_ERROR("Invalid crtc %d\n", crtc); in radeon_get_vblank_counter_kms()
775 if (rdev->mode_info.crtcs[crtc]) { in radeon_get_vblank_counter_kms()
780 count = radeon_get_vblank_counter(rdev, crtc); in radeon_get_vblank_counter_kms()
786 dev, crtc, GET_DISTANCE_TO_VBLANKSTART, in radeon_get_vblank_counter_kms()
[all …]
Dradeon_mode.h451 int crtc; member
848 extern void radeon_crtc_load_lut(struct drm_crtc *crtc);
849 extern int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
851 extern int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
855 extern int atombios_crtc_mode_set(struct drm_crtc *crtc,
860 extern void atombios_crtc_dpms(struct drm_crtc *crtc, int mode);
862 extern int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
864 extern int radeon_crtc_set_base_atomic(struct drm_crtc *crtc,
868 extern int radeon_crtc_do_set_base(struct drm_crtc *crtc,
871 extern int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
[all …]
Dradeon_irq_kms.c412 void radeon_irq_kms_pflip_irq_get(struct radeon_device *rdev, int crtc) in radeon_irq_kms_pflip_irq_get() argument
416 if (crtc < 0 || crtc >= rdev->num_crtc) in radeon_irq_kms_pflip_irq_get()
422 if (atomic_inc_return(&rdev->irq.pflip[crtc]) == 1) { in radeon_irq_kms_pflip_irq_get()
438 void radeon_irq_kms_pflip_irq_put(struct radeon_device *rdev, int crtc) in radeon_irq_kms_pflip_irq_put() argument
442 if (crtc < 0 || crtc >= rdev->num_crtc) in radeon_irq_kms_pflip_irq_put()
448 if (atomic_dec_and_test(&rdev->irq.pflip[crtc])) { in radeon_irq_kms_pflip_irq_put()
Drs600.c56 static bool avivo_is_in_vblank(struct radeon_device *rdev, int crtc) in avivo_is_in_vblank() argument
58 if (RREG32(AVIVO_D1CRTC_STATUS + crtc_offsets[crtc]) & AVIVO_D1CRTC_V_BLANK) in avivo_is_in_vblank()
64 static bool avivo_is_counter_moving(struct radeon_device *rdev, int crtc) in avivo_is_counter_moving() argument
68 pos1 = RREG32(AVIVO_D1CRTC_STATUS_POSITION + crtc_offsets[crtc]); in avivo_is_counter_moving()
69 pos2 = RREG32(AVIVO_D1CRTC_STATUS_POSITION + crtc_offsets[crtc]); in avivo_is_counter_moving()
85 void avivo_wait_for_vblank(struct radeon_device *rdev, int crtc) in avivo_wait_for_vblank() argument
89 if (crtc >= rdev->num_crtc) in avivo_wait_for_vblank()
92 if (!(RREG32(AVIVO_D1CRTC_CONTROL + crtc_offsets[crtc]) & AVIVO_CRTC_EN)) in avivo_wait_for_vblank()
98 while (avivo_is_in_vblank(rdev, crtc)) { in avivo_wait_for_vblank()
100 if (!avivo_is_counter_moving(rdev, crtc)) in avivo_wait_for_vblank()
[all …]
Devergreen_hdmi.c74 if (encoder->crtc) { in evergreen_hdmi_update_acr()
75 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in evergreen_hdmi_update_acr()
228 struct radeon_crtc *crtc, unsigned int clock) in dce4_hdmi_audio_set_dto() argument
257 if (crtc) in dce4_hdmi_audio_set_dto()
258 value |= DCCG_AUDIO_DTO0_SOURCE_SEL(crtc->crtc_id); in dce4_hdmi_audio_set_dto()
271 struct radeon_crtc *crtc, unsigned int clock) in dce4_dp_audio_set_dto() argument
283 if (crtc) in dce4_dp_audio_set_dto()
284 value |= DCCG_AUDIO_DTO0_SOURCE_SEL(crtc->crtc_id); in dce4_dp_audio_set_dto()
Ddce6_afmt.c269 struct radeon_crtc *crtc, unsigned int clock) in dce6_hdmi_audio_set_dto() argument
274 if (crtc) in dce6_hdmi_audio_set_dto()
275 value |= DCCG_AUDIO_DTO0_SOURCE_SEL(crtc->crtc_id); in dce6_hdmi_audio_set_dto()
288 struct radeon_crtc *crtc, unsigned int clock) in dce6_dp_audio_set_dto() argument
294 if (crtc) in dce6_dp_audio_set_dto()
295 value |= DCCG_AUDIO_DTO0_SOURCE_SEL(crtc->crtc_id); in dce6_dp_audio_set_dto()
Drv515.c710 void atom_rv515_force_tv_scaler(struct radeon_device *rdev, struct radeon_crtc *crtc) in atom_rv515_force_tv_scaler() argument
712 int index_reg = 0x6578 + crtc->crtc_offset; in atom_rv515_force_tv_scaler()
713 int data_reg = 0x657c + crtc->crtc_offset; in atom_rv515_force_tv_scaler()
715 WREG32(0x659C + crtc->crtc_offset, 0x0); in atom_rv515_force_tv_scaler()
716 WREG32(0x6594 + crtc->crtc_offset, 0x705); in atom_rv515_force_tv_scaler()
717 WREG32(0x65A4 + crtc->crtc_offset, 0x10001); in atom_rv515_force_tv_scaler()
718 WREG32(0x65D8 + crtc->crtc_offset, 0x0); in atom_rv515_force_tv_scaler()
719 WREG32(0x65B0 + crtc->crtc_offset, 0x0); in atom_rv515_force_tv_scaler()
720 WREG32(0x65C0 + crtc->crtc_offset, 0x0); in atom_rv515_force_tv_scaler()
721 WREG32(0x65D4 + crtc->crtc_offset, 0x0); in atom_rv515_force_tv_scaler()
[all …]
Dradeon_audio.c67 struct radeon_crtc *crtc, unsigned int clock);
69 struct radeon_crtc *crtc, unsigned int clock);
71 struct radeon_crtc *crtc, unsigned int clock);
73 struct radeon_crtc *crtc, unsigned int clock);
75 struct radeon_crtc *crtc, unsigned int clock);
77 struct radeon_crtc *crtc, unsigned int clock);
499 struct radeon_crtc *crtc = to_radeon_crtc(encoder->crtc); in radeon_audio_set_dto() local
502 radeon_encoder->audio->set_dto(rdev, crtc, clock); in radeon_audio_set_dto()
660 if (encoder->crtc) { in radeon_hdmi_set_color_depth()
661 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_hdmi_set_color_depth()
Drs690.c272 struct radeon_crtc *crtc, in rs690_crtc_bandwidth_compute() argument
276 struct drm_display_mode *mode = &crtc->base.mode; in rs690_crtc_bandwidth_compute()
283 if (!crtc->base.enabled) { in rs690_crtc_bandwidth_compute()
304 if (crtc->vsc.full > dfixed_const(2)) in rs690_crtc_bandwidth_compute()
330 if (crtc->rmx_type != RMX_OFF) { in rs690_crtc_bandwidth_compute()
332 if (crtc->vsc.full > b.full) in rs690_crtc_bandwidth_compute()
333 b.full = crtc->vsc.full; in rs690_crtc_bandwidth_compute()
334 b.full = dfixed_mul(b, crtc->hsc); in rs690_crtc_bandwidth_compute()
350 a.full = dfixed_const(crtc->base.mode.crtc_htotal); in rs690_crtc_bandwidth_compute()
358 a.full = dfixed_const(crtc->base.mode.crtc_htotal); in rs690_crtc_bandwidth_compute()
[all …]
Ddce3_1_afmt.c117 struct radeon_crtc *crtc, unsigned int clock) in dce3_2_audio_set_dto() argument
126 if (!crtc) in dce3_2_audio_set_dto()
129 radeon_encoder = to_radeon_encoder(crtc->encoder); in dce3_2_audio_set_dto()
Dradeon_asic.h68 u32 r100_get_vblank_counter(struct radeon_device *rdev, int crtc);
140 extern void r100_page_flip(struct radeon_device *rdev, int crtc,
142 extern bool r100_page_flip_pending(struct radeon_device *rdev, int crtc);
143 extern void r100_wait_for_vblank(struct radeon_device *rdev, int crtc);
236 u32 rs600_get_vblank_counter(struct radeon_device *rdev, int crtc);
252 extern void rs600_page_flip(struct radeon_device *rdev, int crtc,
254 extern bool rs600_page_flip_pending(struct radeon_device *rdev, int crtc);
256 extern void avivo_wait_for_vblank(struct radeon_device *rdev, int crtc);
467 void rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
468 bool rv770_page_flip_pending(struct radeon_device *rdev, int crtc);
[all …]
Dradeon_dp_mst.c358 void radeon_dp_mst_prepare_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) in radeon_dp_mst_prepare_pll() argument
360 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_dp_mst_prepare_pll()
361 struct drm_device *dev = crtc->dev; in radeon_dp_mst_prepare_pll()
394 struct drm_crtc *crtc; in radeon_mst_encoder_dpms() local
415 crtc = encoder->crtc; in radeon_mst_encoder_dpms()
422 radeon_crtc = to_radeon_crtc(crtc); in radeon_mst_encoder_dpms()
/linux-4.4.14/drivers/gpu/drm/vc4/
Dvc4_crtc.c62 to_vc4_crtc(struct drm_crtc *crtc) in to_vc4_crtc() argument
64 return (struct vc4_crtc *)crtc; in to_vc4_crtc()
115 struct drm_crtc *crtc; in vc4_crtc_debugfs_regs() local
120 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in vc4_crtc_debugfs_regs()
125 if (!crtc) in vc4_crtc_debugfs_regs()
127 vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_debugfs_regs()
139 static void vc4_crtc_destroy(struct drm_crtc *crtc) in vc4_crtc_destroy() argument
141 drm_crtc_cleanup(crtc); in vc4_crtc_destroy()
166 static int vc4_get_clock_select(struct drm_crtc *crtc) in vc4_get_clock_select() argument
170 drm_for_each_connector(connector, crtc->dev) { in vc4_get_clock_select()
[all …]
Dvc4_drv.h17 struct vc4_crtc *crtc[3]; member
119 void vc4_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
Dvc4_drv.c47 struct drm_crtc *crtc; in vc4_drm_preclose() local
49 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in vc4_drm_preclose()
50 vc4_cancel_page_flip(crtc, file); in vc4_drm_preclose()
/linux-4.4.14/drivers/gpu/drm/i915/
Dintel_fbc.c57 static unsigned int get_crtc_fence_y_offset(struct intel_crtc *crtc) in get_crtc_fence_y_offset() argument
59 return crtc->base.y - crtc->adjusted_y; in get_crtc_fence_y_offset()
85 static void i8xx_fbc_enable(struct intel_crtc *crtc) in i8xx_fbc_enable() argument
87 struct drm_i915_private *dev_priv = crtc->base.dev->dev_private; in i8xx_fbc_enable()
88 struct drm_framebuffer *fb = crtc->base.primary->fb; in i8xx_fbc_enable()
116 fbc_ctl2 |= FBC_CTL_PLANE(crtc->plane); in i8xx_fbc_enable()
118 I915_WRITE(FBC_FENCE_OFF, get_crtc_fence_y_offset(crtc)); in i8xx_fbc_enable()
132 cfb_pitch, crtc->base.y, plane_name(crtc->plane)); in i8xx_fbc_enable()
140 static void g4x_fbc_enable(struct intel_crtc *crtc) in g4x_fbc_enable() argument
142 struct drm_i915_private *dev_priv = crtc->base.dev->dev_private; in g4x_fbc_enable()
[all …]
Dintel_display.c86 static void intel_crtc_update_cursor(struct drm_crtc *crtc, bool on);
88 static void i9xx_crtc_clock_get(struct intel_crtc *crtc,
90 static void ironlake_pch_clock_get(struct intel_crtc *crtc,
99 static void intel_cpu_transcoder_set_m_n(struct intel_crtc *crtc,
102 static void ironlake_set_pipeconf(struct drm_crtc *crtc);
103 static void haswell_set_pipeconf(struct drm_crtc *crtc);
104 static void intel_set_pipe_csc(struct drm_crtc *crtc);
105 static void vlv_prepare_pll(struct intel_crtc *crtc,
107 static void chv_prepare_pll(struct intel_crtc *crtc,
115 static void skylake_pfit_enable(struct intel_crtc *crtc);
[all …]
Dintel_psr.c81 struct intel_crtc *crtc = to_intel_crtc(dig_port->base.base.crtc); in intel_psr_write_vsc() local
82 enum transcoder cpu_transcoder = crtc->config->cpu_transcoder; in intel_psr_write_vsc()
111 struct drm_crtc *crtc = intel_dig_port->base.base.crtc; in vlv_psr_setup_vsc() local
112 enum pipe pipe = to_intel_crtc(crtc)->pipe; in vlv_psr_setup_vsc()
223 struct drm_crtc *crtc = dig_port->base.base.crtc; in vlv_psr_enable_source() local
224 enum pipe pipe = to_intel_crtc(crtc)->pipe; in vlv_psr_enable_source()
238 struct drm_crtc *crtc = dig_port->base.base.crtc; in vlv_psr_activate() local
239 enum pipe pipe = to_intel_crtc(crtc)->pipe; in vlv_psr_activate()
295 struct drm_crtc *crtc = dig_port->base.base.crtc; in intel_psr_match_conditions() local
296 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_psr_match_conditions()
[all …]
Dintel_fifo_underrun.c54 struct intel_crtc *crtc; in ivb_can_enable_err_int() local
60 crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); in ivb_can_enable_err_int()
62 if (crtc->cpu_fifo_underrun_disabled) in ivb_can_enable_err_int()
73 struct intel_crtc *crtc; in cpt_can_enable_serr_int() local
78 crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); in cpt_can_enable_serr_int()
80 if (crtc->pch_fifo_underrun_disabled) in cpt_can_enable_serr_int()
97 struct intel_crtc *crtc; in i9xx_check_fifo_underruns() local
101 for_each_intel_crtc(dev_priv->dev, crtc) { in i9xx_check_fifo_underruns()
102 u32 reg = PIPESTAT(crtc->pipe); in i9xx_check_fifo_underruns()
105 if (crtc->cpu_fifo_underrun_disabled) in i9xx_check_fifo_underruns()
[all …]
Dintel_sprite.c81 void intel_pipe_update_start(struct intel_crtc *crtc) in intel_pipe_update_start() argument
83 struct drm_device *dev = crtc->base.dev; in intel_pipe_update_start()
84 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_pipe_update_start()
85 enum pipe pipe = crtc->pipe; in intel_pipe_update_start()
88 wait_queue_head_t *wq = drm_crtc_vblank_waitqueue(&crtc->base); in intel_pipe_update_start()
104 if (WARN_ON(drm_crtc_vblank_get(&crtc->base))) in intel_pipe_update_start()
107 crtc->debug.min_vbl = min; in intel_pipe_update_start()
108 crtc->debug.max_vbl = max; in intel_pipe_update_start()
109 trace_i915_pipe_update_start(crtc); in intel_pipe_update_start()
119 scanline = intel_get_crtc_scanline(crtc); in intel_pipe_update_start()
[all …]
Dintel_hdmi.c195 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_write_infoframe()
230 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_infoframe_enabled()
253 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_write_infoframe()
291 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_infoframe_enabled()
310 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_write_infoframe()
345 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_infoframe_enabled()
368 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_write_infoframe()
403 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_infoframe_enabled()
455 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in intel_hdmi_set_avi_infoframe()
635 struct intel_crtc *crtc = to_intel_crtc(encoder->crtc); in intel_hdmi_set_gcp_infoframe() local
[all …]
Dintel_atomic_plane.c109 struct drm_crtc *crtc = state->crtc; in intel_plane_atomic_check() local
117 crtc = crtc ? crtc : plane->state->crtc; in intel_plane_atomic_check()
118 intel_crtc = to_intel_crtc(crtc); in intel_plane_atomic_check()
126 if (!crtc) in intel_plane_atomic_check()
129 drm_crtc_state = drm_atomic_get_existing_crtc_state(state->state, crtc); in intel_plane_atomic_check()
Dintel_fbdev.c291 static void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, in intel_crtc_fb_gamma_set() argument
294 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_crtc_fb_gamma_set()
301 static void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, in intel_crtc_fb_gamma_get() argument
304 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_crtc_fb_gamma_get()
312 intel_fb_helper_crtc(struct drm_fb_helper *fb_helper, struct drm_crtc *crtc) in intel_fb_helper_crtc() argument
317 if (fb_helper->crtc_info[i].mode_set.crtc == crtc) in intel_fb_helper_crtc()
406 if (!encoder || WARN_ON(!encoder->crtc)) { in intel_fb_initial_config()
419 new_crtc = intel_fb_helper_crtc(fb_helper, encoder->crtc); in intel_fb_initial_config()
468 modes[i] = &encoder->crtc->mode; in intel_fb_initial_config()
474 pipe_name(to_intel_crtc(encoder->crtc)->pipe), in intel_fb_initial_config()
[all …]
Dintel_drv.h495 struct intel_crtc *crtc; member
635 struct drm_crtc *crtc,
642 struct drm_crtc *crtc);
869 struct drm_crtc *crtc; member
930 static inline unsigned int intel_num_planes(struct intel_crtc *crtc) in intel_num_planes() argument
932 return INTEL_INFO(crtc->base.dev)->num_sprites[crtc->pipe] + 1; in intel_num_planes()
967 int intel_get_crtc_scanline(struct intel_crtc *crtc);
977 void hsw_fdi_link_train(struct drm_crtc *crtc);
982 void intel_ddi_enable_transcoder_func(struct drm_crtc *crtc);
987 bool intel_ddi_pll_select(struct intel_crtc *crtc,
[all …]
Dintel_pm.c600 struct drm_crtc *crtc, *enabled = NULL; in single_enabled_crtc() local
602 for_each_crtc(dev, crtc) { in single_enabled_crtc()
603 if (intel_crtc_active(crtc)) { in single_enabled_crtc()
606 enabled = crtc; in single_enabled_crtc()
617 struct drm_crtc *crtc; in pineview_update_wm() local
630 crtc = single_enabled_crtc(dev); in pineview_update_wm()
631 if (crtc) { in pineview_update_wm()
632 const struct drm_display_mode *adjusted_mode = &to_intel_crtc(crtc)->config->base.adjusted_mode; in pineview_update_wm()
633 int pixel_size = crtc->primary->state->fb->bits_per_pixel / 8; in pineview_update_wm()
689 struct drm_crtc *crtc; in g4x_compute_wm0() local
[all …]
Dintel_audio.c152 static bool audio_rate_need_prog(struct intel_crtc *crtc, in audio_rate_need_prog() argument
157 intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI)) in audio_rate_need_prog()
251 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in hsw_audio_codec_disable()
283 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in hsw_audio_codec_enable()
361 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in ilk_audio_codec_disable()
410 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in ilk_audio_codec_enable()
498 struct intel_crtc *crtc = to_intel_crtc(encoder->crtc); in intel_audio_codec_enable() local
499 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_audio_codec_enable()
519 if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) in intel_audio_codec_enable()
638 struct intel_crtc *crtc; in i915_audio_component_sync_audio_rate() local
[all …]
Dintel_dvo.c186 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_enable_dvo() local
191 &crtc->config->base.mode, in intel_enable_dvo()
192 &crtc->config->base.adjusted_mode); in intel_enable_dvo()
253 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_dvo_pre_enable() local
254 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_dvo_pre_enable()
256 int pipe = crtc->pipe; in intel_dvo_pre_enable()
395 struct drm_crtc *crtc; in intel_dvo_get_current_mode() local
398 crtc = intel_get_crtc_for_pipe(dev, pipe); in intel_dvo_get_current_mode()
399 if (crtc) { in intel_dvo_get_current_mode()
400 mode = intel_crtc_mode_get(dev, crtc); in intel_dvo_get_current_mode()
Dintel_lvds.c137 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_pre_enable_lvds() local
138 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_pre_enable_lvds()
139 int pipe = crtc->pipe; in intel_pre_enable_lvds()
145 intel_crtc_to_shared_dpll(crtc)); in intel_pre_enable_lvds()
166 temp |= crtc->config->gmch_pfit.lvds_border_bits; in intel_pre_enable_lvds()
189 if (crtc->config->dither && crtc->config->pipe_bpp == 18) in intel_pre_enable_lvds()
308 struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->base.crtc); in intel_lvds_compute_config()
517 struct drm_crtc *crtc; in intel_lvds_set_property() local
530 crtc = intel_attached_encoder(connector)->base.crtc; in intel_lvds_set_property()
531 if (crtc && crtc->state->enable) { in intel_lvds_set_property()
[all …]
Dintel_dp_mst.c152 struct drm_crtc *crtc = encoder->base.crtc; in intel_mst_pre_enable_dp() local
153 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_mst_pre_enable_dp()
246 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_dp_mst_enc_get_config() local
285 intel_dp_get_m_n(crtc, pipe_config); in intel_dp_mst_enc_get_config()
371 struct intel_crtc *crtc = to_intel_crtc(state->crtc); in intel_mst_atomic_best_encoder() local
373 return &intel_dp->mst_encoders[crtc->pipe]->base.base; in intel_mst_atomic_best_encoder()
404 if (connector->encoder && connector->base.state->crtc) { in intel_dp_mst_get_hw_state()
484 if (connector->state->crtc) { in intel_dp_destroy_mst_connector()
489 set.crtc = connector->state->crtc, in intel_dp_destroy_mst_connector()
Di915_trace.h20 TP_PROTO(struct intel_crtc *crtc),
21 TP_ARGS(crtc),
32 __entry->pipe = crtc->pipe;
33 __entry->frame = crtc->base.dev->driver->get_vblank_counter(crtc->base.dev,
34 crtc->pipe);
35 __entry->scanline = intel_get_crtc_scanline(crtc);
36 __entry->min = crtc->debug.min_vbl;
37 __entry->max = crtc->debug.max_vbl;
46 TP_PROTO(struct intel_crtc *crtc),
47 TP_ARGS(crtc),
[all …]
Dintel_atomic.c86 intel_crtc_duplicate_state(struct drm_crtc *crtc) in intel_crtc_duplicate_state() argument
90 crtc_state = kmemdup(crtc->state, sizeof(*crtc_state), GFP_KERNEL); in intel_crtc_duplicate_state()
94 __drm_atomic_helper_crtc_duplicate_state(crtc, &crtc_state->base); in intel_crtc_duplicate_state()
109 intel_crtc_destroy_state(struct drm_crtc *crtc, in intel_crtc_destroy_state() argument
112 drm_atomic_helper_crtc_destroy_state(crtc, state); in intel_crtc_destroy_state()
Dintel_ddi.c607 void hsw_fdi_link_train(struct drm_crtc *crtc) in hsw_fdi_link_train() argument
609 struct drm_device *dev = crtc->dev; in hsw_fdi_link_train()
611 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in hsw_fdi_link_train()
738 intel_ddi_get_crtc_encoder(struct drm_crtc *crtc) in intel_ddi_get_crtc_encoder() argument
740 struct drm_device *dev = crtc->dev; in intel_ddi_get_crtc_encoder()
741 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_ddi_get_crtc_encoder()
745 for_each_encoder_on_crtc(dev, crtc, intel_encoder) { in intel_ddi_get_crtc_encoder()
761 struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc); in intel_ddi_get_crtc_new_encoder() local
772 if (connector_state->crtc != crtc_state->base.crtc) in intel_ddi_get_crtc_new_encoder()
780 pipe_name(crtc->pipe)); in intel_ddi_get_crtc_new_encoder()
[all …]
Dintel_dp.c1387 struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->base.crtc); in intel_dp_compute_config()
1545 struct intel_crtc *crtc = to_intel_crtc(dig_port->base.base.crtc); in ironlake_set_pll_cpu_edp() local
1546 struct drm_device *dev = crtc->base.dev; in ironlake_set_pll_cpu_edp()
1551 crtc->config->port_clock); in ironlake_set_pll_cpu_edp()
1555 if (crtc->config->port_clock == 162000) { in ironlake_set_pll_cpu_edp()
1586 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_dp_prepare() local
1587 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_dp_prepare()
1589 intel_dp_set_link_params(intel_dp, crtc->config); in intel_dp_prepare()
1615 intel_dp->DP |= DP_PORT_WIDTH(crtc->config->lane_count); in intel_dp_prepare()
1617 if (crtc->config->has_audio) in intel_dp_prepare()
[all …]
Dintel_overlay.c172 struct intel_crtc *crtc; member
329 overlay->crtc->overlay = NULL; in intel_overlay_off_tail()
330 overlay->crtc = NULL; in intel_overlay_off_tail()
450 INTEL_FRONTBUFFER_OVERLAY(overlay->crtc->pipe)); in intel_overlay_release_old_vid()
466 overlay->crtc = NULL; in intel_overlay_reset()
663 switch (overlay->crtc->base.primary->fb->bits_per_pixel) { in update_colorkey()
670 if (overlay->crtc->base.primary->fb->depth == 15) { in update_colorkey()
743 enum pipe pipe = overlay->crtc->pipe; in intel_overlay_do_put_image()
883 struct intel_crtc *crtc) in check_overlay_possible_on_crtc() argument
885 if (!crtc->active) in check_overlay_possible_on_crtc()
[all …]
Dintel_crt.c148 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_crt_set_dpms() local
149 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_crt_set_dpms()
166 adpa |= PORT_TRANS_SEL_CPT(crtc->pipe); in intel_crt_set_dpms()
167 else if (crtc->pipe == 0) in intel_crt_set_dpms()
173 I915_WRITE(BCLRPAT(crtc->pipe), 0); in intel_crt_set_dpms()
482 uint32_t pipe = to_intel_crtc(crt->base.base.crtc)->pipe; in intel_crt_load_detect()
Dintel_tv.c860 to_intel_crtc(encoder->base.crtc)->pipe); in intel_enable_tv()
1025 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in intel_tv_pre_enable()
1182 struct drm_crtc *crtc = encoder->crtc; in intel_tv_detect_type() local
1183 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_tv_detect_type()
1234 to_intel_crtc(intel_tv->base.base.crtc)->pipe); in intel_tv_detect_type()
1265 to_intel_crtc(intel_tv->base.base.crtc)->pipe); in intel_tv_detect_type()
1466 struct drm_crtc *crtc = intel_tv->base.base.crtc; in intel_tv_set_property() local
1505 if (changed && crtc) in intel_tv_set_property()
1506 intel_crtc_restore_mode(crtc); in intel_tv_set_property()
Dintel_sdvo.c1010 struct drm_crtc *crtc = intel_sdvo->base.base.crtc; in intel_sdvo_set_avi_infoframe() local
1011 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_sdvo_set_avi_infoframe()
1200 struct intel_crtc *crtc = to_intel_crtc(intel_encoder->base.crtc); in intel_sdvo_pre_enable() local
1201 const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_sdvo_pre_enable()
1202 struct drm_display_mode *mode = &crtc->config->base.mode; in intel_sdvo_pre_enable()
1244 if (crtc->config->has_hdmi_sink) { in intel_sdvo_pre_enable()
1264 switch (crtc->config->pixel_multiplier) { in intel_sdvo_pre_enable()
1279 if (!HAS_PCH_SPLIT(dev) && crtc->config->limited_color_range) in intel_sdvo_pre_enable()
1297 sdvox |= SDVO_PIPE_SEL_CPT(crtc->pipe); in intel_sdvo_pre_enable()
1299 sdvox |= SDVO_PIPE_SEL(crtc->pipe); in intel_sdvo_pre_enable()
[all …]
Di915_debugfs.c568 struct intel_crtc *crtc; in i915_gem_pageflip_info() local
575 for_each_intel_crtc(dev, crtc) { in i915_gem_pageflip_info()
576 const char pipe = pipe_name(crtc->pipe); in i915_gem_pageflip_info()
577 const char plane = plane_name(crtc->plane); in i915_gem_pageflip_info()
581 work = crtc->unpin_work; in i915_gem_pageflip_info()
610 drm_crtc_vblank_count(&crtc->base)); in i915_gem_pageflip_info()
618 addr = I915_HI_DISPBASE(I915_READ(DSPSURF(crtc->plane))); in i915_gem_pageflip_info()
620 addr = I915_READ(DSPADDR(crtc->plane)); in i915_gem_pageflip_info()
2806 struct drm_crtc *crtc = &intel_crtc->base; in intel_encoder_info() local
2820 struct drm_display_mode *mode = &crtc->mode; in intel_encoder_info()
[all …]
/linux-4.4.14/drivers/gpu/drm/nouveau/dispnv04/
Dcrtc.c47 nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
51 crtc_wr_cio_state(struct drm_crtc *crtc, struct nv04_crtc_reg *crtcstate, int index) in crtc_wr_cio_state() argument
53 NVWriteVgaCrtc(crtc->dev, nouveau_crtc(crtc)->index, index, in crtc_wr_cio_state()
57 static void nv_crtc_set_digital_vibrance(struct drm_crtc *crtc, int level) in nv_crtc_set_digital_vibrance() argument
59 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv_crtc_set_digital_vibrance()
60 struct drm_device *dev = crtc->dev; in nv_crtc_set_digital_vibrance()
64 if (nv_crtc->saturation && nv_gf4_disp_arch(crtc->dev)) { in nv_crtc_set_digital_vibrance()
67 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_5B); in nv_crtc_set_digital_vibrance()
69 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_CSB); in nv_crtc_set_digital_vibrance()
72 static void nv_crtc_set_image_sharpening(struct drm_crtc *crtc, int level) in nv_crtc_set_image_sharpening() argument
[all …]
Dcursor.c31 crtc_wr_cio_state(struct drm_crtc *crtc, struct nv04_crtc_reg *crtcstate, int index) in crtc_wr_cio_state() argument
33 NVWriteVgaCrtc(crtc->dev, nouveau_crtc(crtc)->index, index, in crtc_wr_cio_state()
43 struct drm_crtc *crtc = &nv_crtc->base; in nv04_cursor_set_offset() local
50 if (crtc->mode.flags & DRM_MODE_FLAG_DBLSCAN) in nv04_cursor_set_offset()
55 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_HCUR_ADDR0_INDEX); in nv04_cursor_set_offset()
56 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_HCUR_ADDR1_INDEX); in nv04_cursor_set_offset()
57 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_HCUR_ADDR2_INDEX); in nv04_cursor_set_offset()
63 nv04_cursor_init(struct nouveau_crtc *crtc) in nv04_cursor_init() argument
65 crtc->cursor.set_offset = nv04_cursor_set_offset; in nv04_cursor_init()
66 crtc->cursor.set_pos = nv04_cursor_set_pos; in nv04_cursor_init()
[all …]
Ddisp.c42 struct drm_crtc *crtc; in nv04_display_create() local
110 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in nv04_display_create()
111 crtc->funcs->save(crtc); in nv04_display_create()
130 struct drm_crtc *crtc; in nv04_display_destroy() local
133 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in nv04_display_destroy()
135 .crtc = crtc, in nv04_display_destroy()
148 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in nv04_display_destroy()
149 crtc->funcs->restore(crtc); in nv04_display_destroy()
163 struct drm_crtc *crtc; in nv04_display_init() local
179 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in nv04_display_init()
[all …]
Ddfp.c116 struct drm_crtc *crtc; in nv04_dfp_update_fp_control() local
121 nv_crtc = nouveau_crtc(encoder->crtc); in nv04_dfp_update_fp_control()
135 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in nv04_dfp_update_fp_control()
136 nv_crtc = nouveau_crtc(crtc); in nv04_dfp_update_fp_control()
249 int head = nouveau_crtc(encoder->crtc)->index; in nv04_dfp_prepare()
286 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv04_dfp_mode_set()
418 encoder->crtc->primary->fb->depth > connector->display_info.bpc * 3)) { in nv04_dfp_mode_set()
449 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv04_dfp_commit()
452 int head = nouveau_crtc(encoder->crtc)->index; in nv04_dfp_commit()
514 struct drm_crtc *crtc = encoder->crtc; in nv04_lvds_dpms() local
[all …]
Dtvnv04.c89 int head = nouveau_crtc(encoder->crtc)->index; in nv04_tv_dpms()
128 int head = nouveau_crtc(encoder->crtc)->index; in nv04_tv_prepare()
146 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv04_tv_mode_set()
170 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv04_tv_commit()
Dtvnv17.c402 int head = nouveau_crtc(encoder->crtc)->index; in nv17_tv_prepare()
423 !enc->crtc && in nv17_tv_prepare()
463 int head = nouveau_crtc(encoder->crtc)->index; in nv17_tv_mode_set()
576 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv17_tv_commit()
692 struct drm_crtc *crtc = encoder->crtc; in nv17_tv_set_property() local
699 if (encoder->crtc) { in nv17_tv_set_property()
725 if (encoder->crtc) in nv17_tv_set_property()
752 if (crtc) { in nv17_tv_set_property()
754 .crtc = crtc, in nv17_tv_set_property()
Ddisp.h170 struct dcb_output *outp, int crtc) in nouveau_bios_run_init_table() argument
179 .crtc = crtc, in nouveau_bios_run_init_table()
/linux-4.4.14/drivers/gpu/drm/gma500/
Dgma_display.h58 const struct gma_limit_t *(*limit)(struct drm_crtc *crtc, int refclk);
59 bool (*pll_is_valid)(struct drm_crtc *crtc,
65 extern bool gma_pipe_has_type(struct drm_crtc *crtc, int type);
67 extern int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
69 extern int gma_crtc_cursor_set(struct drm_crtc *crtc,
73 extern int gma_crtc_cursor_move(struct drm_crtc *crtc, int x, int y);
74 extern void gma_crtc_load_lut(struct drm_crtc *crtc);
75 extern void gma_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
77 extern void gma_crtc_dpms(struct drm_crtc *crtc, int mode);
78 extern bool gma_crtc_mode_fixup(struct drm_crtc *crtc,
[all …]
Dgma_display.c32 bool gma_pipe_has_type(struct drm_crtc *crtc, int type) in gma_pipe_has_type() argument
34 struct drm_device *dev = crtc->dev; in gma_pipe_has_type()
39 if (l_entry->encoder && l_entry->encoder->crtc == crtc) { in gma_pipe_has_type()
56 int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y, in gma_pipe_set_base() argument
59 struct drm_device *dev = crtc->dev; in gma_pipe_set_base()
61 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in gma_pipe_set_base()
62 struct psb_framebuffer *psbfb = to_psb_fb(crtc->primary->fb); in gma_pipe_set_base()
73 if (!crtc->primary->fb) { in gma_pipe_set_base()
84 offset = y * crtc->primary->fb->pitches[0] + x * (crtc->primary->fb->bits_per_pixel / 8); in gma_pipe_set_base()
86 REG_WRITE(map->stride, crtc->primary->fb->pitches[0]); in gma_pipe_set_base()
[all …]
Doaktrail_crtc.c47 struct drm_crtc *crtc, int target,
51 struct drm_crtc *crtc, int target,
90 static const struct gma_limit_t *mrst_limit(struct drm_crtc *crtc, in mrst_limit() argument
94 struct drm_device *dev = crtc->dev; in mrst_limit()
97 if (gma_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) in mrst_limit()
98 || gma_pipe_has_type(crtc, INTEL_OUTPUT_MIPI)) { in mrst_limit()
110 } else if (gma_pipe_has_type(crtc, INTEL_OUTPUT_SDVO)) { in mrst_limit()
134 struct drm_crtc *crtc, int target, in mrst_sdvo_find_best_pll() argument
191 struct drm_crtc *crtc, int target, in mrst_lvds_find_best_pll() argument
222 static void oaktrail_crtc_dpms(struct drm_crtc *crtc, int mode) in oaktrail_crtc_dpms() argument
[all …]
Dcdv_intel_hdmi.c70 struct drm_crtc *crtc = encoder->crtc; in cdv_hdmi_mode_set() local
71 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_hdmi_mode_set()
159 struct gma_crtc *crtc = to_gma_crtc(encoder->crtc); in cdv_hdmi_set_property() local
163 if (!crtc) in cdv_hdmi_set_property()
191 if (crtc->saved_mode.hdisplay != 0 && in cdv_hdmi_set_property()
192 crtc->saved_mode.vdisplay != 0) { in cdv_hdmi_set_property()
194 if (!drm_crtc_helper_set_mode(encoder->crtc, &crtc->saved_mode, in cdv_hdmi_set_property()
195 encoder->crtc->x, encoder->crtc->y, encoder->crtc->primary->fb)) in cdv_hdmi_set_property()
200 helpers->mode_set(encoder, &crtc->saved_mode, in cdv_hdmi_set_property()
201 &crtc->saved_adjusted_mode); in cdv_hdmi_set_property()
Dpsb_intel_display.c65 static const struct gma_limit_t *psb_intel_limit(struct drm_crtc *crtc, in psb_intel_limit() argument
70 if (gma_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) in psb_intel_limit()
102 static int psb_intel_crtc_mode_set(struct drm_crtc *crtc, in psb_intel_crtc_mode_set() argument
108 struct drm_device *dev = crtc->dev; in psb_intel_crtc_mode_set()
110 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in psb_intel_crtc_mode_set()
111 const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; in psb_intel_crtc_mode_set()
124 if (crtc->primary->fb == NULL) { in psb_intel_crtc_mode_set()
125 crtc_funcs->mode_set_base(crtc, x, y, old_fb); in psb_intel_crtc_mode_set()
133 || connector->encoder->crtc != crtc) in psb_intel_crtc_mode_set()
151 limit = gma_crtc->clock_funcs->limit(crtc, refclk); in psb_intel_crtc_mode_set()
[all …]
Dmdfld_intel_display.c163 static int mdfld__intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, in mdfld__intel_pipe_set_base() argument
166 struct drm_device *dev = crtc->dev; in mdfld__intel_pipe_set_base()
168 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in mdfld__intel_pipe_set_base()
169 struct psb_framebuffer *psbfb = to_psb_fb(crtc->primary->fb); in mdfld__intel_pipe_set_base()
181 if (!crtc->primary->fb) { in mdfld__intel_pipe_set_base()
186 ret = check_fb(crtc->primary->fb); in mdfld__intel_pipe_set_base()
199 offset = y * crtc->primary->fb->pitches[0] + x * (crtc->primary->fb->bits_per_pixel / 8); in mdfld__intel_pipe_set_base()
201 REG_WRITE(map->stride, crtc->primary->fb->pitches[0]); in mdfld__intel_pipe_set_base()
205 switch (crtc->primary->fb->bits_per_pixel) { in mdfld__intel_pipe_set_base()
210 if (crtc->primary->fb->depth == 15) in mdfld__intel_pipe_set_base()
[all …]
Dcdv_intel_display.c33 struct drm_crtc *crtc, int target,
222 cdv_dpll_set_clock_cdv(struct drm_device *dev, struct drm_crtc *crtc, in cdv_dpll_set_clock_cdv() argument
225 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_dpll_set_clock_cdv()
373 static const struct gma_limit_t *cdv_intel_limit(struct drm_crtc *crtc, in cdv_intel_limit() argument
377 if (gma_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { in cdv_intel_limit()
386 } else if (gma_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) || in cdv_intel_limit()
387 gma_pipe_has_type(crtc, INTEL_OUTPUT_EDP)) { in cdv_intel_limit()
411 struct drm_crtc *crtc, int target, in cdv_intel_find_dp_pll() argument
415 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_intel_find_dp_pll()
465 struct drm_crtc *crtc; in cdv_intel_pipe_enabled() local
[all …]
Dpsb_device.c183 struct drm_crtc *crtc; in psb_save_display_registers() local
199 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in psb_save_display_registers()
200 if (drm_helper_crtc_in_use(crtc)) in psb_save_display_registers()
201 crtc->funcs->save(crtc); in psb_save_display_registers()
221 struct drm_crtc *crtc; in psb_restore_display_registers() local
239 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in psb_restore_display_registers()
240 if (drm_helper_crtc_in_use(crtc)) in psb_restore_display_registers()
241 crtc->funcs->restore(crtc); in psb_restore_display_registers()
Dcdv_intel_lvds.c286 && tmp_encoder->crtc == encoder->crtc) { in cdv_intel_lvds_mode_fixup()
359 struct gma_crtc *gma_crtc = to_gma_crtc(encoder->crtc); in cdv_intel_lvds_mode_set()
461 struct gma_crtc *crtc = to_gma_crtc(encoder->crtc); in cdv_intel_lvds_set_property() local
464 if (!crtc) in cdv_intel_lvds_set_property()
491 if (crtc->saved_mode.hdisplay != 0 && in cdv_intel_lvds_set_property()
492 crtc->saved_mode.vdisplay != 0) { in cdv_intel_lvds_set_property()
493 if (!drm_crtc_helper_set_mode(encoder->crtc, in cdv_intel_lvds_set_property()
494 &crtc->saved_mode, in cdv_intel_lvds_set_property()
495 encoder->crtc->x, in cdv_intel_lvds_set_property()
496 encoder->crtc->y, in cdv_intel_lvds_set_property()
[all …]
Dpsb_intel_lvds.c381 struct gma_crtc *gma_crtc = to_gma_crtc(encoder->crtc); in psb_intel_lvds_mode_fixup()
402 && tmp_encoder->crtc == encoder->crtc) { in psb_intel_lvds_mode_fixup()
581 struct gma_crtc *crtc = to_gma_crtc(encoder->crtc); in psb_intel_lvds_set_property() local
584 if (!crtc) in psb_intel_lvds_set_property()
611 if (crtc->saved_mode.hdisplay != 0 && in psb_intel_lvds_set_property()
612 crtc->saved_mode.vdisplay != 0) { in psb_intel_lvds_set_property()
613 if (!drm_crtc_helper_set_mode(encoder->crtc, in psb_intel_lvds_set_property()
614 &crtc->saved_mode, in psb_intel_lvds_set_property()
615 encoder->crtc->x, in psb_intel_lvds_set_property()
616 encoder->crtc->y, in psb_intel_lvds_set_property()
[all …]
Dcdv_device.h28 struct drm_crtc *crtc);
29 extern void cdv_update_wm(struct drm_device *dev, struct drm_crtc *crtc);
Doaktrail_hdmi.c174 static void oaktrail_hdmi_find_dpll(struct drm_crtc *crtc, int target, in oaktrail_hdmi_find_dpll() argument
259 int oaktrail_crtc_hdmi_mode_set(struct drm_crtc *crtc, in oaktrail_crtc_hdmi_mode_set() argument
265 struct drm_device *dev = crtc->dev; in oaktrail_crtc_hdmi_mode_set()
304 oaktrail_hdmi_find_dpll(crtc, adjusted_mode->clock, refclk, &clock); in oaktrail_crtc_hdmi_mode_set()
350 const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; in oaktrail_crtc_hdmi_mode_set()
351 crtc_funcs->mode_set_base(crtc, x, y, old_fb); in oaktrail_crtc_hdmi_mode_set()
379 void oaktrail_crtc_hdmi_dpms(struct drm_crtc *crtc, int mode) in oaktrail_crtc_hdmi_dpms() argument
381 struct drm_device *dev = crtc->dev; in oaktrail_crtc_hdmi_dpms()
467 gma_crtc_load_lut(crtc); in oaktrail_crtc_hdmi_dpms()
Dcdv_intel_crt.c90 struct drm_crtc *crtc = encoder->crtc; in cdv_intel_crt_mode_set() local
91 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_intel_crt_mode_set()
Dmdfld_dsi_output.c252 struct gma_crtc *gma_crtc = to_gma_crtc(encoder->crtc); in mdfld_dsi_connector_set_property()
286 if (!drm_crtc_helper_set_mode(encoder->crtc, in mdfld_dsi_connector_set_property()
288 encoder->crtc->x, in mdfld_dsi_connector_set_property()
289 encoder->crtc->y, in mdfld_dsi_connector_set_property()
290 encoder->crtc->primary->fb)) in mdfld_dsi_connector_set_property()
Dcdv_intel_dp.c985 cdv_intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, in cdv_intel_dp_set_m_n() argument
988 struct drm_device *dev = crtc->dev; in cdv_intel_dp_set_m_n()
992 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_intel_dp_set_m_n()
1004 if (encoder->crtc != crtc) in cdv_intel_dp_set_m_n()
1042 struct drm_crtc *crtc = encoder->crtc; in cdv_intel_dp_mode_set() local
1043 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_intel_dp_mode_set()
1886 if (encoder->base.crtc) { in cdv_intel_dp_set_property()
1887 struct drm_crtc *crtc = encoder->base.crtc; in cdv_intel_dp_set_property() local
1888 drm_crtc_helper_set_mode(crtc, &crtc->mode, in cdv_intel_dp_set_property()
1889 crtc->x, crtc->y, in cdv_intel_dp_set_property()
[all …]
Doaktrail_lvds.c100 struct drm_crtc *crtc = encoder->crtc; in oaktrail_lvds_mode_set() local
126 if (!connector->encoder || connector->encoder->crtc != crtc) in oaktrail_lvds_mode_set()
/linux-4.4.14/include/drm/
Ddrm_crtc_helper.h80 void (*dpms)(struct drm_crtc *crtc, int mode);
81 void (*prepare)(struct drm_crtc *crtc);
82 void (*commit)(struct drm_crtc *crtc);
85 bool (*mode_fixup)(struct drm_crtc *crtc,
89 int (*mode_set)(struct drm_crtc *crtc, struct drm_display_mode *mode,
93 void (*mode_set_nofb)(struct drm_crtc *crtc);
96 int (*mode_set_base)(struct drm_crtc *crtc, int x, int y,
98 int (*mode_set_base_atomic)(struct drm_crtc *crtc,
103 void (*load_lut)(struct drm_crtc *crtc);
105 void (*disable)(struct drm_crtc *crtc);
[all …]
Ddrm_atomic_helper.h71 struct drm_crtc *crtc,
84 int drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc,
93 int drm_atomic_helper_page_flip(struct drm_crtc *crtc,
101 void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc);
102 void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
105 drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc);
106 void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
108 void drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
146 #define drm_atomic_crtc_for_each_plane(plane, crtc) \ argument
147 drm_for_each_plane_mask(plane, (crtc)->dev, (crtc)->state->plane_mask)
[all …]
Ddrm_atomic.h45 struct drm_crtc *crtc);
46 int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
72 struct drm_crtc *crtc) in drm_atomic_get_existing_crtc_state() argument
74 return state->crtc_states[drm_crtc_index(crtc)]; in drm_atomic_get_existing_crtc_state()
120 struct drm_crtc *crtc);
125 struct drm_crtc *crtc);
128 struct drm_crtc *crtc);
131 struct drm_crtc *crtc);
135 struct drm_crtc *crtc);
154 #define for_each_crtc_in_state(state, crtc, crtc_state, __i) \ argument
[all …]
Ddrm_crtc.h278 struct drm_crtc *crtc; member
343 void (*save)(struct drm_crtc *crtc); /* suspend? */
345 void (*restore)(struct drm_crtc *crtc); /* resume? */
347 void (*reset)(struct drm_crtc *crtc);
350 int (*cursor_set)(struct drm_crtc *crtc, struct drm_file *file_priv,
352 int (*cursor_set2)(struct drm_crtc *crtc, struct drm_file *file_priv,
355 int (*cursor_move)(struct drm_crtc *crtc, int x, int y);
358 void (*gamma_set)(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
361 void (*destroy)(struct drm_crtc *crtc);
374 int (*page_flip)(struct drm_crtc *crtc,
[all …]
Ddrm_plane_helper.h46 int drm_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
80 struct drm_crtc *crtc,
91 struct drm_crtc *crtc,
101 int drm_plane_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
DdrmP.h947 extern u32 drm_crtc_vblank_count(struct drm_crtc *crtc);
950 extern u32 drm_crtc_vblank_count_and_time(struct drm_crtc *crtc,
954 extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
958 extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
961 extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
964 extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
965 extern void drm_crtc_vblank_put(struct drm_crtc *crtc);
967 extern void drm_crtc_wait_one_vblank(struct drm_crtc *crtc);
970 extern void drm_crtc_vblank_off(struct drm_crtc *crtc);
971 extern void drm_crtc_vblank_reset(struct drm_crtc *crtc);
[all …]
Ddrm_modeset_lock.h134 void drm_modeset_lock_crtc(struct drm_crtc *crtc,
136 void drm_modeset_unlock_crtc(struct drm_crtc *crtc);
139 drm_modeset_legacy_acquire_ctx(struct drm_crtc *crtc);
/linux-4.4.14/drivers/staging/sm750fb/
Dsm750.c112 struct lynxfb_crtc *crtc; in lynxfb_ops_cursor() local
116 crtc = &par->crtc; in lynxfb_ops_cursor()
117 cursor = &crtc->cursor; in lynxfb_ops_cursor()
182 base = par->crtc.oScreen; in lynxfb_ops_fillrect()
220 base = par->crtc.oScreen; in lynxfb_ops_copyarea()
254 base = par->crtc.oScreen; in lynxfb_ops_imageblit()
294 struct lynxfb_crtc *crtc; in lynxfb_ops_pan_display() local
300 crtc = &par->crtc; in lynxfb_ops_pan_display()
301 return hw_sm750_pan_display(crtc, var, info); in lynxfb_ops_pan_display()
307 struct lynxfb_crtc *crtc; in lynxfb_ops_set_par() local
[all …]
Dsm750_hw.c221 int hw_sm750_crtc_checkMode(struct lynxfb_crtc *crtc, struct fb_var_screeninfo *var) in hw_sm750_crtc_checkMode() argument
224 struct lynxfb_par *par = container_of(crtc, struct lynxfb_par, crtc); in hw_sm750_crtc_checkMode()
250 int hw_sm750_crtc_setMode(struct lynxfb_crtc *crtc, in hw_sm750_crtc_setMode() argument
263 par = container_of(crtc, struct lynxfb_par, crtc); in hw_sm750_crtc_setMode()
298 if (crtc->channel != sm750_secondary) in hw_sm750_crtc_setMode()
310 if (crtc->channel != sm750_secondary) { in hw_sm750_crtc_setMode()
315 FIELD_VALUE(0, PANEL_FB_ADDRESS, ADDRESS, crtc->oScreen)); in hw_sm750_crtc_setMode()
319 reg = ALIGN(reg, crtc->line_pad); in hw_sm750_crtc_setMode()
348 POKE32(CRT_FB_ADDRESS, crtc->oScreen); in hw_sm750_crtc_setMode()
351 reg = ALIGN(reg, crtc->line_pad); in hw_sm750_crtc_setMode()
[all …]
Dsm750.h170 struct lynxfb_crtc crtc; member
198 int hw_sm750_pan_display(struct lynxfb_crtc *crtc,
/linux-4.4.14/drivers/gpu/drm/virtio/
Dvirtgpu_display.c41 static void virtio_gpu_crtc_gamma_set(struct drm_crtc *crtc, in virtio_gpu_crtc_gamma_set() argument
57 static int virtio_gpu_crtc_cursor_set(struct drm_crtc *crtc, in virtio_gpu_crtc_cursor_set() argument
64 struct virtio_gpu_device *vgdev = crtc->dev->dev_private; in virtio_gpu_crtc_cursor_set()
66 container_of(crtc, struct virtio_gpu_output, crtc); in virtio_gpu_crtc_cursor_set()
78 gobj = drm_gem_object_lookup(crtc->dev, file_priv, handle); in virtio_gpu_crtc_cursor_set()
114 static int virtio_gpu_crtc_cursor_move(struct drm_crtc *crtc, in virtio_gpu_crtc_cursor_move() argument
117 struct virtio_gpu_device *vgdev = crtc->dev->dev_private; in virtio_gpu_crtc_cursor_move()
119 container_of(crtc, struct virtio_gpu_output, crtc); in virtio_gpu_crtc_cursor_move()
128 static int virtio_gpu_page_flip(struct drm_crtc *crtc, in virtio_gpu_page_flip() argument
133 struct virtio_gpu_device *vgdev = crtc->dev->dev_private; in virtio_gpu_page_flip()
[all …]
/linux-4.4.14/drivers/gpu/drm/vmwgfx/
Dvmwgfx_ldu.c33 container_of(x, struct vmw_legacy_display_unit, base.crtc)
69 static void vmw_ldu_crtc_destroy(struct drm_crtc *crtc) in vmw_ldu_crtc_destroy() argument
71 vmw_ldu_destroy(vmw_crtc_to_ldu(crtc)); in vmw_ldu_crtc_destroy()
80 struct drm_crtc *crtc = NULL; in vmw_ldu_commit_list() local
89 crtc = &entry->base.crtc; in vmw_ldu_commit_list()
90 w = max(w, crtc->x + crtc->mode.hdisplay); in vmw_ldu_commit_list()
91 h = max(h, crtc->y + crtc->mode.vdisplay); in vmw_ldu_commit_list()
95 if (crtc == NULL) in vmw_ldu_commit_list()
97 fb = entry->base.crtc.primary->fb; in vmw_ldu_commit_list()
105 fb = entry->base.crtc.primary->fb; in vmw_ldu_commit_list()
[all …]
Dvmwgfx_scrn.c33 container_of(x, struct vmw_screen_object_unit, base.crtc)
114 static void vmw_sou_crtc_destroy(struct drm_crtc *crtc) in vmw_sou_crtc_destroy() argument
116 vmw_sou_destroy(vmw_crtc_to_sou(crtc)); in vmw_sou_crtc_destroy()
299 struct drm_crtc *crtc; in vmw_sou_crtc_set_config() local
305 if (!set->crtc) in vmw_sou_crtc_set_config()
309 crtc = set->crtc; in vmw_sou_crtc_set_config()
310 sou = vmw_crtc_to_sou(crtc); in vmw_sou_crtc_set_config()
312 dev_priv = vmw_priv(crtc->dev); in vmw_sou_crtc_set_config()
348 encoder->crtc = NULL; in vmw_sou_crtc_set_config()
349 crtc->primary->fb = NULL; in vmw_sou_crtc_set_config()
[all …]
Dvmwgfx_stdu.c33 container_of(x, struct vmw_screen_target_display_unit, base.crtc)
178 static void vmw_stdu_crtc_destroy(struct drm_crtc *crtc) in vmw_stdu_crtc_destroy() argument
180 vmw_stdu_destroy(vmw_crtc_to_stdu(crtc)); in vmw_stdu_crtc_destroy()
218 cmd->body.xRoot = stdu->base.crtc.x; in vmw_stdu_define_st()
219 cmd->body.yRoot = stdu->base.crtc.y; in vmw_stdu_define_st()
326 struct drm_crtc *crtc = &stdu->base.crtc; in vmw_stdu_update_st() local
340 vmw_stdu_populate_update(cmd, stdu->base.unit, 0, crtc->mode.hdisplay, in vmw_stdu_update_st()
341 0, crtc->mode.vdisplay); in vmw_stdu_update_st()
417 struct drm_crtc *crtc; in vmw_stdu_crtc_set_config() local
423 if (!set || !set->crtc) in vmw_stdu_crtc_set_config()
[all …]
Dvmwgfx_kms.c41 drm_crtc_cleanup(&du->crtc); in vmw_du_cleanup()
140 int vmw_du_crtc_cursor_set2(struct drm_crtc *crtc, struct drm_file *file_priv, in vmw_du_crtc_cursor_set2() argument
144 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_cursor_set2()
145 struct vmw_display_unit *du = vmw_crtc_to_du(crtc); in vmw_du_crtc_cursor_set2()
158 drm_modeset_unlock_crtc(crtc); in vmw_du_crtc_cursor_set2()
191 du->cursor_surface->snooper.crtc = NULL; in vmw_du_crtc_cursor_set2()
203 du->cursor_surface->snooper.crtc = crtc; in vmw_du_crtc_cursor_set2()
228 drm_modeset_lock_crtc(crtc, crtc->cursor); in vmw_du_crtc_cursor_set2()
233 int vmw_du_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) in vmw_du_crtc_cursor_move() argument
235 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_cursor_move()
[all …]
Dvmwgfx_kms.h149 struct drm_crtc crtc; member
184 container_of(x, struct vmw_display_unit, crtc)
193 void vmw_du_crtc_save(struct drm_crtc *crtc);
194 void vmw_du_crtc_restore(struct drm_crtc *crtc);
195 void vmw_du_crtc_gamma_set(struct drm_crtc *crtc,
198 int vmw_du_crtc_cursor_set2(struct drm_crtc *crtc, struct drm_file *file_priv,
201 int vmw_du_crtc_cursor_move(struct drm_crtc *crtc, int x, int y);
/linux-4.4.14/drivers/gpu/drm/bochs/
Dbochs_kms.c21 static void bochs_crtc_dpms(struct drm_crtc *crtc, int mode) in bochs_crtc_dpms() argument
33 static bool bochs_crtc_mode_fixup(struct drm_crtc *crtc, in bochs_crtc_mode_fixup() argument
40 static int bochs_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, in bochs_crtc_mode_set_base() argument
44 container_of(crtc, struct bochs_device, crtc); in bochs_crtc_mode_set_base()
62 if (WARN_ON(crtc->primary->fb == NULL)) in bochs_crtc_mode_set_base()
65 bochs_fb = to_bochs_framebuffer(crtc->primary->fb); in bochs_crtc_mode_set_base()
82 static int bochs_crtc_mode_set(struct drm_crtc *crtc, in bochs_crtc_mode_set() argument
88 container_of(crtc, struct bochs_device, crtc); in bochs_crtc_mode_set()
91 bochs_crtc_mode_set_base(crtc, x, y, old_fb); in bochs_crtc_mode_set()
95 static void bochs_crtc_prepare(struct drm_crtc *crtc) in bochs_crtc_prepare() argument
[all …]
/linux-4.4.14/drivers/gpu/drm/shmobile/
Dshmob_drm_crtc.c74 struct drm_crtc *crtc = &scrtc->crtc; in shmob_drm_crtc_setup_geometry() local
75 struct shmob_drm_device *sdev = crtc->dev->dev_private; in shmob_drm_crtc_setup_geometry()
77 const struct drm_display_mode *mode = &crtc->mode; in shmob_drm_crtc_setup_geometry()
132 struct shmob_drm_device *sdev = scrtc->crtc.dev->dev_private; in shmob_drm_crtc_start_stop()
165 struct drm_crtc *crtc = &scrtc->crtc; in shmob_drm_crtc_start() local
166 struct shmob_drm_device *sdev = crtc->dev->dev_private; in shmob_drm_crtc_start()
177 format = shmob_drm_format_info(crtc->primary->fb->pixel_format); in shmob_drm_crtc_start()
252 if (plane->crtc == crtc) in shmob_drm_crtc_start()
266 struct drm_crtc *crtc = &scrtc->crtc; in shmob_drm_crtc_stop() local
267 struct shmob_drm_device *sdev = crtc->dev->dev_private; in shmob_drm_crtc_stop()
[all …]
Dshmob_drm_drv.c207 shmob_drm_crtc_cancel_page_flip(&sdev->crtc, file); in shmob_drm_preclose()
228 shmob_drm_crtc_finish_page_flip(&sdev->crtc); in shmob_drm_irq()
307 shmob_drm_crtc_suspend(&sdev->crtc); in shmob_drm_pm_suspend()
317 shmob_drm_crtc_resume(&sdev->crtc); in shmob_drm_pm_resume()
Dshmob_drm_drv.h42 struct shmob_drm_crtc crtc; member
/linux-4.4.14/drivers/gpu/drm/ast/
Dast_mode.c41 static int ast_cursor_set(struct drm_crtc *crtc,
46 static int ast_cursor_move(struct drm_crtc *crtc,
63 static void ast_crtc_load_lut(struct drm_crtc *crtc) in ast_crtc_load_lut() argument
65 struct ast_private *ast = crtc->dev->dev_private; in ast_crtc_load_lut()
66 struct ast_crtc *ast_crtc = to_ast_crtc(crtc); in ast_crtc_load_lut()
69 if (!crtc->enabled) in ast_crtc_load_lut()
77 static bool ast_get_vbios_mode_info(struct drm_crtc *crtc, struct drm_display_mode *mode, in ast_get_vbios_mode_info() argument
81 struct ast_private *ast = crtc->dev->dev_private; in ast_get_vbios_mode_info()
87 switch (crtc->primary->fb->bits_per_pixel) { in ast_get_vbios_mode_info()
105 switch (crtc->mode.crtc_hdisplay) { in ast_get_vbios_mode_info()
[all …]
Dast_fb.c264 static void ast_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, in ast_fb_gamma_set() argument
267 struct ast_crtc *ast_crtc = to_ast_crtc(crtc); in ast_fb_gamma_set()
273 static void ast_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, in ast_fb_gamma_get() argument
276 struct ast_crtc *ast_crtc = to_ast_crtc(crtc); in ast_fb_gamma_get()
/linux-4.4.14/drivers/gpu/drm/amd/amdgpu/
Datombios_crtc.h27 void amdgpu_atombios_crtc_overscan_setup(struct drm_crtc *crtc,
30 void amdgpu_atombios_crtc_scaler_setup(struct drm_crtc *crtc);
31 void amdgpu_atombios_crtc_lock(struct drm_crtc *crtc, int lock);
32 void amdgpu_atombios_crtc_enable(struct drm_crtc *crtc, int state);
33 void amdgpu_atombios_crtc_blank(struct drm_crtc *crtc, int state);
34 void amdgpu_atombios_crtc_powergate(struct drm_crtc *crtc, int state);
36 void amdgpu_atombios_crtc_set_dtd_timing(struct drm_crtc *crtc,
40 void amdgpu_atombios_crtc_program_pll(struct drm_crtc *crtc,
53 int amdgpu_atombios_crtc_prepare_pll(struct drm_crtc *crtc,
55 void amdgpu_atombios_crtc_set_pll(struct drm_crtc *crtc,
Ddce_v8_0.c141 static bool dce_v8_0_is_in_vblank(struct amdgpu_device *adev, int crtc) in dce_v8_0_is_in_vblank() argument
143 if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) & in dce_v8_0_is_in_vblank()
150 static bool dce_v8_0_is_counter_moving(struct amdgpu_device *adev, int crtc) in dce_v8_0_is_counter_moving() argument
154 pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]); in dce_v8_0_is_counter_moving()
155 pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]); in dce_v8_0_is_counter_moving()
171 static void dce_v8_0_vblank_wait(struct amdgpu_device *adev, int crtc) in dce_v8_0_vblank_wait() argument
175 if (crtc >= adev->mode_info.num_crtc) in dce_v8_0_vblank_wait()
178 if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK)) in dce_v8_0_vblank_wait()
184 while (dce_v8_0_is_in_vblank(adev, crtc)) { in dce_v8_0_vblank_wait()
186 if (!dce_v8_0_is_counter_moving(adev, crtc)) in dce_v8_0_vblank_wait()
[all …]
Damdgpu_display.c73 struct drm_crtc *crtc = &amdgpuCrtc->base; in amdgpu_flip_work_func() local
77 struct drm_vblank_crtc *vblank = &crtc->dev->vblank[work->crtc_id]; in amdgpu_flip_work_func()
84 spin_lock_irqsave(&crtc->dev->event_lock, flags); in amdgpu_flip_work_func()
107 &crtc->hwmode); in amdgpu_flip_work_func()
121 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); in amdgpu_flip_work_func()
123 spin_lock_irqsave(&crtc->dev->event_lock, flags); in amdgpu_flip_work_func()
138 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); in amdgpu_flip_work_func()
166 int amdgpu_crtc_page_flip(struct drm_crtc *crtc, in amdgpu_crtc_page_flip() argument
171 struct drm_device *dev = crtc->dev; in amdgpu_crtc_page_flip()
173 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_crtc_page_flip()
[all …]
Ddce_v11_0.c182 static bool dce_v11_0_is_in_vblank(struct amdgpu_device *adev, int crtc) in dce_v11_0_is_in_vblank() argument
184 if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) & in dce_v11_0_is_in_vblank()
191 static bool dce_v11_0_is_counter_moving(struct amdgpu_device *adev, int crtc) in dce_v11_0_is_counter_moving() argument
195 pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]); in dce_v11_0_is_counter_moving()
196 pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]); in dce_v11_0_is_counter_moving()
212 static void dce_v11_0_vblank_wait(struct amdgpu_device *adev, int crtc) in dce_v11_0_vblank_wait() argument
216 if (crtc >= adev->mode_info.num_crtc) in dce_v11_0_vblank_wait()
219 if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK)) in dce_v11_0_vblank_wait()
225 while (dce_v11_0_is_in_vblank(adev, crtc)) { in dce_v11_0_vblank_wait()
227 if (!dce_v11_0_is_counter_moving(adev, crtc)) in dce_v11_0_vblank_wait()
[all …]
Ddce_v10_0.c192 static bool dce_v10_0_is_in_vblank(struct amdgpu_device *adev, int crtc) in dce_v10_0_is_in_vblank() argument
194 if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) & in dce_v10_0_is_in_vblank()
201 static bool dce_v10_0_is_counter_moving(struct amdgpu_device *adev, int crtc) in dce_v10_0_is_counter_moving() argument
205 pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]); in dce_v10_0_is_counter_moving()
206 pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]); in dce_v10_0_is_counter_moving()
222 static void dce_v10_0_vblank_wait(struct amdgpu_device *adev, int crtc) in dce_v10_0_vblank_wait() argument
226 if (crtc >= adev->mode_info.num_crtc) in dce_v10_0_vblank_wait()
229 if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK)) in dce_v10_0_vblank_wait()
235 while (dce_v10_0_is_in_vblank(adev, crtc)) { in dce_v10_0_vblank_wait()
237 if (!dce_v10_0_is_counter_moving(adev, crtc)) in dce_v10_0_vblank_wait()
[all …]
Datombios_crtc.c38 void amdgpu_atombios_crtc_overscan_setup(struct drm_crtc *crtc, in amdgpu_atombios_crtc_overscan_setup() argument
42 struct drm_device *dev = crtc->dev; in amdgpu_atombios_crtc_overscan_setup()
44 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_atombios_crtc_overscan_setup()
83 void amdgpu_atombios_crtc_scaler_setup(struct drm_crtc *crtc) in amdgpu_atombios_crtc_scaler_setup() argument
85 struct drm_device *dev = crtc->dev; in amdgpu_atombios_crtc_scaler_setup()
87 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_atombios_crtc_scaler_setup()
112 void amdgpu_atombios_crtc_lock(struct drm_crtc *crtc, int lock) in amdgpu_atombios_crtc_lock() argument
114 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_atombios_crtc_lock()
115 struct drm_device *dev = crtc->dev; in amdgpu_atombios_crtc_lock()
129 void amdgpu_atombios_crtc_enable(struct drm_crtc *crtc, int state) in amdgpu_atombios_crtc_enable() argument
[all …]
Damdgpu_pll.c259 u32 amdgpu_pll_get_use_mask(struct drm_crtc *crtc) in amdgpu_pll_get_use_mask() argument
261 struct drm_device *dev = crtc->dev; in amdgpu_pll_get_use_mask()
267 if (crtc == test_crtc) in amdgpu_pll_get_use_mask()
286 int amdgpu_pll_get_shared_dp_ppll(struct drm_crtc *crtc) in amdgpu_pll_get_shared_dp_ppll() argument
288 struct drm_device *dev = crtc->dev; in amdgpu_pll_get_shared_dp_ppll()
293 if (crtc == test_crtc) in amdgpu_pll_get_shared_dp_ppll()
315 int amdgpu_pll_get_shared_nondp_ppll(struct drm_crtc *crtc) in amdgpu_pll_get_shared_nondp_ppll() argument
317 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_pll_get_shared_nondp_ppll()
318 struct drm_device *dev = crtc->dev; in amdgpu_pll_get_shared_nondp_ppll()
329 if (crtc == test_crtc) in amdgpu_pll_get_shared_nondp_ppll()
[all …]
Damdgpu_pll.h34 u32 amdgpu_pll_get_use_mask(struct drm_crtc *crtc);
35 int amdgpu_pll_get_shared_dp_ppll(struct drm_crtc *crtc);
36 int amdgpu_pll_get_shared_nondp_ppll(struct drm_crtc *crtc);
Damdgpu_mode.h268 u32 (*vblank_get_counter)(struct amdgpu_device *adev, int crtc);
270 void (*vblank_wait)(struct amdgpu_device *adev, int crtc);
286 int (*page_flip_get_scanoutpos)(struct amdgpu_device *adev, int crtc,
566 bool amdgpu_crtc_scaling_mode_fixup(struct drm_crtc *crtc,
571 int amdgpu_crtc_idx_to_irq_type(struct amdgpu_device *adev, int crtc);
590 int amdgpu_crtc_page_flip(struct drm_crtc *crtc,
Damdgpu_kms.c167 struct drm_crtc *crtc; in amdgpu_info_ioctl() local
181 crtc = (struct drm_crtc *)minfo->crtcs[i]; in amdgpu_info_ioctl()
182 if (crtc && crtc->base.id == info->mode_crtc.id) { in amdgpu_info_ioctl()
183 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_info_ioctl()
720 struct drm_crtc *crtc; in amdgpu_get_vblank_timestamp_kms() local
729 crtc = &adev->mode_info.crtcs[pipe]->base; in amdgpu_get_vblank_timestamp_kms()
734 &crtc->hwmode); in amdgpu_get_vblank_timestamp_kms()
Damdgpu_fb.c300 static void amdgpu_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, in amdgpu_crtc_fb_gamma_set() argument
303 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_crtc_fb_gamma_set()
311 static void amdgpu_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, in amdgpu_crtc_fb_gamma_get() argument
314 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); in amdgpu_crtc_fb_gamma_get()
/linux-4.4.14/drivers/gpu/drm/imx/
Dimx-drm-core.c42 struct imx_drm_crtc *crtc[MAX_CRTC]; member
48 struct drm_crtc *crtc; member
56 int imx_drm_crtc_id(struct imx_drm_crtc *crtc) in imx_drm_crtc_id() argument
58 return crtc->pipe; in imx_drm_crtc_id()
94 static struct imx_drm_crtc *imx_drm_find_crtc(struct drm_crtc *crtc) in imx_drm_find_crtc() argument
96 struct imx_drm_device *imxdrm = crtc->dev->dev_private; in imx_drm_find_crtc()
100 if (imxdrm->crtc[i] && imxdrm->crtc[i]->crtc == crtc) in imx_drm_find_crtc()
101 return imxdrm->crtc[i]; in imx_drm_find_crtc()
112 imx_crtc = imx_drm_find_crtc(encoder->crtc); in imx_drm_set_bus_format_pins()
118 return helper->set_interface_pix_fmt(encoder->crtc, in imx_drm_set_bus_format_pins()
[all …]
Dipuv3-crtc.c87 static void ipu_crtc_dpms(struct drm_crtc *crtc, int mode) in ipu_crtc_dpms() argument
89 struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); in ipu_crtc_dpms()
105 static int ipu_page_flip(struct drm_crtc *crtc, in ipu_page_flip() argument
110 struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); in ipu_page_flip()
126 crtc->primary->fb = fb; in ipu_page_flip()
137 static int ipu_crtc_mode_set(struct drm_crtc *crtc, in ipu_crtc_mode_set() argument
143 struct drm_device *dev = crtc->dev; in ipu_crtc_mode_set()
145 struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); in ipu_crtc_mode_set()
156 if (encoder->crtc == crtc) in ipu_crtc_mode_set()
201 return ipu_plane_mode_set(ipu_crtc->plane[0], crtc, mode, in ipu_crtc_mode_set()
[all …]
Dimx-drm.h16 int imx_drm_crtc_id(struct imx_drm_crtc *crtc);
19 int (*enable_vblank)(struct drm_crtc *crtc);
20 void (*disable_vblank)(struct drm_crtc *crtc);
21 int (*set_interface_pix_fmt)(struct drm_crtc *crtc,
27 int imx_drm_add_crtc(struct drm_device *drm, struct drm_crtc *crtc,
Dipuv3-plane.c106 int ipu_plane_mode_set(struct ipu_plane *ipu_plane, struct drm_crtc *crtc, in ipu_plane_mode_set() argument
315 static int ipu_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, in ipu_update_plane() argument
331 ret = ipu_plane_mode_set(ipu_plane, crtc, &crtc->hwmode, fb, in ipu_update_plane()
340 if (crtc != plane->crtc) in ipu_update_plane()
342 plane->crtc, crtc); in ipu_update_plane()
343 plane->crtc = crtc; in ipu_update_plane()
DMakefile10 imx-ipuv3-crtc-objs := ipuv3-crtc.o ipuv3-plane.o
11 obj-$(CONFIG_DRM_IMX_IPUV3) += imx-ipuv3-crtc.o
/linux-4.4.14/drivers/gpu/drm/armada/
Darmada_crtc.c154 if (dcrtc->crtc.mode.flags & DRM_MODE_FLAG_NCSYNC) in armada_drm_crtc_update()
156 if (dcrtc->crtc.mode.flags & DRM_MODE_FLAG_NHSYNC) in armada_drm_crtc_update()
158 if (dcrtc->crtc.mode.flags & DRM_MODE_FLAG_NVSYNC) in armada_drm_crtc_update()
202 drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); in armada_drm_plane_work_run()
213 ret = drm_vblank_get(dcrtc->crtc.dev, dcrtc->num); in armada_drm_plane_work_queue()
221 drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); in armada_drm_plane_work_queue()
237 drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); in armada_drm_plane_work_cancel()
245 struct armada_plane *plane = drm_to_armada_plane(dcrtc->crtc.primary); in armada_drm_crtc_queue_frame_work()
254 struct drm_device *dev = dcrtc->crtc.dev; in armada_drm_crtc_complete_frame_work()
268 __armada_drm_queue_unref_work(dcrtc->crtc.dev, fwork->old_fb); in armada_drm_crtc_complete_frame_work()
[all …]
Darmada_overlay.c95 armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, in armada_ovl_plane_update() argument
101 struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc); in armada_ovl_plane_update()
115 .x2 = crtc->mode.hdisplay, in armada_ovl_plane_update()
116 .y2 = crtc->mode.vdisplay, in armada_ovl_plane_update()
123 ret = drm_plane_helper_check_update(plane, crtc, fb, &src, &dest, &clip, in armada_ovl_plane_update()
268 if (!dplane->base.base.crtc) in armada_ovl_plane_disable()
271 dcrtc = drm_to_armada_crtc(dplane->base.base.crtc); in armada_ovl_plane_disable()
356 if (update_attr && dplane->base.base.crtc) in armada_ovl_plane_set_property()
358 drm_to_armada_crtc(dplane->base.base.crtc)); in armada_ovl_plane_set_property()
Darmada_crtc.h59 struct drm_crtc crtc; member
93 #define drm_to_armada_crtc(c) container_of(c, struct armada_crtc, crtc)
/linux-4.4.14/drivers/gpu/drm/cirrus/
Dcirrus_mode.c34 static void cirrus_crtc_load_lut(struct drm_crtc *crtc) in cirrus_crtc_load_lut() argument
36 struct cirrus_crtc *cirrus_crtc = to_cirrus_crtc(crtc); in cirrus_crtc_load_lut()
37 struct drm_device *dev = crtc->dev; in cirrus_crtc_load_lut()
41 if (!crtc->enabled) in cirrus_crtc_load_lut()
58 static void cirrus_crtc_dpms(struct drm_crtc *crtc, int mode) in cirrus_crtc_dpms() argument
60 struct drm_device *dev = crtc->dev; in cirrus_crtc_dpms()
99 static bool cirrus_crtc_mode_fixup(struct drm_crtc *crtc, in cirrus_crtc_mode_fixup() argument
106 static void cirrus_set_start_address(struct drm_crtc *crtc, unsigned offset) in cirrus_set_start_address() argument
108 struct cirrus_device *cdev = crtc->dev->dev_private; in cirrus_set_start_address()
130 static int cirrus_crtc_do_set_base(struct drm_crtc *crtc, in cirrus_crtc_do_set_base() argument
[all …]
Dcirrus_drv.h106 struct cirrus_crtc *crtc; member
184 void cirrus_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
186 void cirrus_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
/linux-4.4.14/drivers/gpu/drm/udl/
Dudl_modeset.c230 static int udl_crtc_write_mode_to_hw(struct drm_crtc *crtc) in udl_crtc_write_mode_to_hw() argument
232 struct drm_device *dev = crtc->dev; in udl_crtc_write_mode_to_hw()
251 static void udl_crtc_dpms(struct drm_crtc *crtc, int mode) in udl_crtc_dpms() argument
253 struct drm_device *dev = crtc->dev; in udl_crtc_dpms()
277 udl_crtc_write_mode_to_hw(crtc); in udl_crtc_dpms()
282 static bool udl_crtc_mode_fixup(struct drm_crtc *crtc, in udl_crtc_mode_fixup() argument
292 udl_pipe_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb,
299 udl_pipe_set_base(struct drm_crtc *crtc, int x, int y,
306 static int udl_crtc_mode_set(struct drm_crtc *crtc, in udl_crtc_mode_set() argument
313 struct drm_device *dev = crtc->dev; in udl_crtc_mode_set()
[all …]
/linux-4.4.14/drivers/gpu/drm/nouveau/
Dnouveau_display.c56 struct drm_crtc *crtc; in nouveau_display_vblank_enable() local
57 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in nouveau_display_vblank_enable()
58 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nouveau_display_vblank_enable()
70 struct drm_crtc *crtc; in nouveau_display_vblank_disable() local
71 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in nouveau_display_vblank_disable()
72 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nouveau_display_vblank_disable()
95 nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos, in nouveau_display_scanoutpos_head() argument
103 .base.head = nouveau_crtc(crtc)->index, in nouveau_display_scanoutpos_head()
105 struct nouveau_display *disp = nouveau_display(crtc->dev); in nouveau_display_scanoutpos_head()
106 struct drm_vblank_crtc *vblank = &crtc->dev->vblank[drm_crtc_index(crtc)]; in nouveau_display_scanoutpos_head()
[all …]
Dnouveau_crtc.h73 int (*set_dither)(struct nouveau_crtc *crtc, bool update);
74 int (*set_scale)(struct nouveau_crtc *crtc, bool update);
75 int (*set_color_vibrance)(struct nouveau_crtc *crtc, bool update);
78 static inline struct nouveau_crtc *nouveau_crtc(struct drm_crtc *crtc) in nouveau_crtc() argument
80 return crtc ? container_of(crtc, struct nouveau_crtc, base) : NULL; in nouveau_crtc()
83 static inline struct drm_crtc *to_drm_crtc(struct nouveau_crtc *crtc) in to_drm_crtc() argument
85 return &crtc->base; in to_drm_crtc()
Dnv50_display.c415 return nouveau_encoder(encoder)->crtc; in nv50_display_crtc_get()
510 nv50_display_crtc_sema(struct drm_device *dev, int crtc) in nv50_display_crtc_sema() argument
532 nv50_display_flip_stop(struct drm_crtc *crtc) in nv50_display_flip_stop() argument
534 struct nvif_device *device = &nouveau_drm(crtc->dev)->device; in nv50_display_flip_stop()
536 .disp = nv50_disp(crtc->dev), in nv50_display_flip_stop()
537 .chan = nv50_sync(crtc), in nv50_display_flip_stop()
561 nv50_display_flip_next(struct drm_crtc *crtc, struct drm_framebuffer *fb, in nv50_display_flip_next() argument
565 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_display_flip_next()
566 struct nv50_head *head = nv50_head(crtc); in nv50_display_flip_next()
567 struct nv50_sync *sync = nv50_sync(crtc); in nv50_display_flip_next()
[all …]
Dnouveau_connector.h96 struct drm_crtc *crtc = to_drm_crtc(nv_crtc); in nouveau_crtc_connector_get() local
99 if (connector->encoder && connector->encoder->crtc == crtc) in nouveau_crtc_connector_get()
Dnouveau_display.h31 int crtc, bpp, pitch, x, y; member
76 int nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb,
/linux-4.4.14/drivers/gpu/drm/rcar-du/
Drcar_du_crtc.c110 const struct drm_display_mode *mode = &rcrtc->crtc.state->adjusted_mode; in rcar_du_crtc_set_display_timing()
178 void rcar_du_crtc_route_output(struct drm_crtc *crtc, in rcar_du_crtc_route_output() argument
181 struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc); in rcar_du_crtc_route_output()
221 if (plane->plane.state->crtc != &rcrtc->crtc) in rcar_du_crtc_update_planes()
289 struct drm_device *dev = rcrtc->crtc.dev; in rcar_du_crtc_cancel_page_flip()
300 drm_crtc_vblank_put(&rcrtc->crtc); in rcar_du_crtc_cancel_page_flip()
308 struct drm_device *dev = rcrtc->crtc.dev; in rcar_du_crtc_finish_page_flip()
324 drm_crtc_vblank_put(&rcrtc->crtc); in rcar_du_crtc_finish_page_flip()
329 struct drm_device *dev = rcrtc->crtc.dev; in rcar_du_crtc_page_flip_pending()
360 struct drm_crtc *crtc = &rcrtc->crtc; in rcar_du_crtc_start() local
[all …]
Drcar_du_crtc.h40 struct drm_crtc crtc; member
57 #define to_rcar_crtc(c) container_of(c, struct rcar_du_crtc, crtc)
75 void rcar_du_crtc_route_output(struct drm_crtc *crtc,
Drcar_du_lvdsenc.c44 const struct drm_display_mode *mode = &rcrtc->crtc.mode; in rcar_du_lvdsenc_start()
130 int rcar_du_lvdsenc_enable(struct rcar_du_lvdsenc *lvds, struct drm_crtc *crtc, in rcar_du_lvdsenc_enable() argument
136 } else if (crtc) { in rcar_du_lvdsenc_enable()
137 struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc); in rcar_du_lvdsenc_enable()
Drcar_du_lvdsenc.h32 struct drm_crtc *crtc, bool enable);
39 struct drm_crtc *crtc, bool enable) in rcar_du_lvdsenc_enable() argument
Drcar_du_encoder.c50 rcar_du_lvdsenc_enable(renc->lvds, encoder->crtc, false); in rcar_du_encoder_disable()
58 rcar_du_lvdsenc_enable(renc->lvds, encoder->crtc, true); in rcar_du_encoder_enable()
108 rcar_du_crtc_route_output(encoder->crtc, renc->output); in rcar_du_encoder_mode_set()
Drcar_du_hdmienc.c44 rcar_du_lvdsenc_enable(hdmienc->renc->lvds, encoder->crtc, in rcar_du_hdmienc_disable()
56 rcar_du_lvdsenc_enable(hdmienc->renc->lvds, encoder->crtc, in rcar_du_hdmienc_enable()
97 rcar_du_crtc_route_output(encoder->crtc, hdmienc->renc->output); in rcar_du_hdmienc_mode_set()
/linux-4.4.14/drivers/video/fbdev/aty/
Datyfb_base.c249 static void aty_get_crtc(const struct atyfb_par *par, struct crtc *crtc);
251 static void aty_set_crtc(const struct atyfb_par *par, const struct crtc *crtc);
254 struct crtc *crtc);
255 static int aty_crtc_to_var(const struct crtc *crtc,
642 static void aty_get_crtc(const struct atyfb_par *par, struct crtc *crtc) in aty_get_crtc() argument
647 crtc->lcd_index = aty_ld_le32(LCD_INDEX, par); in aty_get_crtc()
648 aty_st_le32(LCD_INDEX, crtc->lcd_index, par); in aty_get_crtc()
650 crtc->lcd_config_panel = aty_ld_lcd(CNFG_PANEL, par); in aty_get_crtc()
651 crtc->lcd_gen_cntl = aty_ld_lcd(LCD_GEN_CNTL, par); in aty_get_crtc()
655 aty_st_lcd(LCD_GEN_CNTL, crtc->lcd_gen_cntl & in aty_get_crtc()
[all …]
Daty128fb.c443 struct aty128_crtc crtc; member
744 pitch_value = par->crtc.pitch; in aty128_init_engine()
745 if (par->crtc.bpp == 24) { in aty128_init_engine()
766 (depth_to_dst(par->crtc.depth) << 8) | in aty128_init_engine()
1028 static void aty128_set_crtc(const struct aty128_crtc *crtc, in aty128_set_crtc() argument
1031 aty_st_le32(CRTC_GEN_CNTL, crtc->gen_cntl); in aty128_set_crtc()
1032 aty_st_le32(CRTC_H_TOTAL_DISP, crtc->h_total); in aty128_set_crtc()
1033 aty_st_le32(CRTC_H_SYNC_STRT_WID, crtc->h_sync_strt_wid); in aty128_set_crtc()
1034 aty_st_le32(CRTC_V_TOTAL_DISP, crtc->v_total); in aty128_set_crtc()
1035 aty_st_le32(CRTC_V_SYNC_STRT_WID, crtc->v_sync_strt_wid); in aty128_set_crtc()
[all …]
Datyfb.h11 struct crtc { struct
135 struct crtc crtc; member
187 struct crtc saved_crtc;
/linux-4.4.14/drivers/gpu/drm/fsl-dcu/
Dfsl_dcu_drm_crtc.c25 static void fsl_dcu_drm_crtc_atomic_begin(struct drm_crtc *crtc, in fsl_dcu_drm_crtc_atomic_begin() argument
30 static int fsl_dcu_drm_crtc_atomic_check(struct drm_crtc *crtc, in fsl_dcu_drm_crtc_atomic_check() argument
36 static void fsl_dcu_drm_crtc_atomic_flush(struct drm_crtc *crtc, in fsl_dcu_drm_crtc_atomic_flush() argument
41 static void fsl_dcu_drm_disable_crtc(struct drm_crtc *crtc) in fsl_dcu_drm_disable_crtc() argument
43 struct drm_device *dev = crtc->dev; in fsl_dcu_drm_disable_crtc()
58 static void fsl_dcu_drm_crtc_enable(struct drm_crtc *crtc) in fsl_dcu_drm_crtc_enable() argument
60 struct drm_device *dev = crtc->dev; in fsl_dcu_drm_crtc_enable()
75 static bool fsl_dcu_drm_crtc_mode_fixup(struct drm_crtc *crtc, in fsl_dcu_drm_crtc_mode_fixup() argument
82 static void fsl_dcu_drm_crtc_mode_set_nofb(struct drm_crtc *crtc) in fsl_dcu_drm_crtc_mode_set_nofb() argument
84 struct drm_device *dev = crtc->dev; in fsl_dcu_drm_crtc_mode_set_nofb()
[all …]
Dfsl_dcu_drm_output.h31 struct drm_crtc *crtc);
/linux-4.4.14/arch/x86/boot/
Dvideo-vga.c141 u16 crtc; /* CRTC base address */ in vga_set_480_scanlines() local
144 crtc = vga_crtc(); in vga_set_480_scanlines()
146 out_idx(0x0c, crtc, 0x11); /* Vertical sync end, unlock CR0-7 */ in vga_set_480_scanlines()
147 out_idx(0x0b, crtc, 0x06); /* Vertical total */ in vga_set_480_scanlines()
148 out_idx(0x3e, crtc, 0x07); /* Vertical overflow */ in vga_set_480_scanlines()
149 out_idx(0xea, crtc, 0x10); /* Vertical sync start */ in vga_set_480_scanlines()
150 out_idx(0xdf, crtc, 0x12); /* Vertical display end */ in vga_set_480_scanlines()
151 out_idx(0xe7, crtc, 0x15); /* Vertical blank start */ in vga_set_480_scanlines()
152 out_idx(0x04, crtc, 0x16); /* Vertical blank end */ in vga_set_480_scanlines()
161 u16 crtc; /* CRTC base address */ in vga_set_vertical_end() local
[all …]
Dvideo-mode.c121 u16 crtc; in vga_recalc_vertical() local
131 crtc = vga_crtc(); in vga_recalc_vertical()
133 pt = in_idx(crtc, 0x11); in vga_recalc_vertical()
135 out_idx(pt, crtc, 0x11); in vga_recalc_vertical()
137 out_idx((u8)rows, crtc, 0x12); /* Lower height register */ in vga_recalc_vertical()
139 ov = in_idx(crtc, 0x07); /* Overflow register */ in vga_recalc_vertical()
143 out_idx(ov, crtc, 0x07); in vga_recalc_vertical()
Dvideo-bios.c71 u16 crtc; in bios_probe() local
79 crtc = vga_crtc(); in bios_probe()
104 if (in_idx(crtc, 0x0f)) in bios_probe()
/linux-4.4.14/drivers/gpu/drm/rockchip/
Drockchip_drm_vop.c64 #define to_vop(x) container_of(x, struct vop, crtc)
84 struct drm_crtc crtc; member
637 static void vop_enable(struct drm_crtc *crtc) in vop_enable() argument
639 struct vop *vop = to_vop(crtc); in vop_enable()
707 static void vop_disable(struct drm_crtc *crtc) in vop_disable() argument
709 struct vop *vop = to_vop(crtc); in vop_disable()
714 drm_vblank_off(crtc->dev, vop->pipe); in vop_disable()
789 struct drm_crtc *crtc, in vop_update_plane_event() argument
799 struct vop *vop = to_vop(crtc); in vop_update_plane_event()
834 .x2 = crtc->mode.hdisplay, in vop_update_plane_event()
[all …]
Drockchip_drm_drv.c96 struct drm_crtc *crtc; in rockchip_crtc_from_pipe() local
99 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) in rockchip_crtc_from_pipe()
101 return crtc; in rockchip_crtc_from_pipe()
110 struct drm_crtc *crtc = rockchip_crtc_from_pipe(dev, pipe); in rockchip_drm_crtc_enable_vblank() local
112 if (crtc && priv->crtc_funcs[pipe] && in rockchip_drm_crtc_enable_vblank()
114 return priv->crtc_funcs[pipe]->enable_vblank(crtc); in rockchip_drm_crtc_enable_vblank()
123 struct drm_crtc *crtc = rockchip_crtc_from_pipe(dev, pipe); in rockchip_drm_crtc_disable_vblank() local
125 if (crtc && priv->crtc_funcs[pipe] && in rockchip_drm_crtc_disable_vblank()
127 priv->crtc_funcs[pipe]->disable_vblank(crtc); in rockchip_drm_crtc_disable_vblank()
392 struct drm_crtc *crtc = encoder->crtc; in rockchip_drm_encoder_get_mux_id() local
[all …]
Drockchip_drm_drv.h39 int (*enable_vblank)(struct drm_crtc *crtc);
40 void (*disable_vblank)(struct drm_crtc *crtc);
61 int rockchip_drm_crtc_mode_config(struct drm_crtc *crtc, int connector_type,
/linux-4.4.14/drivers/gpu/drm/mgag200/
Dmgag200_mode.c28 static void mga_crtc_load_lut(struct drm_crtc *crtc) in mga_crtc_load_lut() argument
30 struct mga_crtc *mga_crtc = to_mga_crtc(crtc); in mga_crtc_load_lut()
31 struct drm_device *dev = crtc->dev; in mga_crtc_load_lut()
33 struct drm_framebuffer *fb = crtc->primary->fb; in mga_crtc_load_lut()
36 if (!crtc->enabled) in mga_crtc_load_lut()
100 static bool mga_crtc_mode_fixup(struct drm_crtc *crtc, in mga_crtc_mode_fixup() argument
690 static void mga_g200wb_prepare(struct drm_crtc *crtc) in mga_g200wb_prepare() argument
692 struct mga_device *mdev = crtc->dev->dev_private; in mga_g200wb_prepare()
744 static void mga_g200wb_commit(struct drm_crtc *crtc) in mga_g200wb_commit() argument
747 struct mga_device *mdev = crtc->dev->dev_private; in mga_g200wb_commit()
[all …]
Dmgag200_drv.h133 struct mga_crtc *crtc; member
239 void mga_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
241 void mga_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
307 int mga_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv,
309 int mga_crtc_cursor_move(struct drm_crtc *crtc, int x, int y);
Dmgag200_cursor.c31 int mga_crtc_cursor_set(struct drm_crtc *crtc, in mga_crtc_cursor_set() argument
37 struct drm_device *dev = crtc->dev; in mga_crtc_cursor_set()
256 int mga_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) in mga_crtc_cursor_move() argument
258 struct mga_device *mdev = (struct mga_device *)crtc->dev->dev_private; in mga_crtc_cursor_move()
/linux-4.4.14/drivers/gpu/drm/qxl/
Dqxl_display.c209 static void qxl_crtc_destroy(struct drm_crtc *crtc) in qxl_crtc_destroy() argument
211 struct qxl_crtc *qxl_crtc = to_qxl_crtc(crtc); in qxl_crtc_destroy()
213 drm_crtc_cleanup(crtc); in qxl_crtc_destroy()
217 static int qxl_crtc_page_flip(struct drm_crtc *crtc, in qxl_crtc_page_flip() argument
222 struct drm_device *dev = crtc->dev; in qxl_crtc_page_flip()
224 struct qxl_crtc *qcrtc = to_qxl_crtc(crtc); in qxl_crtc_page_flip()
226 struct qxl_framebuffer *qfb_old = to_qxl_framebuffer(crtc->primary->fb); in qxl_crtc_page_flip()
240 crtc->primary->fb = fb; in qxl_crtc_page_flip()
300 static int qxl_crtc_cursor_set2(struct drm_crtc *crtc, in qxl_crtc_cursor_set2() argument
306 struct drm_device *dev = crtc->dev; in qxl_crtc_cursor_set2()
[all …]
Dqxl_drv.c95 struct drm_crtc *crtc; in qxl_drm_freeze() local
104 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in qxl_drm_freeze()
105 const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; in qxl_drm_freeze()
106 if (crtc->enabled) in qxl_drm_freeze()
107 (*crtc_funcs->disable)(crtc); in qxl_drm_freeze()
/linux-4.4.14/drivers/gpu/drm/tegra/
Ddc.c500 crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc); in tegra_plane_state_add()
517 struct tegra_dc *dc = to_tegra_dc(state->crtc); in tegra_plane_atomic_check()
521 if (!state->crtc) in tegra_plane_atomic_check()
562 struct tegra_dc *dc = to_tegra_dc(plane->state->crtc); in tegra_plane_atomic_update()
569 if (!plane->state->crtc || !plane->state->fb) in tegra_plane_atomic_update()
608 if (!old_state || !old_state->crtc) in tegra_plane_atomic_disable()
611 dc = to_tegra_dc(old_state->crtc); in tegra_plane_atomic_disable()
685 if (!state->crtc) in tegra_cursor_atomic_check()
712 struct tegra_dc *dc = to_tegra_dc(plane->state->crtc); in tegra_cursor_atomic_update()
717 if (!plane->state->crtc || !plane->state->fb) in tegra_cursor_atomic_update()
[all …]
Ddrm.c815 struct drm_crtc *crtc; in tegra_crtc_from_pipe() local
817 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) { in tegra_crtc_from_pipe()
818 if (pipe == drm_crtc_index(crtc)) in tegra_crtc_from_pipe()
819 return crtc; in tegra_crtc_from_pipe()
828 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); in tegra_drm_get_vblank_counter() local
829 struct tegra_dc *dc = to_tegra_dc(crtc); in tegra_drm_get_vblank_counter()
831 if (!crtc) in tegra_drm_get_vblank_counter()
839 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); in tegra_drm_enable_vblank() local
840 struct tegra_dc *dc = to_tegra_dc(crtc); in tegra_drm_enable_vblank()
842 if (!crtc) in tegra_drm_enable_vblank()
[all …]
Ddrm.h153 static inline struct tegra_dc *to_tegra_dc(struct drm_crtc *crtc) in to_tegra_dc() argument
155 return crtc ? container_of(crtc, struct tegra_dc, base) : NULL; in to_tegra_dc()
196 void tegra_dc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
/linux-4.4.14/drivers/gpu/drm/msm/
Dmsm_atomic.c90 struct drm_crtc *crtc; in msm_atomic_wait_for_commit_done() local
97 crtc = old_state->crtcs[i]; in msm_atomic_wait_for_commit_done()
99 if (!crtc) in msm_atomic_wait_for_commit_done()
102 if (!crtc->state->enable) in msm_atomic_wait_for_commit_done()
110 kms->funcs->wait_for_crtc_commit_done(kms, crtc); in msm_atomic_wait_for_commit_done()
225 struct drm_crtc *crtc = state->crtcs[i]; in msm_atomic_commit() local
226 if (!crtc) in msm_atomic_commit()
228 c->crtc_mask |= (1 << drm_crtc_index(crtc)); in msm_atomic_commit()
Dmsm_kms.h41 int (*enable_vblank)(struct msm_kms *kms, struct drm_crtc *crtc);
42 void (*disable_vblank)(struct msm_kms *kms, struct drm_crtc *crtc);
48 struct drm_crtc *crtc);
DNOTES22 pageflip after rendering completes (ie. have the kms/crtc code build
33 The kms module provides the plane, crtc, and encoder objects, and
39 crtc -> OVLP{n} + DMA{P,S,E} (??) |-> MDP "device"
52 crtc -> LM (layer mixer) |-> MDP "device"
/linux-4.4.14/drivers/video/fbdev/
Di740fb.c46 u8 crtc[VGA_CRT_C]; member
501 par->crtc[VGA_CRTC_H_TOTAL] = (xtotal >> 3) - 5; in i740fb_decode_var()
502 par->crtc[VGA_CRTC_H_DISP] = (xres >> 3) - 1; in i740fb_decode_var()
503 par->crtc[VGA_CRTC_H_BLANK_START] = ((xres + right) >> 3) - 1; in i740fb_decode_var()
504 par->crtc[VGA_CRTC_H_SYNC_START] = (xres + right) >> 3; in i740fb_decode_var()
505 par->crtc[VGA_CRTC_H_SYNC_END] = (((xres + right + hslen) >> 3) & 0x1F) in i740fb_decode_var()
507 par->crtc[VGA_CRTC_H_BLANK_END] = ((xres + right + hslen) >> 3 & 0x1F) in i740fb_decode_var()
510 par->crtc[VGA_CRTC_V_TOTAL] = ytotal - 2; in i740fb_decode_var()
518 par->crtc[VGA_CRTC_PRESET_ROW] = 0; in i740fb_decode_var()
519 par->crtc[VGA_CRTC_MAX_SCAN] = 0x40; /* 1 scanline, no linecmp */ in i740fb_decode_var()
[all …]
Dvga16fb.c63 u8 crtc[VGA_CRT_C]; member
385 par->crtc[VGA_CRTC_H_TOTAL] = xtotal - 5; in vga16fb_check_var()
386 par->crtc[VGA_CRTC_H_BLANK_START] = xres - 1; in vga16fb_check_var()
387 par->crtc[VGA_CRTC_H_DISP] = xres - 1; in vga16fb_check_var()
389 par->crtc[VGA_CRTC_H_SYNC_START] = pos; in vga16fb_check_var()
391 par->crtc[VGA_CRTC_H_SYNC_END] = pos & 0x1F; in vga16fb_check_var()
393 par->crtc[VGA_CRTC_H_BLANK_END] = (pos & 0x1F) | 0x80; in vga16fb_check_var()
395 par->crtc[VGA_CRTC_H_SYNC_END] |= 0x80; in vga16fb_check_var()
440 par->crtc[VGA_CRTC_V_TOTAL] = ytotal - 2; in vga16fb_check_var()
444 par->crtc[VGA_CRTC_PRESET_ROW] = 0; in vga16fb_check_var()
[all …]
Duvesafb.c1230 struct vbe_crtc_ib *crtc = NULL; in uvesafb_set_par() local
1256 crtc = kzalloc(sizeof(struct vbe_crtc_ib), GFP_KERNEL); in uvesafb_set_par()
1257 if (!crtc) { in uvesafb_set_par()
1261 crtc->horiz_start = info->var.xres + info->var.right_margin; in uvesafb_set_par()
1262 crtc->horiz_end = crtc->horiz_start + info->var.hsync_len; in uvesafb_set_par()
1263 crtc->horiz_total = crtc->horiz_end + info->var.left_margin; in uvesafb_set_par()
1265 crtc->vert_start = info->var.yres + info->var.lower_margin; in uvesafb_set_par()
1266 crtc->vert_end = crtc->vert_start + info->var.vsync_len; in uvesafb_set_par()
1267 crtc->vert_total = crtc->vert_end + info->var.upper_margin; in uvesafb_set_par()
1269 crtc->pixel_clock = PICOS2KHZ(info->var.pixclock) * 1000; in uvesafb_set_par()
[all …]
Dcyber2000fb.c427 u_char crtc[19]; member
484 cyber2000_crtcw(crtc_idx[i], hw->crtc[i], cfb); in cyber2000fb_set_timing()
571 hw->crtc[13] = hw->pitch; in cyber2000fb_decode_crtc()
572 hw->crtc[17] = 0xe3; in cyber2000fb_decode_crtc()
573 hw->crtc[14] = 0; in cyber2000fb_decode_crtc()
574 hw->crtc[8] = 0; in cyber2000fb_decode_crtc()
582 hw->crtc[0] = (Htotal >> 3) - 5; in cyber2000fb_decode_crtc()
583 hw->crtc[1] = (var->xres >> 3) - 1; in cyber2000fb_decode_crtc()
584 hw->crtc[2] = var->xres >> 3; in cyber2000fb_decode_crtc()
585 hw->crtc[4] = (var->xres + var->right_margin) >> 3; in cyber2000fb_decode_crtc()
[all …]
/linux-4.4.14/Documentation/DocBook/
Dgpu.xml.db119 API-drm-atomic-get-crtc-state
120 API-drm-atomic-set-mode-for-crtc
121 API-drm-atomic-set-mode-prop-for-crtc
122 API-drm-atomic-crtc-set-property
127 API-drm-atomic-set-crtc-for-plane
129 API-drm-atomic-set-crtc-for-connector
132 API-drm-atomic-connectors-for-crtc
149 API-drm-crtc-init-with-planes
150 API-drm-crtc-cleanup
151 API-drm-crtc-index
[all …]
/linux-4.4.14/drivers/video/fbdev/nvidia/
Dnvidia.c231 state->crtc[i] = NVReadCrtc(par, i); in nvidia_save_vga()
265 NVWriteCrtc(par, 0x11, state->crtc[0x11] & ~0x80); in nvidia_write_regs()
274 printk("CRTC[%02x] = %08x\n", i, state->crtc[i]); in nvidia_write_regs()
276 NVWriteCrtc(par, i, state->crtc[i]); in nvidia_write_regs()
335 state->crtc[0x0] = Set8Bits(h_total); in nvidia_calc_regs()
336 state->crtc[0x1] = Set8Bits(h_display); in nvidia_calc_regs()
337 state->crtc[0x2] = Set8Bits(h_blank_s); in nvidia_calc_regs()
338 state->crtc[0x3] = SetBitField(h_blank_e, 4: 0, 4:0) in nvidia_calc_regs()
340 state->crtc[0x4] = Set8Bits(h_start); in nvidia_calc_regs()
341 state->crtc[0x5] = SetBitField(h_blank_e, 5: 5, 7:7) in nvidia_calc_regs()
[all …]
/linux-4.4.14/drivers/video/
Dvgastate.c28 __u8 *crtc; member
239 saved->crtc[i] = vga_rcrtcs(state->vgabase, iobase, i); in save_vga_mode()
286 vga_wcrtcs(state->vgabase, iobase, 17, saved->crtc[17] & ~0x80); in restore_vga_mode()
288 vga_wcrtcs(state->vgabase, iobase, i, saved->crtc[i]); in restore_vga_mode()
389 saved->crtc = saved->attr + state->num_attr; in save_vga()
390 saved->gfx = saved->crtc + state->num_crtc; in save_vga()
/linux-4.4.14/drivers/video/fbdev/riva/
Dfbdev.c600 regs->crtc[i] = CRTCin(par, i); in riva_save_state()
647 CRTCout(par, i, regs->crtc[i]); in riva_load_state()
724 newmode.crtc[0x0] = Set8Bits (hTotal); in riva_load_video_mode()
725 newmode.crtc[0x1] = Set8Bits (hDisplay); in riva_load_video_mode()
726 newmode.crtc[0x2] = Set8Bits (hBlankStart); in riva_load_video_mode()
727 newmode.crtc[0x3] = SetBitField (hBlankEnd, 4: 0, 4:0) | SetBit (7); in riva_load_video_mode()
728 newmode.crtc[0x4] = Set8Bits (hStart); in riva_load_video_mode()
729 newmode.crtc[0x5] = SetBitField (hBlankEnd, 5: 5, 7:7) in riva_load_video_mode()
731 newmode.crtc[0x6] = SetBitField (vTotal, 7: 0, 7:0); in riva_load_video_mode()
732 newmode.crtc[0x7] = SetBitField (vTotal, 8: 8, 0:0) in riva_load_video_mode()
[all …]
/linux-4.4.14/drivers/gpu/drm/i2c/
Dch7006_drv.c288 struct drm_crtc *crtc = encoder->crtc; in ch7006_encoder_set_property() local
362 if (crtc) { in ch7006_encoder_set_property()
364 .crtc = crtc, in ch7006_encoder_set_property()
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/
Dinit.h9 int crtc; member

12