From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Subject: Re: [PATCH 7/15] dt-bindings: display: sun4i: Add allwinner,tcon-channel property Date: Sun, 26 Mar 2017 23:11:22 +0200 Message-ID: <20170326211122.ofbl4z25imyyyn3f@lukather> References: <46fdec2d680d539652f87d79c627973b3a568438.1488876832.git-series.maxime.ripard@free-electrons.com> <20170315173753.6zywfxapdczu2i34@rob-hp-laptop> Reply-To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="zyqbyw7y52pdpduq" Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Content-Disposition: inline In-Reply-To: List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: Chen-Yu Tsai Cc: Rob Herring , Mike Turquette , Stephen Boyd , dri-devel , Daniel Vetter , David Airlie , Mark Rutland , devicetree , linux-clk , linux-arm-kernel , linux-kernel , linux-sunxi List-Id: devicetree@vger.kernel.org --zyqbyw7y52pdpduq Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline On Fri, Mar 17, 2017 at 11:34:45AM +0800, Chen-Yu Tsai wrote: > On Thu, Mar 16, 2017 at 1:37 AM, Rob Herring wrote: > > On Tue, Mar 07, 2017 at 09:56:26AM +0100, Maxime Ripard wrote: > >> The Allwinner Timings Controller has two, mutually exclusive, channels. > >> When the binding has been introduced, it was assumed that there would be > >> only a single user per channel in the system. > >> > >> While this is likely for the channel 0 which only connects to LCD displays, > >> it turns out that the channel 1 can be connected to multiple controllers in > >> the SoC (HDMI and TV encoders for example). And while the simultaneous use > >> of HDMI and TV outputs cannot be achieved, switching from one to the other > >> at runtime definitely sounds plausible. > >> > >> Add an extra property, allwinner,tcon-channel, to specify for a given > >> endpoint which TCON channel it is connected to, while falling back to the > >> previous mechanism if that property is missing. > > > > I think perhaps TCON channels should have been ports rather than > > endpoints. The fact that the channels are mutually exclusive can be > > handled in the driver and doesn't really matter in the binding. How > > painful would it be to rework things to move TCON channel 1 from port 0, > > endpoint 1 to port 1? > > Having a separate output port for channel 1 was one option we discussed. > However it wouldn't work well with the kernel's of_graph based crtc > detection (drm_of_find_possible_crtcs / drm_of_find_possible_crtcs), > which has the crtcs bound via the output port. As the logic is used > by multiple drivers, I'm not sure it's easy to rework or test. Can't we use a different logic than drm_of_find_possible_crtcs to fill the same role? > Also, we still have to support old device trees using channel 1 from > output port 0 endpoint 1. This is the TV encoder on sun5i (A10s/A13/R8). We could probably work something out if we go that way to deal with old DTs though. Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com --zyqbyw7y52pdpduq--