Lines Matching full:pipe
78 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_mode_valid() local
80 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_mode_valid()
81 if (!pipe->funcs || !pipe->funcs->mode_valid) in drm_simple_kms_crtc_mode_valid()
85 return pipe->funcs->mode_valid(pipe, mode); in drm_simple_kms_crtc_mode_valid()
105 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_enable() local
107 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_enable()
108 if (!pipe->funcs || !pipe->funcs->enable) in drm_simple_kms_crtc_enable()
111 plane = &pipe->plane; in drm_simple_kms_crtc_enable()
112 pipe->funcs->enable(pipe, crtc->state, plane->state); in drm_simple_kms_crtc_enable()
118 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_disable() local
120 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_disable()
121 if (!pipe->funcs || !pipe->funcs->disable) in drm_simple_kms_crtc_disable()
124 pipe->funcs->disable(pipe); in drm_simple_kms_crtc_disable()
136 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_enable_vblank() local
138 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_enable_vblank()
139 if (!pipe->funcs || !pipe->funcs->enable_vblank) in drm_simple_kms_crtc_enable_vblank()
142 return pipe->funcs->enable_vblank(pipe); in drm_simple_kms_crtc_enable_vblank()
147 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_disable_vblank() local
149 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_disable_vblank()
150 if (!pipe->funcs || !pipe->funcs->disable_vblank) in drm_simple_kms_crtc_disable_vblank()
153 pipe->funcs->disable_vblank(pipe); in drm_simple_kms_crtc_disable_vblank()
170 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_atomic_check() local
174 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_atomic_check()
176 &pipe->crtc); in drm_simple_kms_plane_atomic_check()
188 if (!pipe->funcs || !pipe->funcs->check) in drm_simple_kms_plane_atomic_check()
191 return pipe->funcs->check(pipe, plane_state, crtc_state); in drm_simple_kms_plane_atomic_check()
197 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_atomic_update() local
199 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_atomic_update()
200 if (!pipe->funcs || !pipe->funcs->update) in drm_simple_kms_plane_atomic_update()
203 pipe->funcs->update(pipe, old_pstate); in drm_simple_kms_plane_atomic_update()
209 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_prepare_fb() local
211 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_prepare_fb()
212 if (!pipe->funcs || !pipe->funcs->prepare_fb) in drm_simple_kms_plane_prepare_fb()
215 return pipe->funcs->prepare_fb(pipe, state); in drm_simple_kms_plane_prepare_fb()
221 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_cleanup_fb() local
223 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_cleanup_fb()
224 if (!pipe->funcs || !pipe->funcs->cleanup_fb) in drm_simple_kms_plane_cleanup_fb()
227 pipe->funcs->cleanup_fb(pipe, state); in drm_simple_kms_plane_cleanup_fb()
255 * drm_simple_display_pipe_attach_bridge - Attach a bridge to the display pipe
256 * @pipe: simple display pipe object
262 * Note that you probably want to initialize the pipe by passing a NULL
268 int drm_simple_display_pipe_attach_bridge(struct drm_simple_display_pipe *pipe, in drm_simple_display_pipe_attach_bridge() argument
271 return drm_bridge_attach(&pipe->encoder, bridge, NULL, 0); in drm_simple_display_pipe_attach_bridge()
278 * @pipe: simple display pipe object to initialize
279 * @funcs: callbacks for the display pipe (optional)
286 * plane-crtc-encoder pipe.
288 * If a connector is supplied, the pipe will be coupled with the provided
292 * Teardown of a simple display pipe is all handled automatically by the drm
300 struct drm_simple_display_pipe *pipe, in drm_simple_display_pipe_init() argument
306 struct drm_encoder *encoder = &pipe->encoder; in drm_simple_display_pipe_init()
307 struct drm_plane *plane = &pipe->plane; in drm_simple_display_pipe_init()
308 struct drm_crtc *crtc = &pipe->crtc; in drm_simple_display_pipe_init()
311 pipe->connector = connector; in drm_simple_display_pipe_init()
312 pipe->funcs = funcs; in drm_simple_display_pipe_init()