From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/4] tegra: Move tegra20 towards the 'new' display bindings
Date: Mon, 18 Jan 2016 12:52:00 -0700 [thread overview]
Message-ID: <569D4260.9010203@wwwdotorg.org> (raw)
In-Reply-To: <CAPnjgZ0hUnELUS3hxWL2yOfFp_yXGHb0BmGu2VjyQwgzB+RPMQ@mail.gmail.com>
On 01/14/2016 04:12 PM, Simon Glass wrote:
> Hi Lucas,
>
> On 14 January 2016 at 13:34, Lucas Stach <dev@lynxeye.de> wrote:
>> Am Donnerstag, den 14.01.2016, 13:26 -0700 schrieb Simon Glass:
>>> The original tegra20 display driver was written before Linux had
>>> device tree
>>> bindings for display. Since then Linux has developed a robust set of
>>> bindings
>>> covering various aspects of enabling a display.
>>>
>>> This series moves closer to those bindings by using the panel and
>>> backlight
>>> as separate drivers. The device tree files for seaboard, ventana and
>>> harmony
>>> thereby become almost the same as Linux.
>>>
>>> Unfortunately this breaks the other boards, which will need a similar
>>> sync.
>>> So I'm not sure how easy it will be to accept this series. Still, it
>>> seems
>>> worth sending it out in the hope that board maintainers can help. I
>>> have
>>> kept this series separate so that it can progress separately.
>>>
>> By pushing display timings into the DT you are actually diverging from
>> mainline, as mainline doesn't require this, but instead infers the
>> timings from the panel compatible. Is this a desired goal?
>
> This is not divergence.
Really? The DT content is different. Isn't that the definition of
divergence?
> Please take a look at the patch series. The
> device tree files are very close to the same now. The existing U-Boot
> support has display timings in the device tree too, so this is not
> being added.
>
> The display timings are a small part of the work, but in the back of
> my mind is that we don't want to have a big table of display panel
> timings as exists in Linux. This is a waste of space when a board will
> only use one panel.
That was rather the point of the panel-specific compatible values: To
force the DT to contain a semantic definition of the type of panel,
rather than a "generic" definition of timings. A benefit of the semantic
representation is that if we later find bugs that need to be fixed on
certain panels, if we know the panel type, then bug fixes can be
applied. Equally, if we enhance the SW to require more data about the
panel, that can be added to a driver without the need to change the DT,
thus allowing old DTs to continue to work. More semantic rather than
purely "syntactic" knowledge is available. However, if we only have a
generic timing definition (or other data suitable for current SW
features or code-paths), then panel-specific bug fixes will never be
possible since SW can't know the identify of the panel. The disadvantage
of requiring a mapping table between panel type and display timings was
considered reasonable for SW stacks at which DT was targeted (i.e. main
OSs rather than HW-specific bootloaders). Even so, to avoid the bloat
issue, you can always just #ifdef the mapping table and end up with the
same code size; even less perhaps since no timing DT parsing code is
required.
At least, that was the reasoning when the DT bindings for Tegra panels
were first created; IIRC there was discussion of bindings for generic
panels, timings, panel power sequences, etc., and they were rejected for
the reason I explained above and perhaps others. However, it does seem
someone has changed their mind again given that the generic
panel-timings binding does exist now. This is one of the many things
that sucks about DT; no decision is ever kept, so consistency in design
and implementation isn't possible:-(
next prev parent reply other threads:[~2016-01-18 19:52 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-14 20:26 [U-Boot] [PATCH 0/4] tegra: Move tegra20 towards the 'new' display bindings Simon Glass
2016-01-14 20:26 ` [U-Boot] [PATCH 1/4] tegra: dts: Sync seaboard device tree file with Linux Simon Glass
2016-01-18 19:32 ` Stephen Warren
2016-01-19 2:01 ` Simon Glass
2016-01-14 20:26 ` [U-Boot] [PATCH 2/4] video: tegra: Move to using simple-panel and pwm-backlight Simon Glass
2016-01-18 19:43 ` Stephen Warren
2016-01-19 2:08 ` Simon Glass
2016-01-19 16:49 ` Stephen Warren
2016-01-20 4:33 ` Simon Glass
2016-01-14 20:26 ` [U-Boot] [PATCH 3/4] tegra: video: Always use write-through cache on LCD Simon Glass
2016-01-18 20:07 ` Stephen Warren
2016-01-20 14:53 ` Thierry Reding
2016-01-20 16:18 ` Simon Glass
2016-01-14 20:26 ` [U-Boot] [PATCH 4/4] fdt: Drop some unused compatible strings Simon Glass
2016-01-14 20:34 ` [U-Boot] [PATCH 0/4] tegra: Move tegra20 towards the 'new' display bindings Lucas Stach
2016-01-14 23:12 ` Simon Glass
2016-01-18 19:52 ` Stephen Warren [this message]
2016-01-19 1:58 ` Simon Glass
2016-01-19 16:47 ` Stephen Warren
2016-01-20 15:37 ` Thierry Reding
2016-01-20 16:18 ` Simon Glass
2016-01-18 19:57 ` Stephen Warren
2016-01-19 1:58 ` Simon Glass
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=569D4260.9010203@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/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