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()
120 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_enable() local
122 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_enable()
123 if (!pipe->funcs || !pipe->funcs->enable) in drm_simple_kms_crtc_enable()
126 plane = &pipe->plane; in drm_simple_kms_crtc_enable()
127 pipe->funcs->enable(pipe, crtc->state, plane->state); in drm_simple_kms_crtc_enable()
133 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_disable() local
135 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_disable()
136 if (!pipe->funcs || !pipe->funcs->disable) in drm_simple_kms_crtc_disable()
139 pipe->funcs->disable(pipe); in drm_simple_kms_crtc_disable()
151 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_reset() local
153 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_reset()
154 if (!pipe->funcs || !pipe->funcs->reset_crtc) in drm_simple_kms_crtc_reset()
157 return pipe->funcs->reset_crtc(pipe); in drm_simple_kms_crtc_reset()
162 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_duplicate_state() local
164 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_duplicate_state()
165 if (!pipe->funcs || !pipe->funcs->duplicate_crtc_state) in drm_simple_kms_crtc_duplicate_state()
168 return pipe->funcs->duplicate_crtc_state(pipe); in drm_simple_kms_crtc_duplicate_state()
173 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_destroy_state() local
175 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_destroy_state()
176 if (!pipe->funcs || !pipe->funcs->destroy_crtc_state) in drm_simple_kms_crtc_destroy_state()
179 pipe->funcs->destroy_crtc_state(pipe, state); in drm_simple_kms_crtc_destroy_state()
184 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_enable_vblank() local
186 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_enable_vblank()
187 if (!pipe->funcs || !pipe->funcs->enable_vblank) in drm_simple_kms_crtc_enable_vblank()
190 return pipe->funcs->enable_vblank(pipe); in drm_simple_kms_crtc_enable_vblank()
195 struct drm_simple_display_pipe *pipe; in drm_simple_kms_crtc_disable_vblank() local
197 pipe = container_of(crtc, struct drm_simple_display_pipe, crtc); in drm_simple_kms_crtc_disable_vblank()
198 if (!pipe->funcs || !pipe->funcs->disable_vblank) in drm_simple_kms_crtc_disable_vblank()
201 pipe->funcs->disable_vblank(pipe); in drm_simple_kms_crtc_disable_vblank()
220 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_atomic_check() local
224 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_atomic_check()
226 &pipe->crtc); in drm_simple_kms_plane_atomic_check()
238 if (!pipe->funcs || !pipe->funcs->check) in drm_simple_kms_plane_atomic_check()
241 return pipe->funcs->check(pipe, plane_state, crtc_state); in drm_simple_kms_plane_atomic_check()
249 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_atomic_update() local
251 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_atomic_update()
252 if (!pipe->funcs || !pipe->funcs->update) in drm_simple_kms_plane_atomic_update()
255 pipe->funcs->update(pipe, old_pstate); in drm_simple_kms_plane_atomic_update()
261 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_prepare_fb() local
263 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_prepare_fb()
264 if (!pipe->funcs || !pipe->funcs->prepare_fb) { in drm_simple_kms_plane_prepare_fb()
268 WARN_ON_ONCE(pipe->funcs && pipe->funcs->cleanup_fb); in drm_simple_kms_plane_prepare_fb()
273 return pipe->funcs->prepare_fb(pipe, state); in drm_simple_kms_plane_prepare_fb()
279 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_cleanup_fb() local
281 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_cleanup_fb()
282 if (!pipe->funcs || !pipe->funcs->cleanup_fb) in drm_simple_kms_plane_cleanup_fb()
285 pipe->funcs->cleanup_fb(pipe, state); in drm_simple_kms_plane_cleanup_fb()
291 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_begin_fb_access() local
293 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_begin_fb_access()
294 if (!pipe->funcs || !pipe->funcs->begin_fb_access) in drm_simple_kms_plane_begin_fb_access()
297 return pipe->funcs->begin_fb_access(pipe, new_plane_state); in drm_simple_kms_plane_begin_fb_access()
303 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_end_fb_access() local
305 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_end_fb_access()
306 if (!pipe->funcs || !pipe->funcs->end_fb_access) in drm_simple_kms_plane_end_fb_access()
309 pipe->funcs->end_fb_access(pipe, new_plane_state); in drm_simple_kms_plane_end_fb_access()
330 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_reset() local
332 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_reset()
333 if (!pipe->funcs || !pipe->funcs->reset_plane) in drm_simple_kms_plane_reset()
336 return pipe->funcs->reset_plane(pipe); in drm_simple_kms_plane_reset()
341 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_duplicate_state() local
343 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_duplicate_state()
344 if (!pipe->funcs || !pipe->funcs->duplicate_plane_state) in drm_simple_kms_plane_duplicate_state()
347 return pipe->funcs->duplicate_plane_state(pipe); in drm_simple_kms_plane_duplicate_state()
353 struct drm_simple_display_pipe *pipe; in drm_simple_kms_plane_destroy_state() local
355 pipe = container_of(plane, struct drm_simple_display_pipe, plane); in drm_simple_kms_plane_destroy_state()
356 if (!pipe->funcs || !pipe->funcs->destroy_plane_state) in drm_simple_kms_plane_destroy_state()
359 pipe->funcs->destroy_plane_state(pipe, state); in drm_simple_kms_plane_destroy_state()
373 * drm_simple_display_pipe_attach_bridge - Attach a bridge to the display pipe
374 * @pipe: simple display pipe object
380 * Note that you probably want to initialize the pipe by passing a NULL
386 int drm_simple_display_pipe_attach_bridge(struct drm_simple_display_pipe *pipe, in drm_simple_display_pipe_attach_bridge() argument
389 return drm_bridge_attach(&pipe->encoder, bridge, NULL, 0); in drm_simple_display_pipe_attach_bridge()
396 * @pipe: simple display pipe object to initialize
397 * @funcs: callbacks for the display pipe (optional)
404 * plane-crtc-encoder pipe.
406 * If a connector is supplied, the pipe will be coupled with the provided
410 * Teardown of a simple display pipe is all handled automatically by the drm
418 struct drm_simple_display_pipe *pipe, in drm_simple_display_pipe_init() argument
424 struct drm_encoder *encoder = &pipe->encoder; in drm_simple_display_pipe_init()
425 struct drm_plane *plane = &pipe->plane; in drm_simple_display_pipe_init()
426 struct drm_crtc *crtc = &pipe->crtc; in drm_simple_display_pipe_init()
429 pipe->connector = connector; in drm_simple_display_pipe_init()
430 pipe->funcs = funcs; in drm_simple_display_pipe_init()