Home
last modified time | relevance | path

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

12

/linux-4.1.27/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()
181 struct drm_crtc *crtc; in __drm_helper_disable_unused_functions() local
189 encoder->crtc = NULL; in __drm_helper_disable_unused_functions()
193 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in __drm_helper_disable_unused_functions()
194 const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; in __drm_helper_disable_unused_functions()
195 crtc->enabled = drm_helper_crtc_in_use(crtc); in __drm_helper_disable_unused_functions()
196 if (!crtc->enabled) { in __drm_helper_disable_unused_functions()
198 (*crtc_funcs->disable)(crtc); in __drm_helper_disable_unused_functions()
[all …]
Ddrm_irq.c46 #define vblanktimestamp(dev, crtc, count) \ argument
47 ((dev)->vblank[crtc].time[(count) % DRM_VBLANKTIME_RBSIZE])
60 drm_get_last_vbltimestamp(struct drm_device *dev, int crtc,
93 static void drm_update_vblank_count(struct drm_device *dev, int crtc) in drm_update_vblank_count() argument
95 struct drm_vblank_crtc *vblank = &dev->vblank[crtc]; in drm_update_vblank_count()
113 cur_vblank = dev->driver->get_vblank_counter(dev, crtc); in drm_update_vblank_count()
114 rc = drm_get_last_vbltimestamp(dev, crtc, &t_vblank, 0); in drm_update_vblank_count()
115 } while (cur_vblank != dev->driver->get_vblank_counter(dev, crtc)); in drm_update_vblank_count()
123 crtc, vblank->last, cur_vblank, diff); in drm_update_vblank_count()
127 crtc, diff); in drm_update_vblank_count()
[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()
132 struct drm_crtc *crtc, in drm_plane_helper_check_update() argument
151 if (WARN_ON(!crtc)) { in drm_plane_helper_check_update()
156 if (!crtc->enabled && !can_update_disabled) { in drm_plane_helper_check_update()
223 int drm_primary_helper_update(struct drm_plane *plane, struct drm_crtc *crtc, in drm_primary_helper_update() argument
231 .crtc = crtc, in drm_primary_helper_update()
233 .mode = &crtc->mode, in drm_primary_helper_update()
250 .x2 = crtc->mode.hdisplay, in drm_primary_helper_update()
[all …]
Ddrm_atomic.c142 struct drm_crtc *crtc = state->crtcs[i]; in drm_atomic_state_clear() local
144 if (!crtc) in drm_atomic_state_clear()
147 crtc->funcs->atomic_destroy_state(crtc, in drm_atomic_state_clear()
204 struct drm_crtc *crtc) in drm_atomic_get_crtc_state() argument
209 index = drm_crtc_index(crtc); in drm_atomic_get_crtc_state()
214 ret = drm_modeset_lock(&crtc->mutex, state->acquire_ctx); in drm_atomic_get_crtc_state()
218 crtc_state = crtc->funcs->atomic_duplicate_state(crtc); in drm_atomic_get_crtc_state()
223 state->crtcs[index] = crtc; in drm_atomic_get_crtc_state()
227 crtc->base.id, crtc_state, state); in drm_atomic_get_crtc_state()
249 int drm_atomic_crtc_set_property(struct drm_crtc *crtc, in drm_atomic_crtc_set_property() argument
[all …]
Ddrm_modeset_lock.c172 void drm_modeset_lock_crtc(struct drm_crtc *crtc, in drm_modeset_lock_crtc() argument
185 ret = drm_modeset_lock(&crtc->mutex, ctx); in drm_modeset_lock_crtc()
194 if (plane->crtc) { in drm_modeset_lock_crtc()
195 ret = drm_modeset_lock(&plane->crtc->mutex, ctx); in drm_modeset_lock_crtc()
201 WARN_ON(crtc->acquire_ctx); in drm_modeset_lock_crtc()
206 crtc->acquire_ctx = ctx; in drm_modeset_lock_crtc()
228 drm_modeset_legacy_acquire_ctx(struct drm_crtc *crtc) in drm_modeset_legacy_acquire_ctx() argument
230 if (crtc->acquire_ctx) in drm_modeset_legacy_acquire_ctx()
231 return crtc->acquire_ctx; in drm_modeset_legacy_acquire_ctx()
233 WARN_ON(!crtc->dev->mode_config.acquire_ctx); in drm_modeset_legacy_acquire_ctx()
[all …]
Ddrm_crtc.c591 struct drm_crtc *crtc; in drm_framebuffer_remove() local
616 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in drm_framebuffer_remove()
617 if (crtc->primary->fb == fb) { in drm_framebuffer_remove()
620 set.crtc = crtc; in drm_framebuffer_remove()
624 DRM_ERROR("failed to reset crtc %p when fb was deleted\n", crtc); in drm_framebuffer_remove()
655 int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc, in drm_crtc_init_with_planes() argument
666 crtc->dev = dev; in drm_crtc_init_with_planes()
667 crtc->funcs = funcs; in drm_crtc_init_with_planes()
668 crtc->invert_dimensions = false; in drm_crtc_init_with_planes()
670 drm_modeset_lock_init(&crtc->mutex); in drm_crtc_init_with_planes()
[all …]
Ddrm_fb_helper.c204 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
212 r_base = crtc->gamma_store; in drm_fb_helper_save_lut_atomic()
213 g_base = r_base + crtc->gamma_size; in drm_fb_helper_save_lut_atomic()
214 b_base = g_base + crtc->gamma_size; in drm_fb_helper_save_lut_atomic()
216 for (i = 0; i < crtc->gamma_size; i++) in drm_fb_helper_save_lut_atomic()
217 helper->funcs->gamma_get(crtc, &r_base[i], &g_base[i], &b_base[i], i); in drm_fb_helper_save_lut_atomic()
220 static void drm_fb_helper_restore_lut_atomic(struct drm_crtc *crtc) in drm_fb_helper_restore_lut_atomic() argument
224 if (crtc->funcs->gamma_set == NULL) in drm_fb_helper_restore_lut_atomic()
227 r_base = crtc->gamma_store; in drm_fb_helper_restore_lut_atomic()
228 g_base = r_base + crtc->gamma_size; in drm_fb_helper_restore_lut_atomic()
[all …]
/linux-4.1.27/drivers/gpu/drm/sti/
Dsti_drm_crtc.c22 static void sti_drm_crtc_dpms(struct drm_crtc *crtc, int mode) in sti_drm_crtc_dpms() argument
27 static void sti_drm_crtc_prepare(struct drm_crtc *crtc) in sti_drm_crtc_prepare() argument
29 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_drm_crtc_prepare()
47 static void sti_drm_crtc_commit(struct drm_crtc *crtc) in sti_drm_crtc_commit() argument
49 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_drm_crtc_commit()
60 layer = to_sti_layer(crtc->primary); in sti_drm_crtc_commit()
70 drm_crtc_vblank_on(crtc); in sti_drm_crtc_commit()
73 static bool sti_drm_crtc_mode_fixup(struct drm_crtc *crtc, in sti_drm_crtc_mode_fixup() argument
82 sti_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode) in sti_drm_crtc_mode_set() argument
84 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_drm_crtc_mode_set()
[all …]
Dsti_drm_plane.c30 sti_drm_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, in sti_drm_update_plane() argument
37 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_drm_update_plane()
41 crtc->base.id, sti_mixer_to_str(mixer), in sti_drm_update_plane()
52 res = sti_layer_prepare(layer, crtc, fb, in sti_drm_update_plane()
53 &crtc->mode, mixer->id, in sti_drm_update_plane()
83 if (!plane->crtc) { in sti_drm_disable_plane()
88 mixer = to_sti_mixer(plane->crtc); in sti_drm_disable_plane()
91 plane->crtc->base.id, sti_mixer_to_str(mixer), in sti_drm_disable_plane()
173 sti_drm_update_plane(plane, state->crtc, state->fb, in sti_drm_plane_atomic_update()
Dsti_compositor.c94 unsigned int i, crtc = 0, plane = 0; in sti_compositor_bind() local
107 if (crtc < compo->nb_mixers) in sti_compositor_bind()
130 if (crtc < compo->nb_mixers && primary) { in sti_compositor_bind()
131 sti_drm_crtc_init(drm_dev, compo->mixer[crtc], in sti_compositor_bind()
133 crtc++; in sti_compositor_bind()
140 drm_vblank_init(drm_dev, crtc); in sti_compositor_bind()
145 crtc, plane); in sti_compositor_bind()
Dsti_drm_crtc.h16 int sti_drm_crtc_enable_vblank(struct drm_device *dev, int crtc);
17 void sti_drm_crtc_disable_vblank(struct drm_device *dev, int crtc);
Dsti_layer.c84 struct drm_crtc *crtc, in sti_layer_prepare() argument
105 layer->crtc = crtc; in sti_layer_prepare()
Dsti_layer.h94 struct drm_crtc *crtc; member
117 struct drm_crtc *crtc,
/linux-4.1.27/drivers/gpu/drm/exynos/
Dexynos_drm_crtc.c23 static void exynos_drm_crtc_dpms(struct drm_crtc *crtc, int mode) in exynos_drm_crtc_dpms() argument
25 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_dpms()
27 DRM_DEBUG_KMS("crtc[%d] mode[%d]\n", crtc->base.id, mode); in exynos_drm_crtc_dpms()
39 drm_crtc_vblank_off(crtc); in exynos_drm_crtc_dpms()
48 drm_crtc_vblank_on(crtc); in exynos_drm_crtc_dpms()
51 static void exynos_drm_crtc_prepare(struct drm_crtc *crtc) in exynos_drm_crtc_prepare() argument
56 static void exynos_drm_crtc_commit(struct drm_crtc *crtc) in exynos_drm_crtc_commit() argument
58 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_commit()
59 struct exynos_drm_plane *exynos_plane = to_exynos_plane(crtc->primary); in exynos_drm_crtc_commit()
61 exynos_drm_crtc_dpms(crtc, DRM_MODE_DPMS_ON); in exynos_drm_crtc_commit()
[all …]
Dexynos_drm_plane.c88 void exynos_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc, in exynos_plane_mode_set() argument
98 actual_w = exynos_plane_get_size(crtc_x, crtc_w, crtc->mode.hdisplay); in exynos_plane_mode_set()
99 actual_h = exynos_plane_get_size(crtc_y, crtc_h, crtc->mode.vdisplay); in exynos_plane_mode_set()
135 exynos_plane->mode_width = crtc->mode.hdisplay; in exynos_plane_mode_set()
136 exynos_plane->mode_height = crtc->mode.vdisplay; in exynos_plane_mode_set()
137 exynos_plane->refresh = crtc->mode.vrefresh; in exynos_plane_mode_set()
138 exynos_plane->scan_flag = crtc->mode.flags; in exynos_plane_mode_set()
144 plane->crtc = crtc; in exynos_plane_mode_set()
148 exynos_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, in exynos_update_plane() argument
155 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_update_plane()
[all …]
Dexynos_drm_drv.h178 void (*dpms)(struct exynos_drm_crtc *crtc, int mode);
179 bool (*mode_fixup)(struct exynos_drm_crtc *crtc,
182 void (*commit)(struct exynos_drm_crtc *crtc);
183 int (*enable_vblank)(struct exynos_drm_crtc *crtc);
184 void (*disable_vblank)(struct exynos_drm_crtc *crtc);
185 void (*wait_for_vblank)(struct exynos_drm_crtc *crtc);
186 void (*win_commit)(struct exynos_drm_crtc *crtc, unsigned int zpos);
187 void (*win_disable)(struct exynos_drm_crtc *crtc, unsigned int zpos);
188 void (*te_handler)(struct exynos_drm_crtc *crtc);
189 void (*clock_enable)(struct exynos_drm_crtc *crtc, bool enable);
[all …]
Dexynos_drm_vidi.c40 struct exynos_drm_crtc *crtc; member
87 static int vidi_enable_vblank(struct exynos_drm_crtc *crtc) in vidi_enable_vblank() argument
89 struct vidi_context *ctx = crtc->ctx; in vidi_enable_vblank()
109 static void vidi_disable_vblank(struct exynos_drm_crtc *crtc) in vidi_disable_vblank() argument
111 struct vidi_context *ctx = crtc->ctx; in vidi_disable_vblank()
120 static void vidi_win_commit(struct exynos_drm_crtc *crtc, unsigned int win) in vidi_win_commit() argument
122 struct vidi_context *ctx = crtc->ctx; in vidi_win_commit()
141 static void vidi_win_disable(struct exynos_drm_crtc *crtc, unsigned int win) in vidi_win_disable() argument
143 struct vidi_context *ctx = crtc->ctx; in vidi_win_disable()
170 vidi_enable_vblank(ctx->crtc); in vidi_power_on()
[all …]
Dexynos7_drm_decon.c48 struct exynos_drm_crtc *crtc; member
73 static void decon_wait_for_vblank(struct exynos_drm_crtc *crtc) in decon_wait_for_vblank() argument
75 struct decon_context *ctx = crtc->ctx; in decon_wait_for_vblank()
114 decon_wait_for_vblank(ctx->crtc); in decon_clear_channel()
165 static bool decon_mode_fixup(struct exynos_drm_crtc *crtc, in decon_mode_fixup() argument
175 static void decon_commit(struct exynos_drm_crtc *crtc) in decon_commit() argument
177 struct decon_context *ctx = crtc->ctx; in decon_commit()
178 struct drm_display_mode *mode = &crtc->base.mode; in decon_commit()
240 static int decon_enable_vblank(struct exynos_drm_crtc *crtc) in decon_enable_vblank() argument
242 struct decon_context *ctx = crtc->ctx; in decon_enable_vblank()
[all …]
Dexynos_drm_fimd.c150 struct exynos_drm_crtc *crtc; member
199 static void fimd_wait_for_vblank(struct exynos_drm_crtc *crtc) in fimd_wait_for_vblank() argument
201 struct fimd_context *ctx = crtc->ctx; in fimd_wait_for_vblank()
271 fimd_wait_for_vblank(ctx->crtc); in fimd_clear_channel()
327 static bool fimd_mode_fixup(struct exynos_drm_crtc *crtc, in fimd_mode_fixup() argument
337 static void fimd_commit(struct exynos_drm_crtc *crtc) in fimd_commit() argument
339 struct fimd_context *ctx = crtc->ctx; in fimd_commit()
340 struct drm_display_mode *mode = &crtc->base.mode; in fimd_commit()
437 static int fimd_enable_vblank(struct exynos_drm_crtc *crtc) in fimd_enable_vblank() argument
439 struct fimd_context *ctx = crtc->ctx; in fimd_enable_vblank()
[all …]
Dexynos_mixer.c76 struct exynos_drm_crtc *crtc; member
897 static int mixer_enable_vblank(struct exynos_drm_crtc *crtc) in mixer_enable_vblank() argument
899 struct mixer_context *mixer_ctx = crtc->ctx; in mixer_enable_vblank()
914 static void mixer_disable_vblank(struct exynos_drm_crtc *crtc) in mixer_disable_vblank() argument
916 struct mixer_context *mixer_ctx = crtc->ctx; in mixer_disable_vblank()
923 static void mixer_win_commit(struct exynos_drm_crtc *crtc, unsigned int win) in mixer_win_commit() argument
925 struct mixer_context *mixer_ctx = crtc->ctx; in mixer_win_commit()
944 static void mixer_win_disable(struct exynos_drm_crtc *crtc, unsigned int win) in mixer_win_disable() argument
946 struct mixer_context *mixer_ctx = crtc->ctx; in mixer_win_disable()
971 static void mixer_wait_for_vblank(struct exynos_drm_crtc *crtc) in mixer_wait_for_vblank() argument
[all …]
Dexynos_drm_plane.h13 void exynos_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc,
18 int exynos_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
Dexynos_drm_encoder.c105 if (plane->crtc && (plane->crtc == encoder->crtc)) in exynos_drm_encoder_disable()
Dexynos_drm_crtc.h40 void exynos_drm_crtc_te_handler(struct drm_crtc *crtc);
/linux-4.1.27/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.c187 atmel_hlcdc_crtc_irq(dc->crtc); in atmel_hlcdc_dc_irq_handler()
417 struct drm_crtc *crtc; in atmel_hlcdc_dc_preclose() local
419 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in atmel_hlcdc_dc_preclose()
420 atmel_hlcdc_crtc_cancel_page_flip(crtc, file); in atmel_hlcdc_dc_preclose()
456 static int atmel_hlcdc_dc_enable_vblank(struct drm_device *dev, int crtc) in atmel_hlcdc_dc_enable_vblank() argument
466 static void atmel_hlcdc_dc_disable_vblank(struct drm_device *dev, int crtc) in atmel_hlcdc_dc_disable_vblank() argument
566 struct drm_crtc *crtc; in atmel_hlcdc_dc_drm_suspend() local
572 list_for_each_entry(crtc, &drm_dev->mode_config.crtc_list, head) in atmel_hlcdc_dc_drm_suspend()
573 atmel_hlcdc_crtc_suspend(crtc); in atmel_hlcdc_dc_drm_suspend()
581 struct drm_crtc *crtc; in atmel_hlcdc_dc_drm_resume() local
[all …]
/linux-4.1.27/drivers/gpu/drm/omapdrm/
Domap_crtc.c83 uint32_t pipe2vbl(struct drm_crtc *crtc) in pipe2vbl() argument
85 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in pipe2vbl()
90 const struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc) in omap_crtc_timings() argument
92 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_timings()
96 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc) in omap_crtc_channel() argument
98 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_channel()
146 static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable) in omap_crtc_set_enabled() argument
148 struct drm_device *dev = crtc->dev; in omap_crtc_set_enabled()
149 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_set_enabled()
285 struct drm_crtc *crtc = &omap_crtc->base; in omap_crtc_apply_irq() local
[all …]
Domap_plane.c126 struct drm_crtc *crtc = plane->crtc; in omap_plane_pre_apply() local
128 bool enabled = omap_plane->enabled && crtc; in omap_plane_pre_apply()
141 channel = omap_crtc_channel(crtc); in omap_plane_pre_apply()
156 omap_crtc_timings(crtc), false); in omap_plane_pre_apply()
184 if (plane->crtc) { in omap_plane_apply()
186 return omap_crtc_apply(plane->crtc, &omap_plane->apply); in omap_plane_apply()
192 struct drm_crtc *crtc, struct drm_framebuffer *fb, in omap_plane_mode_set() argument
226 struct drm_crtc *crtc, struct drm_framebuffer *fb, in omap_plane_update() argument
248 plane->crtc = crtc; in omap_plane_update()
251 return omap_plane_mode_set(plane, crtc, fb, in omap_plane_update()
Domap_irq.c150 struct drm_crtc *crtc = priv->crtcs[crtc_id]; in omap_irq_enable_vblank() local
157 priv->vblank_mask |= pipe2vbl(crtc); in omap_irq_enable_vblank()
177 struct drm_crtc *crtc = priv->crtcs[crtc_id]; in omap_irq_disable_vblank() local
184 priv->vblank_mask &= ~pipe2vbl(crtc); in omap_irq_disable_vblank()
206 struct drm_crtc *crtc = priv->crtcs[id]; in omap_irq_handler() local
208 if (irqstatus & pipe2vbl(crtc)) in omap_irq_handler()
Domap_drv.h155 const struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc);
156 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
157 int omap_crtc_apply(struct drm_crtc *crtc,
163 void omap_crtc_flush(struct drm_crtc *crtc);
169 struct drm_crtc *crtc, struct drm_framebuffer *fb,
270 uint32_t pipe2vbl(struct drm_crtc *crtc);
Domap_drv.c81 struct drm_crtc *crtc = priv->crtcs[i]; in channel_used() local
83 if (omap_crtc_channel(crtc) == channel) in channel_used()
136 struct drm_crtc *crtc; in omap_modeset_create_crtc() local
142 crtc = omap_crtc_init(dev, plane, channel, id); in omap_modeset_create_crtc()
145 priv->crtcs[id] = crtc; in omap_modeset_create_crtc()
299 struct drm_crtc *crtc = priv->crtcs[id]; in omap_modeset_init() local
302 crtc_channel = omap_crtc_channel(crtc); in omap_modeset_init()
Domap_fb.c330 struct drm_crtc *crtc = encoder ? encoder->crtc : NULL; in omap_framebuffer_get_next_connector() local
331 if (crtc && crtc->primary->fb == fb) in omap_framebuffer_get_next_connector()
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp4/
Dmdp4_crtc.c66 static struct mdp4_kms *get_kms(struct drm_crtc *crtc) in get_kms() argument
68 struct msm_drm_private *priv = crtc->dev->dev_private; in get_kms()
72 static void request_pending(struct drm_crtc *crtc, uint32_t pending) in request_pending() argument
74 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in request_pending()
77 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank); in request_pending()
80 static void crtc_flush(struct drm_crtc *crtc) in crtc_flush() argument
82 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in crtc_flush()
83 struct mdp4_kms *mdp4_kms = get_kms(crtc); in crtc_flush()
87 drm_atomic_crtc_for_each_plane(plane, crtc) { in crtc_flush()
100 static void complete_flip(struct drm_crtc *crtc, struct drm_file *file) in complete_flip() argument
[all …]
Dmdp4_kms.c137 struct drm_crtc *crtc = state->crtcs[i]; in mdp4_prepare_commit() local
138 if (!crtc) in mdp4_prepare_commit()
140 drm_crtc_vblank_get(crtc); in mdp4_prepare_commit()
151 struct drm_crtc *crtc = state->crtcs[i]; in mdp4_complete_commit() local
152 if (!crtc) in mdp4_complete_commit()
154 drm_crtc_vblank_put(crtc); in mdp4_complete_commit()
261 struct drm_crtc *crtc; in modeset_init() local
302 crtc = mdp4_crtc_init(dev, plane, priv->num_crtcs, 0, DMA_P); in modeset_init()
303 if (IS_ERR(crtc)) { in modeset_init()
305 ret = PTR_ERR(crtc); in modeset_init()
[all …]
Dmdp4_irq.c87 int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp4_enable_vblank() argument
90 mdp4_crtc_vblank(crtc), true); in mdp4_enable_vblank()
94 void mdp4_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp4_disable_vblank() argument
97 mdp4_crtc_vblank(crtc), false); in mdp4_disable_vblank()
Dmdp4_kms.h175 int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
176 void mdp4_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
205 uint32_t mdp4_crtc_vblank(struct drm_crtc *crtc);
206 void mdp4_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file);
207 void mdp4_crtc_set_config(struct drm_crtc *crtc, uint32_t config);
208 void mdp4_crtc_set_intf(struct drm_crtc *crtc, enum mdp4_intf intf, int mixer);
Dmdp4_plane.c39 struct drm_crtc *crtc, struct drm_framebuffer *fb,
121 state->crtc, state->fb, in mdp4_plane_atomic_update()
194 struct drm_crtc *crtc, struct drm_framebuffer *fb, in mdp4_plane_mode_set() argument
209 if (!(crtc && fb)) { in mdp4_plane_mode_set()
222 crtc->base.id, crtc_x, crtc_y, crtc_w, crtc_h); in mdp4_plane_mode_set()
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp5/
Dmdp5_crtc.c71 static struct mdp5_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 mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in request_pending()
82 mdp_irq_register(&get_kms(crtc)->base, &mdp5_crtc->vblank); in request_pending()
85 static void crtc_flush(struct drm_crtc *crtc, u32 flush_mask) in crtc_flush() argument
87 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in crtc_flush()
98 static void crtc_flush_all(struct drm_crtc *crtc) in crtc_flush_all() argument
100 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in crtc_flush_all()
108 drm_atomic_crtc_for_each_plane(plane, crtc) { in crtc_flush_all()
[all …]
Dmdp5_kms.h200 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
201 void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
234 uint32_t mdp5_crtc_vblank(struct drm_crtc *crtc);
236 int mdp5_crtc_get_lm(struct drm_crtc *crtc);
237 struct mdp5_ctl *mdp5_crtc_get_ctl(struct drm_crtc *crtc);
238 void mdp5_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file);
239 void mdp5_crtc_set_intf(struct drm_crtc *crtc, struct mdp5_interface *intf);
Dmdp5_cmd_encoder.c103 int pp_id = GET_PING_PONG_ID(mdp5_crtc_get_lm(encoder->crtc)); in pingpong_tearcheck_setup()
146 int pp_id = GET_PING_PONG_ID(mdp5_crtc_get_lm(encoder->crtc)); in pingpong_tearcheck_enable()
171 int pp_id = GET_PING_PONG_ID(mdp5_crtc_get_lm(encoder->crtc)); in pingpong_tearcheck_disable()
213 mdp5_crtc_set_intf(encoder->crtc, &mdp5_cmd_enc->intf); in mdp5_cmd_encoder_mode_set()
220 struct mdp5_ctl *ctl = mdp5_crtc_get_ctl(encoder->crtc); in mdp5_cmd_encoder_disable()
222 int lm = mdp5_crtc_get_lm(encoder->crtc); in mdp5_cmd_encoder_disable()
242 struct mdp5_ctl *ctl = mdp5_crtc_get_ctl(encoder->crtc); in mdp5_cmd_encoder_enable()
Dmdp5_irq.c113 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp5_enable_vblank() argument
116 mdp5_crtc_vblank(crtc), true); in mdp5_enable_vblank()
120 void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp5_disable_vblank() argument
123 mdp5_crtc_vblank(crtc), false); in mdp5_disable_vblank()
Dmdp5_ctl.c64 struct drm_crtc *crtc; member
461 struct drm_crtc *crtc) in mdp5_ctlm_request() argument
480 ctl->lm = mdp5_crtc_get_lm(crtc); in mdp5_ctlm_request()
481 ctl->crtc = crtc; in mdp5_ctlm_request()
Dmdp5_encoder.c221 mdp5_crtc_set_intf(encoder->crtc, &mdp5_encoder->intf); in mdp5_encoder_mode_set()
228 struct mdp5_ctl *ctl = mdp5_crtc_get_ctl(encoder->crtc); in mdp5_encoder_disable()
229 int lm = mdp5_crtc_get_lm(encoder->crtc); in mdp5_encoder_disable()
263 struct mdp5_ctl *ctl = mdp5_crtc_get_ctl(encoder->crtc); in mdp5_encoder_enable()
Dmdp5_kms.c330 struct drm_crtc *crtc; in modeset_init() local
341 crtc = mdp5_crtc_init(dev, plane, i); in modeset_init()
342 if (IS_ERR(crtc)) { in modeset_init()
343 ret = PTR_ERR(crtc); in modeset_init()
348 priv->crtcs[priv->num_crtcs++] = crtc; in modeset_init()
Dmdp5_plane.c40 struct drm_crtc *crtc, struct drm_framebuffer *fb,
56 return state->fb && state->crtc; in plane_enabled()
206 drm_atomic_get_crtc_state(state->state, state->crtc); in mdp5_plane_atomic_check()
232 state->crtc, state->fb, in mdp5_plane_atomic_update()
431 struct drm_crtc *crtc, struct drm_framebuffer *fb, in mdp5_plane_mode_set() argument
467 crtc->base.id, crtc_x, crtc_y, crtc_w, crtc_h); in mdp5_plane_mode_set()
/linux-4.1.27/drivers/gpu/drm/tilcdc/
Dtilcdc_crtc.c54 static void set_scanout(struct drm_crtc *crtc, int n) in set_scanout() argument
67 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in set_scanout()
68 struct drm_device *dev = crtc->dev; in set_scanout()
78 tilcdc_crtc->scanout[n] = crtc->primary->fb; in set_scanout()
84 static void update_scanout(struct drm_crtc *crtc) in update_scanout() argument
86 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in update_scanout()
87 struct drm_device *dev = crtc->dev; in update_scanout()
88 struct drm_framebuffer *fb = crtc->primary->fb; in update_scanout()
96 (crtc->y * fb->pitches[0]) + (crtc->x * bpp/8); in update_scanout()
99 (crtc->mode.vdisplay * fb->pitches[0]); in update_scanout()
[all …]
Dtilcdc_drv.h81 struct drm_crtc *crtc; member
164 void tilcdc_crtc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
165 irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc);
166 void tilcdc_crtc_update_clk(struct drm_crtc *crtc);
167 void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc,
169 int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode);
170 int tilcdc_crtc_max_width(struct drm_crtc *crtc);
Dtilcdc_drv.c76 priv->crtc = tilcdc_crtc_create(dev); in modeset_init()
92 dev->mode_config.max_width = tilcdc_crtc_max_width(priv->crtc); in modeset_init()
108 tilcdc_crtc_update_clk(priv->crtc); in cpufreq_transition()
339 tilcdc_crtc_cancel_page_flip(priv->crtc, file); in tilcdc_preclose()
352 return tilcdc_crtc_irq(priv->crtc); in tilcdc_irq()
411 static int tilcdc_enable_vblank(struct drm_device *dev, int crtc) in tilcdc_enable_vblank() argument
417 static void tilcdc_disable_vblank(struct drm_device *dev, int crtc) in tilcdc_disable_vblank() argument
/linux-4.1.27/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()
120 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_irq.c65 int radeon_enable_vblank(struct drm_device *dev, int crtc) in radeon_enable_vblank() argument
70 switch (crtc) { in radeon_enable_vblank()
79 crtc); in radeon_enable_vblank()
83 switch (crtc) { in radeon_enable_vblank()
92 crtc); in radeon_enable_vblank()
100 void radeon_disable_vblank(struct drm_device *dev, int crtc) in radeon_disable_vblank() argument
105 switch (crtc) { in radeon_disable_vblank()
114 crtc); in radeon_disable_vblank()
118 switch (crtc) { in radeon_disable_vblank()
127 crtc); in radeon_disable_vblank()
[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.c220 struct drm_crtc *crtc; in radeon_info_ioctl() local
250 crtc = (struct drm_crtc *)minfo->crtcs[i]; in radeon_info_ioctl()
251 if (crtc && crtc->base.id == *value) { in radeon_info_ioctl()
252 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_info_ioctl()
744 u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc) in radeon_get_vblank_counter_kms() argument
748 if (crtc < 0 || crtc >= rdev->num_crtc) { in radeon_get_vblank_counter_kms()
749 DRM_ERROR("Invalid crtc %d\n", crtc); in radeon_get_vblank_counter_kms()
753 return radeon_get_vblank_counter(rdev, crtc); in radeon_get_vblank_counter_kms()
765 int radeon_enable_vblank_kms(struct drm_device *dev, int crtc) in radeon_enable_vblank_kms() argument
771 if (crtc < 0 || crtc >= rdev->num_crtc) { in radeon_enable_vblank_kms()
[all …]
Dradeon_mode.h450 int crtc; member
845 extern void radeon_crtc_load_lut(struct drm_crtc *crtc);
846 extern int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
848 extern int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
852 extern int atombios_crtc_mode_set(struct drm_crtc *crtc,
857 extern void atombios_crtc_dpms(struct drm_crtc *crtc, int mode);
859 extern int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
861 extern int radeon_crtc_set_base_atomic(struct drm_crtc *crtc,
865 extern int radeon_crtc_do_set_base(struct drm_crtc *crtc,
868 extern int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
[all …]
Dradeon_irq_kms.c401 void radeon_irq_kms_pflip_irq_get(struct radeon_device *rdev, int crtc) in radeon_irq_kms_pflip_irq_get() argument
405 if (crtc < 0 || crtc >= rdev->num_crtc) in radeon_irq_kms_pflip_irq_get()
411 if (atomic_inc_return(&rdev->irq.pflip[crtc]) == 1) { in radeon_irq_kms_pflip_irq_get()
427 void radeon_irq_kms_pflip_irq_put(struct radeon_device *rdev, int crtc) in radeon_irq_kms_pflip_irq_put() argument
431 if (crtc < 0 || crtc >= rdev->num_crtc) in radeon_irq_kms_pflip_irq_put()
437 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 …]
Ddce6_afmt.c250 struct radeon_crtc *crtc, unsigned int clock) in dce6_hdmi_audio_set_dto() argument
255 if (crtc) in dce6_hdmi_audio_set_dto()
256 value |= DCCG_AUDIO_DTO0_SOURCE_SEL(crtc->crtc_id); in dce6_hdmi_audio_set_dto()
269 struct radeon_crtc *crtc, unsigned int clock) in dce6_dp_audio_set_dto() argument
275 if (crtc) in dce6_dp_audio_set_dto()
276 value |= DCCG_AUDIO_DTO0_SOURCE_SEL(crtc->crtc_id); in dce6_dp_audio_set_dto()
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()
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_drv.c107 u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc);
108 int radeon_enable_vblank_kms(struct drm_device *dev, int crtc);
109 void radeon_disable_vblank_kms(struct drm_device *dev, int crtc);
110 int radeon_get_vblank_timestamp_kms(struct drm_device *dev, int crtc,
126 extern int radeon_get_crtc_scanoutpos(struct drm_device *dev, int crtc,
501 struct drm_crtc *crtc; in radeon_pmops_runtime_idle() local
508 list_for_each_entry(crtc, &drm_dev->mode_config.crtc_list, head) { in radeon_pmops_runtime_idle()
509 if (crtc->enabled) { in radeon_pmops_runtime_idle()
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.c262 struct radeon_crtc *crtc, in rs690_crtc_bandwidth_compute() argument
266 struct drm_display_mode *mode = &crtc->base.mode; in rs690_crtc_bandwidth_compute()
273 if (!crtc->base.enabled) { in rs690_crtc_bandwidth_compute()
294 if (crtc->vsc.full > dfixed_const(2)) in rs690_crtc_bandwidth_compute()
320 if (crtc->rmx_type != RMX_OFF) { in rs690_crtc_bandwidth_compute()
322 if (crtc->vsc.full > b.full) in rs690_crtc_bandwidth_compute()
323 b.full = crtc->vsc.full; in rs690_crtc_bandwidth_compute()
324 b.full = dfixed_mul(b, crtc->hsc); in rs690_crtc_bandwidth_compute()
340 a.full = dfixed_const(crtc->base.mode.crtc_htotal); in rs690_crtc_bandwidth_compute()
348 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.c353 void radeon_dp_mst_prepare_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) in radeon_dp_mst_prepare_pll() argument
355 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_dp_mst_prepare_pll()
356 struct drm_device *dev = crtc->dev; in radeon_dp_mst_prepare_pll()
389 struct drm_crtc *crtc; in radeon_mst_encoder_dpms() local
410 crtc = encoder->crtc; in radeon_mst_encoder_dpms()
417 radeon_crtc = to_radeon_crtc(crtc); in radeon_mst_encoder_dpms()
Drs780_dpm.c52 struct drm_crtc *crtc; in rs780_get_pm_mode_parameters() local
61 crtc = (struct drm_crtc *)minfo->crtcs[i]; in rs780_get_pm_mode_parameters()
62 if (crtc && crtc->enabled) { in rs780_get_pm_mode_parameters()
63 radeon_crtc = to_radeon_crtc(crtc); in rs780_get_pm_mode_parameters()
65 if (crtc->mode.htotal && crtc->mode.vtotal) in rs780_get_pm_mode_parameters()
66 pi->refresh_rate = drm_mode_vrefresh(&crtc->mode); in rs780_get_pm_mode_parameters()
Dradeon_connectors.c117 struct drm_crtc *crtc = encoder->crtc; in radeon_property_change_mode() local
119 if (crtc && crtc->enabled) { in radeon_property_change_mode()
120 drm_crtc_helper_set_mode(crtc, &crtc->mode, in radeon_property_change_mode()
121 crtc->x, crtc->y, crtc->primary->fb); in radeon_property_change_mode()
768 if (connector->encoder->crtc) { in radeon_connector_set_property()
769 struct drm_crtc *crtc = connector->encoder->crtc; in radeon_connector_set_property() local
770 const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; in radeon_connector_set_property()
771 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_connector_set_property()
775 (*crtc_funcs->load_lut)(crtc); in radeon_connector_set_property()
/linux-4.1.27/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
108 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in nv04_display_create()
109 crtc->funcs->save(crtc); in nv04_display_create()
128 struct drm_crtc *crtc; in nv04_display_destroy() local
131 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in nv04_display_destroy()
133 .crtc = crtc, in nv04_display_destroy()
146 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in nv04_display_destroy()
147 crtc->funcs->restore(crtc); in nv04_display_destroy()
161 struct drm_crtc *crtc; in nv04_display_init() local
177 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.c85 int head = nouveau_crtc(encoder->crtc)->index; in nv04_tv_dpms()
124 int head = nouveau_crtc(encoder->crtc)->index; in nv04_tv_prepare()
142 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv04_tv_mode_set()
166 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv04_tv_commit()
Dtvnv17.c410 int head = nouveau_crtc(encoder->crtc)->index; in nv17_tv_prepare()
431 !enc->crtc && in nv17_tv_prepare()
471 int head = nouveau_crtc(encoder->crtc)->index; in nv17_tv_mode_set()
584 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv17_tv_commit()
700 struct drm_crtc *crtc = encoder->crtc; in nv17_tv_set_property() local
707 if (encoder->crtc) { in nv17_tv_set_property()
733 if (encoder->crtc) in nv17_tv_set_property()
760 if (crtc) { in nv17_tv_set_property()
762 .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()
DKbuild2 nouveau-y += dispnv04/crtc.o
/linux-4.1.27/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.c986 cdv_intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, in cdv_intel_dp_set_m_n() argument
989 struct drm_device *dev = crtc->dev; in cdv_intel_dp_set_m_n()
993 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_intel_dp_set_m_n()
1005 if (encoder->crtc != crtc) in cdv_intel_dp_set_m_n()
1043 struct drm_crtc *crtc = encoder->crtc; in cdv_intel_dp_mode_set() local
1044 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in cdv_intel_dp_mode_set()
1887 if (encoder->base.crtc) { in cdv_intel_dp_set_property()
1888 struct drm_crtc *crtc = encoder->base.crtc; in cdv_intel_dp_set_property() local
1889 drm_crtc_helper_set_mode(crtc, &crtc->mode, in cdv_intel_dp_set_property()
1890 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()
Doaktrail.h252 extern int oaktrail_crtc_hdmi_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode,
255 extern void oaktrail_crtc_hdmi_dpms(struct drm_crtc *crtc, int mode);
Dpsb_intel_sdvo.c992 struct drm_crtc *crtc = encoder->crtc; in psb_intel_sdvo_mode_set() local
993 struct gma_crtc *gma_crtc = to_gma_crtc(crtc); in psb_intel_sdvo_mode_set()
1795 if (psb_intel_sdvo->base.base.crtc) { in psb_intel_sdvo_set_property()
1796 struct drm_crtc *crtc = psb_intel_sdvo->base.base.crtc; in psb_intel_sdvo_set_property() local
1797 drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x, in psb_intel_sdvo_set_property()
1798 crtc->y, crtc->primary->fb); in psb_intel_sdvo_set_property()
1819 struct drm_crtc *crtc = encoder->crtc; in psb_intel_sdvo_restore() local
1826 drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x, crtc->y, in psb_intel_sdvo_restore()
/linux-4.1.27/drivers/gpu/drm/i915/
Dintel_display.c78 static void intel_crtc_update_cursor(struct drm_crtc *crtc, bool on);
80 static void i9xx_crtc_clock_get(struct intel_crtc *crtc,
82 static void ironlake_pch_clock_get(struct intel_crtc *crtc,
85 static int intel_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode,
94 static void intel_cpu_transcoder_set_m_n(struct intel_crtc *crtc,
97 static void ironlake_set_pipeconf(struct drm_crtc *crtc);
98 static void haswell_set_pipeconf(struct drm_crtc *crtc);
99 static void intel_set_pipe_csc(struct drm_crtc *crtc);
100 static void vlv_prepare_pll(struct intel_crtc *crtc,
102 static void chv_prepare_pll(struct intel_crtc *crtc,
[all …]
Dintel_fbc.c68 static void i8xx_fbc_enable(struct drm_crtc *crtc) in i8xx_fbc_enable() argument
70 struct drm_device *dev = crtc->dev; in i8xx_fbc_enable()
72 struct drm_framebuffer *fb = crtc->primary->fb; in i8xx_fbc_enable()
74 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in i8xx_fbc_enable()
103 I915_WRITE(FBC_FENCE_OFF, crtc->y); in i8xx_fbc_enable()
117 cfb_pitch, crtc->y, plane_name(intel_crtc->plane)); in i8xx_fbc_enable()
127 static void g4x_fbc_enable(struct drm_crtc *crtc) in g4x_fbc_enable() argument
129 struct drm_device *dev = crtc->dev; in g4x_fbc_enable()
131 struct drm_framebuffer *fb = crtc->primary->fb; in g4x_fbc_enable()
133 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in g4x_fbc_enable()
[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_psr.c81 struct intel_crtc *crtc = to_intel_crtc(dig_port->base.base.crtc); in intel_psr_write_vsc() local
82 u32 ctl_reg = HSW_TVIDEO_DIP_CTL(crtc->config->cpu_transcoder); in intel_psr_write_vsc()
83 u32 data_reg = HSW_TVIDEO_DIP_VSC_DATA(crtc->config->cpu_transcoder); in intel_psr_write_vsc()
109 struct drm_crtc *crtc = intel_dig_port->base.base.crtc; in vlv_psr_setup_vsc() local
110 enum pipe pipe = to_intel_crtc(crtc)->pipe; in vlv_psr_setup_vsc()
203 struct drm_crtc *crtc = dig_port->base.base.crtc; in vlv_psr_enable_source() local
204 enum pipe pipe = to_intel_crtc(crtc)->pipe; in vlv_psr_enable_source()
218 struct drm_crtc *crtc = dig_port->base.base.crtc; in vlv_psr_activate() local
219 enum pipe pipe = to_intel_crtc(crtc)->pipe; in vlv_psr_activate()
265 struct drm_crtc *crtc = dig_port->base.base.crtc; in intel_psr_match_conditions() local
[all …]
Dintel_sprite.c80 bool intel_pipe_update_start(struct intel_crtc *crtc, uint32_t *start_vbl_count) in intel_pipe_update_start() argument
82 struct drm_device *dev = crtc->base.dev; in intel_pipe_update_start()
83 const struct drm_display_mode *mode = &crtc->config->base.adjusted_mode; in intel_pipe_update_start()
84 enum pipe pipe = crtc->pipe; in intel_pipe_update_start()
87 wait_queue_head_t *wq = drm_crtc_vblank_waitqueue(&crtc->base); in intel_pipe_update_start()
101 if (WARN_ON(drm_crtc_vblank_get(&crtc->base))) in intel_pipe_update_start()
106 trace_i915_pipe_update_start(crtc, min, max); in intel_pipe_update_start()
116 scanline = intel_get_crtc_scanline(crtc); in intel_pipe_update_start()
122 pipe_name(crtc->pipe)); in intel_pipe_update_start()
135 drm_crtc_vblank_put(&crtc->base); in intel_pipe_update_start()
[all …]
Dintel_atomic.c78 struct intel_crtc *crtc = to_intel_crtc(state->crtcs[i]); in intel_atomic_check() local
79 if (crtc && crtc->pipe != nuclear_pipe) in intel_atomic_check()
214 intel_crtc_duplicate_state(struct drm_crtc *crtc) in intel_crtc_duplicate_state() argument
216 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_crtc_duplicate_state()
226 crtc_state->base.crtc = crtc; in intel_crtc_duplicate_state()
239 intel_crtc_destroy_state(struct drm_crtc *crtc, in intel_crtc_destroy_state() argument
242 drm_atomic_helper_crtc_destroy_state(crtc, state); in intel_crtc_destroy_state()
Dintel_fbdev.c290 static void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, in intel_crtc_fb_gamma_set() argument
293 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_crtc_fb_gamma_set()
300 static void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, in intel_crtc_fb_gamma_get() argument
303 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_crtc_fb_gamma_get()
311 intel_fb_helper_crtc(struct drm_fb_helper *fb_helper, struct drm_crtc *crtc) in intel_fb_helper_crtc() argument
316 if (fb_helper->crtc_info[i].mode_set.crtc == crtc) in intel_fb_helper_crtc()
405 if (!encoder || WARN_ON(!encoder->crtc)) { in intel_fb_initial_config()
418 new_crtc = intel_fb_helper_crtc(fb_helper, encoder->crtc); in intel_fb_initial_config()
470 intel_mode_from_pipe_config(&encoder->crtc->hwmode, in intel_fb_initial_config()
471 to_intel_crtc(encoder->crtc)->config); in intel_fb_initial_config()
[all …]
Dintel_drv.h530 struct drm_crtc *crtc,
537 struct drm_crtc *crtc);
735 struct drm_crtc *crtc; member
805 static inline unsigned int intel_num_planes(struct intel_crtc *crtc) in intel_num_planes() argument
807 return INTEL_INFO(crtc->base.dev)->num_sprites[crtc->pipe] + 1; in intel_num_planes()
842 int intel_get_crtc_scanline(struct intel_crtc *crtc);
852 void hsw_fdi_link_train(struct drm_crtc *crtc);
858 void intel_ddi_enable_transcoder_func(struct drm_crtc *crtc);
863 bool intel_ddi_pll_select(struct intel_crtc *crtc,
865 void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
[all …]
Dintel_dvo.c185 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_enable_dvo() local
190 &crtc->config->base.mode, in intel_enable_dvo()
191 &crtc->config->base.adjusted_mode); in intel_enable_dvo()
203 struct drm_crtc *crtc; in intel_dvo_dpms() local
216 crtc = intel_dvo->base.base.crtc; in intel_dvo_dpms()
217 if (!crtc) { in intel_dvo_dpms()
225 config = to_intel_crtc(crtc)->config; in intel_dvo_dpms()
229 intel_crtc_update_dpms(crtc); in intel_dvo_dpms()
237 intel_crtc_update_dpms(crtc); in intel_dvo_dpms()
298 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_dvo_pre_enable() local
[all …]
Dintel_atomic_plane.c112 struct drm_crtc *crtc = state->crtc; in intel_plane_atomic_check() local
117 crtc = crtc ? crtc : plane->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()
Dintel_pm.c622 struct drm_crtc *crtc, *enabled = NULL; in single_enabled_crtc() local
624 for_each_crtc(dev, crtc) { in single_enabled_crtc()
625 if (intel_crtc_active(crtc)) { in single_enabled_crtc()
628 enabled = crtc; in single_enabled_crtc()
639 struct drm_crtc *crtc; in pineview_update_wm() local
652 crtc = single_enabled_crtc(dev); in pineview_update_wm()
653 if (crtc) { in pineview_update_wm()
655 int pixel_size = crtc->primary->state->fb->bits_per_pixel / 8; in pineview_update_wm()
658 adjusted_mode = &to_intel_crtc(crtc)->config->base.adjusted_mode; in pineview_update_wm()
714 struct drm_crtc *crtc; in g4x_compute_wm0() local
[all …]
Dintel_ddi.c342 void hsw_fdi_link_train(struct drm_crtc *crtc) in hsw_fdi_link_train() argument
344 struct drm_device *dev = crtc->dev; in hsw_fdi_link_train()
346 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in hsw_fdi_link_train()
474 intel_ddi_get_crtc_encoder(struct drm_crtc *crtc) in intel_ddi_get_crtc_encoder() argument
476 struct drm_device *dev = crtc->dev; in intel_ddi_get_crtc_encoder()
477 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_ddi_get_crtc_encoder()
481 for_each_encoder_on_crtc(dev, crtc, intel_encoder) { in intel_ddi_get_crtc_encoder()
497 struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc); in intel_ddi_get_crtc_new_encoder() local
507 state->connector_states[i]->crtc != crtc_state->base.crtc) in intel_ddi_get_crtc_new_encoder()
515 pipe_name(crtc->pipe)); in intel_ddi_get_crtc_new_encoder()
[all …]
Dintel_hdmi.c190 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_write_infoframe()
225 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_infoframe_enabled()
239 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_write_infoframe()
277 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_infoframe_enabled()
291 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_write_infoframe()
326 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_infoframe_enabled()
340 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_write_infoframe()
374 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_infoframe_enabled()
425 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in intel_hdmi_set_avi_infoframe()
541 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_set_infoframes()
[all …]
Dintel_lvds.c141 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_pre_enable_lvds() local
143 &crtc->config->base.adjusted_mode; in intel_pre_enable_lvds()
144 int pipe = crtc->pipe; in intel_pre_enable_lvds()
150 intel_crtc_to_shared_dpll(crtc)); in intel_pre_enable_lvds()
171 temp |= crtc->config->gmch_pfit.lvds_border_bits; in intel_pre_enable_lvds()
194 if (crtc->config->dither && crtc->config->pipe_bpp == 18) in intel_pre_enable_lvds()
289 struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->base.crtc); in intel_lvds_compute_config()
498 struct drm_crtc *crtc; in intel_lvds_set_property() local
511 crtc = intel_attached_encoder(connector)->base.crtc; in intel_lvds_set_property()
512 if (crtc && crtc->state->enable) { in intel_lvds_set_property()
[all …]
Di915_trace.h20 TP_PROTO(struct intel_crtc *crtc, u32 min, u32 max),
21 TP_ARGS(crtc, min, max),
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);
46 TP_PROTO(struct intel_crtc *crtc, u32 min, u32 max, u32 frame),
47 TP_ARGS(crtc, min, max, frame),
58 __entry->pipe = crtc->pipe;
60 __entry->scanline = intel_get_crtc_scanline(crtc);
[all …]
Dintel_overlay.c172 struct intel_crtc *crtc; member
318 overlay->crtc->overlay = NULL; in intel_overlay_off_tail()
319 overlay->crtc = NULL; in intel_overlay_off_tail()
425 INTEL_FRONTBUFFER_OVERLAY(overlay->crtc->pipe)); in intel_overlay_release_old_vid()
441 overlay->crtc = NULL; in intel_overlay_reset()
633 switch (overlay->crtc->base.primary->fb->bits_per_pixel) { in update_colorkey()
640 if (overlay->crtc->base.primary->fb->depth == 15) { in update_colorkey()
713 enum pipe pipe = overlay->crtc->pipe; in intel_overlay_do_put_image()
854 struct intel_crtc *crtc) in check_overlay_possible_on_crtc() argument
856 if (!crtc->active) in check_overlay_possible_on_crtc()
[all …]
Dintel_crt.c160 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_crt_set_dpms() local
161 struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_crt_set_dpms()
178 adpa |= PORT_TRANS_SEL_CPT(crtc->pipe); in intel_crt_set_dpms()
179 else if (crtc->pipe == 0) in intel_crt_set_dpms()
185 I915_WRITE(BCLRPAT(crtc->pipe), 0); in intel_crt_set_dpms()
236 struct drm_crtc *crtc; in intel_crt_dpms() local
250 crtc = encoder->base.crtc; in intel_crt_dpms()
251 if (!crtc) { in intel_crt_dpms()
266 intel_crtc_update_dpms(crtc); in intel_crt_dpms()
272 intel_crtc_update_dpms(crtc); in intel_crt_dpms()
[all …]
Dintel_dp_mst.c155 struct drm_crtc *crtc = encoder->base.crtc; in intel_mst_pre_enable_dp() local
156 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_mst_pre_enable_dp()
241 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_dp_mst_enc_get_config() local
276 intel_dp_get_m_n(crtc, pipe_config); in intel_dp_mst_enc_get_config()
459 if (connector->state->crtc) { in intel_dp_destroy_mst_connector()
464 set.crtc = connector->state->crtc, in intel_dp_destroy_mst_connector()
Dintel_dp.c1335 struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->base.crtc); in intel_dp_compute_config()
1488 struct intel_crtc *crtc = to_intel_crtc(dig_port->base.base.crtc); in ironlake_set_pll_cpu_edp() local
1489 struct drm_device *dev = crtc->base.dev; in ironlake_set_pll_cpu_edp()
1494 crtc->config->port_clock); in ironlake_set_pll_cpu_edp()
1498 if (crtc->config->port_clock == 162000) { in ironlake_set_pll_cpu_edp()
1522 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_dp_prepare() local
1523 struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode; in intel_dp_prepare()
1551 if (crtc->config->has_audio) in intel_dp_prepare()
1566 intel_dp->DP |= crtc->pipe << 29; in intel_dp_prepare()
1581 if (crtc->pipe == 1) in intel_dp_prepare()
[all …]
Dintel_audio.c181 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in hsw_audio_codec_disable()
209 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in hsw_audio_codec_enable()
261 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in ilk_audio_codec_disable()
312 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in ilk_audio_codec_enable()
402 struct intel_crtc *crtc = to_intel_crtc(encoder->crtc); in intel_audio_codec_enable() local
403 struct drm_display_mode *mode = &crtc->config->base.adjusted_mode; in intel_audio_codec_enable()
420 if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) in intel_audio_codec_enable()
Di915_debugfs.c542 struct intel_crtc *crtc; in i915_gem_pageflip_info() local
549 for_each_intel_crtc(dev, crtc) { in i915_gem_pageflip_info()
550 const char pipe = pipe_name(crtc->pipe); in i915_gem_pageflip_info()
551 const char plane = plane_name(crtc->plane); in i915_gem_pageflip_info()
555 work = crtc->unpin_work; in i915_gem_pageflip_info()
584 drm_crtc_vblank_count(&crtc->base)); in i915_gem_pageflip_info()
592 addr = I915_HI_DISPBASE(I915_READ(DSPSURF(crtc->plane))); in i915_gem_pageflip_info()
594 addr = I915_READ(DSPADDR(crtc->plane)); in i915_gem_pageflip_info()
2519 struct drm_crtc *crtc = &intel_crtc->base; in intel_encoder_info() local
2533 struct drm_display_mode *mode = &crtc->mode; in intel_encoder_info()
[all …]
Dintel_sdvo.c997 struct drm_crtc *crtc = intel_sdvo->base.base.crtc; in intel_sdvo_set_avi_infoframe() local
998 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); in intel_sdvo_set_avi_infoframe()
1183 struct intel_crtc *crtc = to_intel_crtc(intel_encoder->base.crtc); in intel_sdvo_pre_enable() local
1185 &crtc->config->base.adjusted_mode; in intel_sdvo_pre_enable()
1186 struct drm_display_mode *mode = &crtc->config->base.mode; in intel_sdvo_pre_enable()
1228 if (crtc->config->has_hdmi_sink) { in intel_sdvo_pre_enable()
1248 switch (crtc->config->pixel_multiplier) { in intel_sdvo_pre_enable()
1263 if (!HAS_PCH_SPLIT(dev) && crtc->config->limited_color_range) in intel_sdvo_pre_enable()
1281 sdvox |= SDVO_PIPE_SEL_CPT(crtc->pipe); in intel_sdvo_pre_enable()
1283 sdvox |= SDVO_PIPE_SEL(crtc->pipe); in intel_sdvo_pre_enable()
[all …]
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()
Di915_drv.h238 #define for_each_crtc(dev, crtc) \ argument
239 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
257 if ((intel_encoder)->base.crtc == (__crtc))
531 void (*enable_fbc)(struct drm_crtc *crtc);
553 void (*update_wm)(struct drm_crtc *crtc);
555 struct drm_crtc *crtc,
565 int (*crtc_compute_clock)(struct intel_crtc *crtc,
567 void (*crtc_enable)(struct drm_crtc *crtc);
568 void (*crtc_disable)(struct drm_crtc *crtc);
569 void (*off)(struct drm_crtc *crtc);
[all …]
/linux-4.1.27/drivers/staging/sm750fb/
Dsm750.c132 struct lynxfb_crtc *crtc; in lynxfb_ops_cursor() local
136 crtc = &par->crtc; in lynxfb_ops_cursor()
137 cursor = &crtc->cursor; in lynxfb_ops_cursor()
201 base = par->crtc.oScreen; in lynxfb_ops_fillrect()
236 base = par->crtc.oScreen; in lynxfb_ops_copyarea()
267 base = par->crtc.oScreen; in lynxfb_ops_imageblit()
305 struct lynxfb_crtc *crtc; in lynxfb_ops_pan_display() local
314 crtc = &par->crtc; in lynxfb_ops_pan_display()
315 ret = crtc->proc_panDisplay(crtc, var, info); in lynxfb_ops_pan_display()
324 struct lynxfb_crtc *crtc; in lynxfb_ops_set_par() local
[all …]
Dsm750_hw.c268 int hw_sm750_crtc_checkMode(struct lynxfb_crtc* crtc, struct fb_var_screeninfo* var) in hw_sm750_crtc_checkMode() argument
273 share = container_of(crtc, struct lynxfb_par,crtc)->share; in hw_sm750_crtc_checkMode()
297 int hw_sm750_crtc_setMode(struct lynxfb_crtc* crtc, in hw_sm750_crtc_setMode() argument
310 par = container_of(crtc, struct lynxfb_par, crtc); in hw_sm750_crtc_setMode()
347 if(crtc->channel != sm750_secondary) in hw_sm750_crtc_setMode()
359 if(crtc->channel != sm750_secondary){ in hw_sm750_crtc_setMode()
364 FIELD_VALUE(0, PANEL_FB_ADDRESS, ADDRESS, crtc->oScreen)); in hw_sm750_crtc_setMode()
368 reg = PADDING(crtc->line_pad,reg); in hw_sm750_crtc_setMode()
397 POKE32(CRT_FB_ADDRESS, crtc->oScreen); in hw_sm750_crtc_setMode()
400 reg = PADDING(crtc->line_pad, reg); in hw_sm750_crtc_setMode()
[all …]
/linux-4.1.27/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)
69 static void vmw_sou_crtc_destroy(struct drm_crtc *crtc) in vmw_sou_crtc_destroy() argument
71 vmw_sou_destroy(vmw_crtc_to_sou(crtc)); in vmw_sou_crtc_destroy()
261 struct drm_crtc *crtc; in vmw_sou_crtc_set_config() local
267 if (!set->crtc) in vmw_sou_crtc_set_config()
271 crtc = set->crtc; in vmw_sou_crtc_set_config()
272 sou = vmw_crtc_to_sou(crtc); in vmw_sou_crtc_set_config()
274 dev_priv = vmw_priv(crtc->dev); in vmw_sou_crtc_set_config()
310 encoder->crtc = NULL; in vmw_sou_crtc_set_config()
311 crtc->primary->fb = NULL; in vmw_sou_crtc_set_config()
[all …]
Dvmwgfx_kms.h58 container_of(x, struct vmw_display_unit, crtc)
82 struct drm_crtc crtc; member
115 container_of(x, struct vmw_display_unit, crtc)
124 int vmw_du_page_flip(struct drm_crtc *crtc,
128 void vmw_du_crtc_save(struct drm_crtc *crtc);
129 void vmw_du_crtc_restore(struct drm_crtc *crtc);
130 void vmw_du_crtc_gamma_set(struct drm_crtc *crtc,
133 int vmw_du_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv,
135 int vmw_du_crtc_cursor_move(struct drm_crtc *crtc, int x, int y);
162 struct drm_crtc *crtc);
[all …]
Dvmwgfx_kms.c79 drm_crtc_cleanup(&du->crtc); in vmw_display_unit_cleanup()
174 int vmw_du_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, in vmw_du_crtc_cursor_set() argument
177 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_cursor_set()
178 struct vmw_display_unit *du = vmw_crtc_to_du(crtc); in vmw_du_crtc_cursor_set()
190 drm_modeset_unlock_crtc(crtc); in vmw_du_crtc_cursor_set()
221 du->cursor_surface->snooper.crtc = NULL; in vmw_du_crtc_cursor_set()
232 du->cursor_surface->snooper.crtc = crtc; in vmw_du_crtc_cursor_set()
255 drm_modeset_lock_crtc(crtc, crtc->cursor); in vmw_du_crtc_cursor_set()
260 int vmw_du_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) in vmw_du_crtc_cursor_move() argument
262 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_cursor_move()
[all …]
/linux-4.1.27/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.h63 struct drm_crtc *crtc,
72 int drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc,
81 int drm_atomic_helper_page_flip(struct drm_crtc *crtc,
89 void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc);
90 void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
93 drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc);
94 void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
96 void drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
131 #define drm_atomic_crtc_for_each_plane(plane, crtc) \ argument
132 drm_for_each_plane_mask(plane, (crtc)->dev, (crtc)->state->plane_mask)
[all …]
DdrmP.h426 u32 (*get_vblank_counter) (struct drm_device *dev, int crtc);
441 int (*enable_vblank) (struct drm_device *dev, int crtc);
452 void (*disable_vblank) (struct drm_device *dev, int crtc);
497 int (*get_scanout_position) (struct drm_device *dev, int crtc,
532 int (*get_vblank_timestamp) (struct drm_device *dev, int crtc,
697 int crtc; /* crtc index */ member
919 extern u32 drm_vblank_count(struct drm_device *dev, int crtc);
920 extern u32 drm_crtc_vblank_count(struct drm_crtc *crtc);
921 extern u32 drm_vblank_count_and_time(struct drm_device *dev, int crtc,
923 extern void drm_send_vblank_event(struct drm_device *dev, int crtc,
[all …]
Ddrm_atomic.h40 struct drm_crtc *crtc);
41 int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
59 struct drm_crtc *crtc);
64 struct drm_crtc *crtc);
67 struct drm_crtc *crtc);
70 struct drm_crtc *crtc);
86 #define for_each_crtc_in_state(state, crtc, crtc_state, __i) \ argument
89 ((crtc) = (state)->crtcs[__i], \
Ddrm_crtc.h274 struct drm_crtc *crtc; member
335 void (*save)(struct drm_crtc *crtc); /* suspend? */
337 void (*restore)(struct drm_crtc *crtc); /* resume? */
339 void (*reset)(struct drm_crtc *crtc);
342 int (*cursor_set)(struct drm_crtc *crtc, struct drm_file *file_priv,
344 int (*cursor_set2)(struct drm_crtc *crtc, struct drm_file *file_priv,
347 int (*cursor_move)(struct drm_crtc *crtc, int x, int y);
350 void (*gamma_set)(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
353 void (*destroy)(struct drm_crtc *crtc);
366 int (*page_flip)(struct drm_crtc *crtc,
[all …]
Ddrm_plane_helper.h47 struct drm_crtc *crtc,
83 struct drm_crtc *crtc,
94 struct drm_crtc *crtc,
104 int drm_plane_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
Ddrm_modeset_lock.h135 void drm_modeset_lock_crtc(struct drm_crtc *crtc,
137 void drm_modeset_unlock_crtc(struct drm_crtc *crtc);
140 drm_modeset_legacy_acquire_ctx(struct drm_crtc *crtc);
Ddrm_fb_helper.h89 void (*gamma_set)(struct drm_crtc *crtc, u16 red, u16 green,
91 void (*gamma_get)(struct drm_crtc *crtc, u16 *red, u16 *green,
/linux-4.1.27/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.1.27/drivers/gpu/drm/imx/
Dimx-drm-core.c41 struct imx_drm_crtc *crtc[MAX_CRTC]; member
47 struct drm_crtc *crtc; member
55 int imx_drm_crtc_id(struct imx_drm_crtc *crtc) in imx_drm_crtc_id() argument
57 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.h15 int imx_drm_crtc_id(struct imx_drm_crtc *crtc);
18 int (*enable_vblank)(struct drm_crtc *crtc);
19 void (*disable_vblank)(struct drm_crtc *crtc);
20 int (*set_interface_pix_fmt)(struct drm_crtc *crtc,
26 int imx_drm_add_crtc(struct drm_device *drm, struct drm_crtc *crtc,
Dipuv3-plane.c97 int ipu_plane_mode_set(struct ipu_plane *ipu_plane, struct drm_crtc *crtc, in ipu_plane_mode_set() argument
299 static int ipu_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, in ipu_update_plane() argument
315 ret = ipu_plane_mode_set(ipu_plane, crtc, &crtc->hwmode, fb, in ipu_update_plane()
324 if (crtc != plane->crtc) in ipu_update_plane()
326 plane->crtc, crtc); in ipu_update_plane()
327 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.1.27/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()
234 static int shmob_drm_enable_vblank(struct drm_device *dev, int crtc) in shmob_drm_enable_vblank() argument
243 static void shmob_drm_disable_vblank(struct drm_device *dev, int crtc) in shmob_drm_disable_vblank() argument
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
Dshmob_drm_crtc.h24 struct drm_crtc crtc; member
/linux-4.1.27/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.c273 static void ast_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, in ast_fb_gamma_set() argument
276 struct ast_crtc *ast_crtc = to_ast_crtc(crtc); in ast_fb_gamma_set()
282 static void ast_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, in ast_fb_gamma_get() argument
285 struct ast_crtc *ast_crtc = to_ast_crtc(crtc); in ast_fb_gamma_get()
/linux-4.1.27/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.1.27/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.1.27/drivers/gpu/drm/armada/
Darmada_crtc.c136 if (dcrtc->crtc.mode.flags & DRM_MODE_FLAG_NCSYNC) in armada_drm_crtc_update()
138 if (dcrtc->crtc.mode.flags & DRM_MODE_FLAG_NHSYNC) in armada_drm_crtc_update()
140 if (dcrtc->crtc.mode.flags & DRM_MODE_FLAG_NVSYNC) in armada_drm_crtc_update()
179 struct drm_device *dev = dcrtc->crtc.dev; in armada_drm_crtc_queue_frame_work()
204 struct drm_device *dev = dcrtc->crtc.dev; in armada_drm_crtc_complete_frame_work()
217 __armada_drm_queue_unref_work(dcrtc->crtc.dev, work->old_fb); in armada_drm_crtc_complete_frame_work()
258 struct drm_device *dev = dcrtc->crtc.dev; in armada_drm_vblank_off()
264 drm_crtc_vblank_off(&dcrtc->crtc); in armada_drm_vblank_off()
273 void armada_drm_crtc_gamma_set(struct drm_crtc *crtc, u16 r, u16 g, u16 b, in armada_drm_crtc_gamma_set() argument
278 void armada_drm_crtc_gamma_get(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b, in armada_drm_crtc_gamma_get() argument
[all …]
Darmada_overlay.c87 armada_drm_queue_unref_work(dcrtc->crtc.dev, fb); in armada_plane_vbl()
101 armada_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, in armada_plane_update() argument
107 struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc); in armada_plane_update()
112 crtc_w = armada_limit(crtc_x, crtc_w, dcrtc->crtc.mode.hdisplay); in armada_plane_update()
113 crtc_h = armada_limit(crtc_y, crtc_h, dcrtc->crtc.mode.vdisplay); in armada_plane_update()
177 armada_drm_queue_unref_work(dcrtc->crtc.dev, in armada_plane_update()
251 if (!dplane->base.crtc) in armada_plane_disable()
254 dcrtc = drm_to_armada_crtc(dplane->base.crtc); in armada_plane_disable()
346 if (update_attr && dplane->base.crtc) in armada_plane_set_property()
348 drm_to_armada_crtc(dplane->base.crtc)); in armada_plane_set_property()
Darmada_drv.c242 drm_vblank_get(dcrtc->crtc.dev, dcrtc->num); in armada_drm_vbl_event_add()
252 drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); in armada_drm_vbl_event_remove()
267 static int armada_drm_enable_vblank(struct drm_device *dev, int crtc) in armada_drm_enable_vblank() argument
270 armada_drm_crtc_enable_irq(priv->dcrtc[crtc], VSYNC_IRQ_ENA); in armada_drm_enable_vblank()
274 static void armada_drm_disable_vblank(struct drm_device *dev, int crtc) in armada_drm_disable_vblank() argument
277 armada_drm_crtc_disable_irq(priv->dcrtc[crtc], VSYNC_IRQ_ENA); in armada_drm_disable_vblank()
Darmada_crtc.h38 struct drm_crtc crtc; member
76 #define drm_to_armada_crtc(c) container_of(c, struct armada_crtc, crtc)
/linux-4.1.27/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()
119 if (retry) ndelay(crtc->linedur_ns); 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.c406 return nouveau_encoder(encoder)->crtc; in nv50_display_crtc_get()
494 nv50_display_crtc_sema(struct drm_device *dev, int crtc) in nv50_display_crtc_sema() argument
516 nv50_display_flip_stop(struct drm_crtc *crtc) in nv50_display_flip_stop() argument
518 struct nvif_device *device = &nouveau_drm(crtc->dev)->device; in nv50_display_flip_stop()
520 .disp = nv50_disp(crtc->dev), in nv50_display_flip_stop()
521 .chan = nv50_sync(crtc), in nv50_display_flip_stop()
542 nv50_display_flip_next(struct drm_crtc *crtc, struct drm_framebuffer *fb, in nv50_display_flip_next() argument
546 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_display_flip_next()
547 struct nv50_head *head = nv50_head(crtc); in nv50_display_flip_next()
548 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
75 int nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb,
Dnouveau_encoder.h48 struct drm_crtc *crtc; member
/linux-4.1.27/drivers/video/fbdev/aty/
Datyfb_base.c252 static void aty_get_crtc(const struct atyfb_par *par, struct crtc *crtc);
254 static void aty_set_crtc(const struct atyfb_par *par, const struct crtc *crtc);
257 struct crtc *crtc);
258 static int aty_crtc_to_var(const struct crtc *crtc,
633 static void aty_get_crtc(const struct atyfb_par *par, struct crtc *crtc) in aty_get_crtc() argument
638 crtc->lcd_index = aty_ld_le32(LCD_INDEX, par); in aty_get_crtc()
639 aty_st_le32(LCD_INDEX, crtc->lcd_index, par); in aty_get_crtc()
641 crtc->lcd_config_panel = aty_ld_lcd(CNFG_PANEL, par); in aty_get_crtc()
642 crtc->lcd_gen_cntl = aty_ld_lcd(LCD_GEN_CNTL, par); in aty_get_crtc()
646 aty_st_lcd(LCD_GEN_CNTL, crtc->lcd_gen_cntl & in aty_get_crtc()
[all …]
Daty128fb.c450 struct aty128_crtc crtc; member
753 pitch_value = par->crtc.pitch; in aty128_init_engine()
754 if (par->crtc.bpp == 24) { in aty128_init_engine()
775 (depth_to_dst(par->crtc.depth) << 8) | in aty128_init_engine()
1037 static void aty128_set_crtc(const struct aty128_crtc *crtc, in aty128_set_crtc() argument
1040 aty_st_le32(CRTC_GEN_CNTL, crtc->gen_cntl); in aty128_set_crtc()
1041 aty_st_le32(CRTC_H_TOTAL_DISP, crtc->h_total); in aty128_set_crtc()
1042 aty_st_le32(CRTC_H_SYNC_STRT_WID, crtc->h_sync_strt_wid); in aty128_set_crtc()
1043 aty_st_le32(CRTC_V_TOTAL_DISP, crtc->v_total); in aty128_set_crtc()
1044 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
190 struct crtc saved_crtc;
/linux-4.1.27/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()
220 if (plane->plane.state->crtc != &rcrtc->crtc) in rcar_du_crtc_update_planes()
284 struct drm_device *dev = rcrtc->crtc.dev; in rcar_du_crtc_cancel_page_flip()
295 drm_crtc_vblank_put(&rcrtc->crtc); in rcar_du_crtc_cancel_page_flip()
303 struct drm_device *dev = rcrtc->crtc.dev; in rcar_du_crtc_finish_page_flip()
319 drm_crtc_vblank_put(&rcrtc->crtc); in rcar_du_crtc_finish_page_flip()
324 struct drm_device *dev = rcrtc->crtc.dev; in rcar_du_crtc_page_flip_pending()
355 struct drm_crtc *crtc = &rcrtc->crtc; in rcar_du_crtc_start() local
[all …]
Drcar_du_crtc.h26 struct drm_crtc crtc; member
43 #define to_rcar_crtc(c) container_of(c, struct rcar_du_crtc, crtc)
61 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()
Drcar_du_drv.c224 static int rcar_du_enable_vblank(struct drm_device *dev, int crtc) in rcar_du_enable_vblank() argument
228 rcar_du_crtc_enable_vblank(&rcdu->crtcs[crtc], true); in rcar_du_enable_vblank()
233 static void rcar_du_disable_vblank(struct drm_device *dev, int crtc) in rcar_du_disable_vblank() argument
237 rcar_du_crtc_enable_vblank(&rcdu->crtcs[crtc], false); in rcar_du_disable_vblank()
/linux-4.1.27/drivers/gpu/drm/rockchip/
Drockchip_drm_vop.c61 #define to_vop(x) container_of(x, struct vop, crtc)
81 struct drm_crtc crtc; member
416 static void vop_enable(struct drm_crtc *crtc) in vop_enable() argument
418 struct vop *vop = to_vop(crtc); in vop_enable()
485 static void vop_disable(struct drm_crtc *crtc) in vop_disable() argument
487 struct vop *vop = to_vop(crtc); in vop_disable()
492 drm_vblank_off(crtc->dev, vop->pipe); in vop_disable()
567 struct drm_crtc *crtc, in vop_update_plane_event() argument
577 struct vop *vop = to_vop(crtc); in vop_update_plane_event()
606 .x2 = crtc->mode.hdisplay, in vop_update_plane_event()
[all …]
Drockchip_drm_drv.c95 struct drm_crtc *crtc; in rockchip_crtc_from_pipe() local
98 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) in rockchip_crtc_from_pipe()
100 return crtc; in rockchip_crtc_from_pipe()
108 struct drm_crtc *crtc = rockchip_crtc_from_pipe(dev, pipe); in rockchip_drm_crtc_enable_vblank() local
110 if (crtc && priv->crtc_funcs[pipe] && in rockchip_drm_crtc_enable_vblank()
112 return priv->crtc_funcs[pipe]->enable_vblank(crtc); in rockchip_drm_crtc_enable_vblank()
120 struct drm_crtc *crtc = rockchip_crtc_from_pipe(dev, pipe); in rockchip_drm_crtc_disable_vblank() local
122 if (crtc && priv->crtc_funcs[pipe] && in rockchip_drm_crtc_disable_vblank()
124 priv->crtc_funcs[pipe]->disable_vblank(crtc); in rockchip_drm_crtc_disable_vblank()
389 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.1.27/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.c119 u16 crtc; in vga_recalc_vertical() local
129 crtc = vga_crtc(); in vga_recalc_vertical()
131 pt = in_idx(crtc, 0x11); in vga_recalc_vertical()
133 out_idx(pt, crtc, 0x11); in vga_recalc_vertical()
135 out_idx((u8)rows, crtc, 0x12); /* Lower height register */ in vga_recalc_vertical()
137 ov = in_idx(crtc, 0x07); /* Overflow register */ in vga_recalc_vertical()
141 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.1.27/drivers/gpu/drm/r128/
Dr128_irq.c37 u32 r128_get_vblank_counter(struct drm_device *dev, int crtc) in r128_get_vblank_counter() argument
41 if (crtc != 0) in r128_get_vblank_counter()
65 int r128_enable_vblank(struct drm_device *dev, int crtc) in r128_enable_vblank() argument
69 if (crtc != 0) { in r128_enable_vblank()
70 DRM_ERROR("%s: bad crtc %d\n", __func__, crtc); in r128_enable_vblank()
78 void r128_disable_vblank(struct drm_device *dev, int crtc) in r128_disable_vblank() argument
80 if (crtc != 0) in r128_disable_vblank()
81 DRM_ERROR("%s: bad crtc %d\n", __func__, crtc); in r128_disable_vblank()
Dr128_drv.h157 extern int r128_enable_vblank(struct drm_device *dev, int crtc);
158 extern void r128_disable_vblank(struct drm_device *dev, int crtc);
159 extern u32 r128_get_vblank_counter(struct drm_device *dev, int crtc);
/linux-4.1.27/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
590 static void mga_g200wb_prepare(struct drm_crtc *crtc) in mga_g200wb_prepare() argument
592 struct mga_device *mdev = crtc->dev->dev_private; in mga_g200wb_prepare()
644 static void mga_g200wb_commit(struct drm_crtc *crtc) in mga_g200wb_commit() argument
647 struct mga_device *mdev = crtc->dev->dev_private; in mga_g200wb_commit()
[all …]
Dmgag200_drv.h133 struct mga_crtc *crtc; member
238 void mga_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
240 void mga_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
306 int mga_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv,
308 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()
259 int mga_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) in mga_crtc_cursor_move() argument
261 struct mga_device *mdev = (struct mga_device *)crtc->dev->dev_private; in mga_crtc_cursor_move()
/linux-4.1.27/drivers/gpu/drm/mga/
Dmga_irq.c38 u32 mga_get_vblank_counter(struct drm_device *dev, int crtc) in mga_get_vblank_counter() argument
43 if (crtc != 0) in mga_get_vblank_counter()
91 int mga_enable_vblank(struct drm_device *dev, int crtc) in mga_enable_vblank() argument
95 if (crtc != 0) { in mga_enable_vblank()
97 crtc); in mga_enable_vblank()
106 void mga_disable_vblank(struct drm_device *dev, int crtc) in mga_disable_vblank() argument
108 if (crtc != 0) { in mga_disable_vblank()
110 crtc); in mga_disable_vblank()
/linux-4.1.27/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()
292 static int qxl_crtc_cursor_set2(struct drm_crtc *crtc, in qxl_crtc_cursor_set2() argument
298 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()
199 static u32 qxl_noop_get_vblank_counter(struct drm_device *dev, int crtc) in qxl_noop_get_vblank_counter() argument
201 return dev->vblank[crtc].count.counter; in qxl_noop_get_vblank_counter()
204 static int qxl_noop_enable_vblank(struct drm_device *dev, int crtc) in qxl_noop_enable_vblank() argument
209 static void qxl_noop_disable_vblank(struct drm_device *dev, int crtc) in qxl_noop_disable_vblank() argument
/linux-4.1.27/drivers/gpu/drm/tegra/
Ddc.c494 crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc); in tegra_plane_state_add()
511 struct tegra_dc *dc = to_tegra_dc(state->crtc); in tegra_plane_atomic_check()
515 if (!state->crtc) in tegra_plane_atomic_check()
556 struct tegra_dc *dc = to_tegra_dc(plane->state->crtc); in tegra_plane_atomic_update()
563 if (!plane->state->crtc || !plane->state->fb) in tegra_plane_atomic_update()
602 if (!old_state || !old_state->crtc) in tegra_plane_atomic_disable()
605 dc = to_tegra_dc(old_state->crtc); in tegra_plane_atomic_disable()
679 if (!state->crtc) in tegra_cursor_atomic_check()
706 struct tegra_dc *dc = to_tegra_dc(plane->state->crtc); in tegra_cursor_atomic_update()
711 if (!plane->state->crtc || !plane->state->fb) in tegra_cursor_atomic_update()
[all …]
Ddrm.c806 struct drm_crtc *crtc; in tegra_crtc_from_pipe() local
808 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) { in tegra_crtc_from_pipe()
809 if (pipe == drm_crtc_index(crtc)) in tegra_crtc_from_pipe()
810 return crtc; in tegra_crtc_from_pipe()
818 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); in tegra_drm_get_vblank_counter() local
819 struct tegra_dc *dc = to_tegra_dc(crtc); in tegra_drm_get_vblank_counter()
821 if (!crtc) in tegra_drm_get_vblank_counter()
829 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); in tegra_drm_enable_vblank() local
830 struct tegra_dc *dc = to_tegra_dc(crtc); in tegra_drm_enable_vblank()
832 if (!crtc) in tegra_drm_enable_vblank()
[all …]
Ddrm.h144 static inline struct tegra_dc *to_tegra_dc(struct drm_crtc *crtc) in to_tegra_dc() argument
146 return crtc ? container_of(crtc, struct tegra_dc, base) : NULL; in to_tegra_dc()
187 void tegra_dc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
/linux-4.1.27/drivers/video/fbdev/
Di740fb.c55 u8 crtc[VGA_CRT_C]; member
510 par->crtc[VGA_CRTC_H_TOTAL] = (xtotal >> 3) - 5; in i740fb_decode_var()
511 par->crtc[VGA_CRTC_H_DISP] = (xres >> 3) - 1; in i740fb_decode_var()
512 par->crtc[VGA_CRTC_H_BLANK_START] = ((xres + right) >> 3) - 1; in i740fb_decode_var()
513 par->crtc[VGA_CRTC_H_SYNC_START] = (xres + right) >> 3; in i740fb_decode_var()
514 par->crtc[VGA_CRTC_H_SYNC_END] = (((xres + right + hslen) >> 3) & 0x1F) in i740fb_decode_var()
516 par->crtc[VGA_CRTC_H_BLANK_END] = ((xres + right + hslen) >> 3 & 0x1F) in i740fb_decode_var()
519 par->crtc[VGA_CRTC_V_TOTAL] = ytotal - 2; in i740fb_decode_var()
527 par->crtc[VGA_CRTC_PRESET_ROW] = 0; in i740fb_decode_var()
528 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.1.27/drivers/gpu/drm/via/
Dvia_irq.c98 u32 via_get_vblank_counter(struct drm_device *dev, int crtc) in via_get_vblank_counter() argument
101 if (crtc != 0) in via_get_vblank_counter()
173 int via_enable_vblank(struct drm_device *dev, int crtc) in via_enable_vblank() argument
178 if (crtc != 0) { in via_enable_vblank()
179 DRM_ERROR("%s: bad crtc %d\n", __func__, crtc); in via_enable_vblank()
192 void via_disable_vblank(struct drm_device *dev, int crtc) in via_disable_vblank() argument
203 if (crtc != 0) in via_disable_vblank()
204 DRM_ERROR("%s: bad crtc %d\n", __func__, crtc); in via_disable_vblank()
Dvia_drv.h139 extern u32 via_get_vblank_counter(struct drm_device *dev, int crtc);
140 extern int via_enable_vblank(struct drm_device *dev, int crtc);
141 extern void via_disable_vblank(struct drm_device *dev, int crtc);
/linux-4.1.27/drivers/video/fbdev/nvidia/
Dnvidia.c236 state->crtc[i] = NVReadCrtc(par, i); in nvidia_save_vga()
270 NVWriteCrtc(par, 0x11, state->crtc[0x11] & ~0x80); in nvidia_write_regs()
279 printk("CRTC[%02x] = %08x\n", i, state->crtc[i]); in nvidia_write_regs()
281 NVWriteCrtc(par, i, state->crtc[i]); in nvidia_write_regs()
340 state->crtc[0x0] = Set8Bits(h_total); in nvidia_calc_regs()
341 state->crtc[0x1] = Set8Bits(h_display); in nvidia_calc_regs()
342 state->crtc[0x2] = Set8Bits(h_blank_s); in nvidia_calc_regs()
343 state->crtc[0x3] = SetBitField(h_blank_e, 4: 0, 4:0) in nvidia_calc_regs()
345 state->crtc[0x4] = Set8Bits(h_start); in nvidia_calc_regs()
346 state->crtc[0x5] = SetBitField(h_blank_e, 5: 5, 7:7) in nvidia_calc_regs()
[all …]
/linux-4.1.27/drivers/gpu/drm/msm/
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);
Dmsm_atomic.c197 struct drm_crtc *crtc = state->crtcs[i]; in msm_atomic_commit() local
198 if (!crtc) in msm_atomic_commit()
200 c->crtc_mask |= (1 << drm_crtc_index(crtc)); in msm_atomic_commit()
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.1.27/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.1.27/drivers/video/fbdev/riva/
Dfbdev.c605 regs->crtc[i] = CRTCin(par, i); in riva_save_state()
652 CRTCout(par, i, regs->crtc[i]); in riva_load_state()
729 newmode.crtc[0x0] = Set8Bits (hTotal); in riva_load_video_mode()
730 newmode.crtc[0x1] = Set8Bits (hDisplay); in riva_load_video_mode()
731 newmode.crtc[0x2] = Set8Bits (hBlankStart); in riva_load_video_mode()
732 newmode.crtc[0x3] = SetBitField (hBlankEnd, 4: 0, 4:0) | SetBit (7); in riva_load_video_mode()
733 newmode.crtc[0x4] = Set8Bits (hStart); in riva_load_video_mode()
734 newmode.crtc[0x5] = SetBitField (hBlankEnd, 5: 5, 7:7) in riva_load_video_mode()
736 newmode.crtc[0x6] = SetBitField (vTotal, 7: 0, 7:0); in riva_load_video_mode()
737 newmode.crtc[0x7] = SetBitField (vTotal, 8: 8, 0:0) in riva_load_video_mode()
[all …]
/linux-4.1.27/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.1.27/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/
Dinit.h8 int crtc; member

12