Lines Matching full:pipe

89 	struct drm_simple_display_pipe *pipe;  in drm_simple_kms_crtc_mode_valid()  local
91 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_mode_valid()
92 if (!pipe->funcs || !pipe->funcs->mode_valid) in drm_simple_kms_crtc_mode_valid()
96 return pipe->funcs->mode_valid(pipe, mode); in drm_simple_kms_crtc_mode_valid()
116 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_enable() local
118 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_enable()
119 if (!pipe->funcs || !pipe->funcs->enable) in drm_simple_kms_crtc_enable()
122 plane = &pipe->plane; in drm_simple_kms_crtc_enable()
123 pipe->funcs->enable(pipe, crtc->state, plane->state); in drm_simple_kms_crtc_enable()
129 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_disable() local
131 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_disable()
132 if (!pipe->funcs || !pipe->funcs->disable) in drm_simple_kms_crtc_disable()
135 pipe->funcs->disable(pipe); in drm_simple_kms_crtc_disable()
147 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_reset() local
149 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_reset()
150 if (!pipe->funcs || !pipe->funcs->reset_crtc) in drm_simple_kms_crtc_reset()
153 return pipe->funcs->reset_crtc(pipe); in drm_simple_kms_crtc_reset()
158 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_duplicate_state() local
160 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_duplicate_state()
161 if (!pipe->funcs || !pipe->funcs->duplicate_crtc_state) in drm_simple_kms_crtc_duplicate_state()
164 return pipe->funcs->duplicate_crtc_state(pipe); in drm_simple_kms_crtc_duplicate_state()
169 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_destroy_state() local
171 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_destroy_state()
172 if (!pipe->funcs || !pipe->funcs->destroy_crtc_state) in drm_simple_kms_crtc_destroy_state()
175 pipe->funcs->destroy_crtc_state(pipe, state); in drm_simple_kms_crtc_destroy_state()
180 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_enable_vblank() local
182 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_enable_vblank()
183 if (!pipe->funcs || !pipe->funcs->enable_vblank) in drm_simple_kms_crtc_enable_vblank()
186 return pipe->funcs->enable_vblank(pipe); in drm_simple_kms_crtc_enable_vblank()
191 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_disable_vblank() local
193 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_disable_vblank()
194 if (!pipe->funcs || !pipe->funcs->disable_vblank) in drm_simple_kms_crtc_disable_vblank()
197 pipe->funcs->disable_vblank(pipe); in drm_simple_kms_crtc_disable_vblank()
216 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_atomic_check() local
220 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_atomic_check()
222 &pipe->crtc); in drm_simple_kms_plane_atomic_check()
234 if (!pipe->funcs || !pipe->funcs->check) in drm_simple_kms_plane_atomic_check()
237 return pipe->funcs->check(pipe, plane_state, crtc_state); in drm_simple_kms_plane_atomic_check()
245 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_atomic_update() local
247 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_atomic_update()
248 if (!pipe->funcs || !pipe->funcs->update) in drm_simple_kms_plane_atomic_update()
251 pipe->funcs->update(pipe, old_pstate); in drm_simple_kms_plane_atomic_update()
257 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_prepare_fb() local
259 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_prepare_fb()
260 if (!pipe->funcs || !pipe->funcs->prepare_fb) { in drm_simple_kms_plane_prepare_fb()
264 WARN_ON_ONCE(pipe->funcs && pipe->funcs->cleanup_fb); in drm_simple_kms_plane_prepare_fb()
266 return drm_gem_simple_display_pipe_prepare_fb(pipe, state); in drm_simple_kms_plane_prepare_fb()
269 return pipe->funcs->prepare_fb(pipe, state); in drm_simple_kms_plane_prepare_fb()
275 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_cleanup_fb() local
277 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_cleanup_fb()
278 if (!pipe->funcs || !pipe->funcs->cleanup_fb) in drm_simple_kms_plane_cleanup_fb()
281 pipe->funcs->cleanup_fb(pipe, state); in drm_simple_kms_plane_cleanup_fb()
300 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_reset() local
302 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_reset()
303 if (!pipe->funcs || !pipe->funcs->reset_plane) in drm_simple_kms_plane_reset()
306 return pipe->funcs->reset_plane(pipe); in drm_simple_kms_plane_reset()
311 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_duplicate_state() local
313 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_duplicate_state()
314 if (!pipe->funcs || !pipe->funcs->duplicate_plane_state) in drm_simple_kms_plane_duplicate_state()
317 return pipe->funcs->duplicate_plane_state(pipe); in drm_simple_kms_plane_duplicate_state()
323 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_destroy_state() local
325 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_destroy_state()
326 if (!pipe->funcs || !pipe->funcs->destroy_plane_state) in drm_simple_kms_plane_destroy_state()
329 pipe->funcs->destroy_plane_state(pipe, state); in drm_simple_kms_plane_destroy_state()
343 * drm_simple_display_pipe_attach_bridge - Attach a bridge to the display pipe
344 * @pipe: simple display pipe object
350 * Note that you probably want to initialize the pipe by passing a NULL
356 int drm_simple_display_pipe_attach_bridge(struct drm_simple_display_pipe *pipe, in drm_simple_display_pipe_attach_bridge() argument
359 return drm_bridge_attach(&pipe->encoder, bridge, NULL, 0); in drm_simple_display_pipe_attach_bridge()
366 * @pipe: simple display pipe object to initialize
367 * @funcs: callbacks for the display pipe (optional)
374 * plane-crtc-encoder pipe.
376 * If a connector is supplied, the pipe will be coupled with the provided
380 * Teardown of a simple display pipe is all handled automatically by the drm
388 struct drm_simple_display_pipe *pipe, in drm_simple_display_pipe_init() argument
394 struct drm_encoder *encoder = &pipe->encoder; in drm_simple_display_pipe_init()
395 struct drm_plane *plane = &pipe->plane; in drm_simple_display_pipe_init()
396 struct drm_crtc *crtc = &pipe->crtc; in drm_simple_display_pipe_init()
399 pipe->connector = connector; in drm_simple_display_pipe_init()
400 pipe->funcs = funcs; in drm_simple_display_pipe_init()