devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Mark Rutland <mark.rutland@arm.com>,
	linux-pwm@vger.kernel.org,
	Nicolas Ferre <nicolas.ferre@atmel.com>,
	dri-devel@lists.freedesktop.org,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Bo Shen <voice.shen@atmel.com>, Lee Jones <lee.jones@linaro.org>,
	Jean-Jacques Hiblot <jjhiblot@traphandler.com>,
	Samuel Ortiz <sameo@linux.intel.com>,
	Tim Niemeyer <tim.niemeyer@corscience.de>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	devicetree@vger.kernel.org, Pawel Moll <pawel.moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Rob Herring <robh+dt@kernel.org>,
	Andrew Victor <linux@maxim.org.za>,
	linux-arm-kernel@lists.infradead.org,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Kumar Gala <galak@codeaurora.org>
Subject: Re: [RESEND PATCH v3 06/11] drm: add DT bindings documentation for atmel-hlcdc-dc driver
Date: Tue, 22 Jul 2014 00:17:17 +0200	[thread overview]
Message-ID: <20140721221715.GG12076@mithrandir> (raw)
In-Reply-To: <20140721170630.GG21766@n2100.arm.linux.org.uk>


[-- Attachment #1.1: Type: text/plain, Size: 3429 bytes --]

On Mon, Jul 21, 2014 at 06:06:30PM +0100, Russell King - ARM Linux wrote:
> On Mon, Jul 21, 2014 at 03:43:13PM +0200, Boris BREZILLON wrote:
> > How about using a list instead of an array ?
> > This way we can add elements to this list when parsing the EDID.
> > 
> > Or we can just define a maximum size for the bus_formats array when
> > retrieving this info from EDID. If I'm correct we have at most 18 bus
> > formats:
> >  - 3 color formats:
> >    * RGB 4:4:4
> >    * YCbCr 4:4:4
> >    * YCbCr 4:4:2
> >  - 6 color depths: 6, 8, 10, 12, 14 and 16 bits per color
> 
> This starts to worry me.  What are we trying to do here - are we trying
> to encode the connection between the CRTC and the encoder, the encoder
> and the connector, or the connector and the device?

This is about the bus format of the panel device. That would make it the
latter.

> The encoder to connector and connector to device is mostly a function of
> the interface spec itself (for example, many HDMI encoders take either a
> RGB or YUV input and can convert it to the HDMI specified colourspaces for
> transmission over the connector.)

The discussion here started because we currently have no way to store
information about the interface for raw RGB. That means currently all
drivers need to hardcode assumptions about the mode. The idea was to
make this information available via a field in drm_display_info so that
drivers could reconfigure depending on what the attached panel expects.

This doesn't only apply to panels, though, the issue is the same when a
bridge (RGB/LVDS for example) is connected to the encoder.

> If you want to do encoder to connector, what about VGA or some other
> analogue signalling such as TV composite?  It's easy to take this too
> far...
> 
> Surely the only one which matters is the CRTC to the encoder - that's
> certainly true of all the setups I've come across so far.  As for that
> interface, CRTCs I've seen can produce a /wide/ range of different
> representations.
> 
> Some CRTCs (eg, AMBA CLCD) produce R, G, B signals scrunched down on to
> the LSB bits of a LCD data bus (so RGB888 uses 24 bits, RGB444 would
> use the LSB 12 bits of those 24 - rather than outputting the R4 bits on
> a subset of the R8 bits.)
> 
> What about RGB565 - where you have differing number of bits for the
> green channel from red/blue?
> 
> Then you have red/blue colour swapping at the CRTC (and similar for YUV)
> such as on Dove / Armada.
> 
> Then there are some encoders have the ability to almost arbitarily map
> their input pins according to whatever you choose (eg, TDA998x).
> 
> This problem isn't as quite as simple as "this is what EDID gives us"
> and "these are the number of bits representing a colour".

I think what we need is a way to pass information from whatever device
is behind the encoder (be it a bridge or a panel) to the encoder. And
likely we'll need a similar (or the same) way to pass that information
from bridge to bridge or from bridge to panel.

That way the encoder can ask the bridge (or panel) about the format it
requires and reconfigure itself accordingly. This should be able to work
with an arbitrary bridge -> [bridge... ->] panel chain where each
element in the chain can reconfigure depending on what the next element
requires (or fail if it can't work, which should really never happen).

Thierry

[-- Attachment #1.2: Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2014-07-21 22:17 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-07 16:42 [RESEND PATCH v3 00/11] drm: add support for Atmel HLCDC Display Controller Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 01/11] mfd: add atmel-hlcdc driver Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 02/11] mfd: add documentation for atmel-hlcdc DT bindings Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 03/11] pwm: add support for atmel-hlcdc-pwm device Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 04/11] pwm: add DT bindings documentation for atmel-hlcdc-pwm driver Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 05/11] drm: add Atmel HLCDC Display Controller support Boris BREZILLON
2014-07-08  3:45   ` Rob Clark
2014-07-08  7:23     ` Boris BREZILLON
2014-07-08 12:49       ` Rob Clark
2014-07-08 14:37         ` Boris BREZILLON
2014-07-08 15:41           ` Rob Clark
2014-07-08 17:08             ` Boris BREZILLON
2014-07-08 23:51               ` Matt Roper
2014-07-09  7:14                 ` Boris BREZILLON
2014-07-09 14:02                   ` Daniel Vetter
2014-07-09  8:18     ` Boris BREZILLON
2014-07-09 11:53       ` Rob Clark
2014-07-12 18:16   ` Boris BREZILLON
2014-07-12 18:37     ` Rob Clark
2014-07-15 11:26       ` Boris BREZILLON
2014-07-07 16:42 ` [RESEND PATCH v3 06/11] drm: add DT bindings documentation for atmel-hlcdc-dc driver Boris BREZILLON
2014-07-10 11:16   ` Laurent Pinchart
2014-07-10 12:56     ` Boris BREZILLON
2014-07-11 10:37       ` Laurent Pinchart
2014-07-11 12:00         ` Boris BREZILLON
2014-07-11 12:19           ` Boris BREZILLON
2014-07-14 10:18           ` Thierry Reding
2014-07-15 11:45             ` Boris BREZILLON
2014-07-14 10:05   ` Thierry Reding
2014-07-15 10:06     ` Boris BREZILLON
2014-07-15 10:20       ` Laurent Pinchart
2014-07-15 10:37         ` Thierry Reding
2014-07-15 10:43           ` Laurent Pinchart
2014-07-15 10:52             ` Thierry Reding
2014-07-15 11:07               ` Laurent Pinchart
2014-07-16 13:05                 ` Boris BREZILLON
2014-07-16 13:20                   ` Laurent Pinchart
2014-07-16 13:44                     ` Boris BREZILLON
2014-07-15 12:14               ` Boris BREZILLON
2014-07-15 10:31       ` Thierry Reding
2014-07-18 14:51         ` Boris BREZILLON
2014-07-18 15:43           ` Boris BREZILLON
2014-07-21  8:59             ` Thierry Reding
2014-07-21  9:24               ` Boris BREZILLON
2014-07-21  9:32                 ` Laurent Pinchart
2014-07-21  9:57                   ` Boris BREZILLON
2014-07-21 12:12                     ` Thierry Reding
2014-07-21 12:16                       ` Laurent Pinchart
2014-07-21 12:34                         ` Boris BREZILLON
2014-07-21 12:55                           ` Thierry Reding
2014-07-21 13:22                             ` Laurent Pinchart
2014-07-21 13:30                               ` Thierry Reding
2014-07-21 13:43                                 ` Boris BREZILLON
2014-07-21 13:47                                   ` Laurent Pinchart
2014-07-21 13:54                                     ` Thierry Reding
2014-07-21 14:21                                       ` Boris BREZILLON
2014-07-21 18:30                                         ` Laurent Pinchart
2014-07-21 22:04                                           ` Thierry Reding
2014-07-21 14:18                                     ` Boris BREZILLON
2014-07-21 18:32                                       ` Laurent Pinchart
2014-07-21 17:06                                   ` Russell King - ARM Linux
2014-07-21 22:17                                     ` Thierry Reding [this message]
2014-07-21 12:15           ` Thierry Reding
2014-07-21 12:33             ` Boris BREZILLON
2014-07-21 12:56               ` Thierry Reding
2014-07-21 13:26                 ` Laurent Pinchart
2014-07-21 13:33                   ` Thierry Reding
2014-07-07 16:43 ` [RESEND PATCH v3 07/11] ARM: AT91/dt: split sama5d3 lcd pin definitions to match RGB mode configs Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 08/11] ARM: AT91/dt: add alternative pin muxing for sama5d3 lcd pins Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 09/11] ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 10/11] ARM: at91/dt: add LCD panel description to sama5d3xdm.dtsi Boris BREZILLON
2014-07-07 16:43 ` [RESEND PATCH v3 11/11] ARM: at91/dt: enable the LCD panel on sama5d3xek boards Boris BREZILLON

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140721221715.GG12076@mithrandir \
    --to=thierry.reding@gmail.com \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jjhiblot@traphandler.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=linux@maxim.org.za \
    --cc=mark.rutland@arm.com \
    --cc=nicolas.ferre@atmel.com \
    --cc=pawel.moll@arm.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=robh+dt@kernel.org \
    --cc=sameo@linux.intel.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tim.niemeyer@corscience.de \
    --cc=voice.shen@atmel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).