Re: [PATCH 05/11] drm/sun4i: Initialize crtc from tcon bind function

From: Maxime Ripard
Date: Thu Feb 23 2017 - 13:37:02 EST


On Thu, Feb 23, 2017 at 04:05:37PM +0800, Chen-Yu Tsai wrote:
> The tcon provides part of the functionality of the crtc, and also
> provides the device node for the output port of the crtc. To be able
> to use drm_of_find_possible_crtcs(), all crtc must be initialized before
> any downstream encoders. The other part of the crtc is the display
> backend.
>
> The Rockchip DRM driver does this by first binding all vops, which is
> their crtc, and this step also creates the crtc objects. Then all
> remaining hardware components are bound. With the Allwinner display
> pipeline, we have multiple components comprising the crtc, and varying
> depths of the display pipeline. Since components are added with a depth
> first search of the of_graph, we can initialize the crtc object within
> the tcon bind function. Since the backend precedes the tcon, and the
> backends cannot be muxed or switched around, we can be sure that the
> associated backend is already initialized.
>
> This patch also moves the crtc pointer from the main drm_device data to
> the tcon device data. Besides the crtc callbacks, the crtc structure is
> only used within the tcon driver to signal vblank events from its
> interrupt handler.
>
> As the crtc and layer bits are now called from the tcon bits, we must
> move them from the sun4i-drm module to the sun4i-tcon module to avoid
> circular dependencies between the two modules. This is because sun4i-drm
> also calls into sun4i-tcon.
>
> Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>

Applied, thanks!
Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

Attachment: signature.asc
Description: PGP signature