Re: [PATCH v2 6/6] drm: Add helper for simple display pipeline

From: Noralf TrÃnnes
Date: Thu May 12 2016 - 06:18:30 EST


Den 12.05.2016 10:11, skrev Daniel Vetter:
On Wed, May 11, 2016 at 07:09:10PM +0200, Daniel Vetter wrote:
On Wed, May 11, 2016 at 06:09:22PM +0200, Noralf Trønnes wrote:
+/**
+ * drm_simple_display_pipe_init - Initialize a simple display pipeline
+ * @dev: DRM device
+ * @pipe: simple display pipe object to initialize
+ * @funcs: callbacks for the display pipe (optional)
+ * @formats: array of supported formats (%DRM_FORMAT_*)
+ * @format_count: number of elements in @formats
+ * @connector: connector to attach and register
+ *
+ * Sets up a display pipeline which consist of a really simple
+ * plane-crtc-encoder pipe coupled with the provided connector.
How are drivers supposed to release this stuff again? Maybe add:

"Teardown of a simple display pipe is all handled automatically by the drm
core through calling drm_mode_config_cleanup()."
Thought a bit more about this, maybe we should also add "Drivers
afterwards need to release the memory for the structure themselves."

Btw one other thing I realized is that there's no atomic_commit for this.
How do you plane to implement async commit? No need to address this right
away, we can discuss it when you've rebased tinydrm and submit that for
review.
-Daniel

I don't follow you here. Isn't this atomic_commit:

drm_atomic_helper_commit => drm_atomic_helper_commit_planes =>
drm_simple_kms_plane_atomic_update => pipe->funcs->update

Noralf.