From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 06/18] tegra: fdt: Add LCD definitions for Tegra
Date: Thu, 27 Sep 2012 17:21:23 -0600 [thread overview]
Message-ID: <5064DF73.8000006@wwwdotorg.org> (raw)
In-Reply-To: <CAPnjgZ2R=G=xmjdoP74JeAknwH9QGx8+mED7TQ8Kd_zEmcVwtQ@mail.gmail.com>
On 09/27/2012 02:27 PM, Simon Glass wrote:
> On Thu, Sep 27, 2012 at 8:49 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 09/27/2012 07:58 AM, Simon Glass wrote:
...
>>> Really this is just a way of getting U-Boot and Linux to agree on the
>>> address, by having U-Boot know the address that the kernel will happen
>>> to use. It isn't very robust, but we have found it useful as a means
>>> of avoiding problems in this area.
>>
>> Right, but again, why can't the display driver simply read the address
>> out of the register; why is there a need to duplicate the data?
>>
>> I guess one possibility is that the register only gives the base address
>> and not the size/mode of the allocated surface, but I don't recall if
>> this proposed binding did that either?
>
> So here is my explanation:
>
> 1. U-Boot would normally put the display right near the top of memory.
> Instead, it figures out where the kernel will put it (somehow this
> seems to often be at a fixed address) and uses that address.
>
> 2. That means that U-Boot will now have the display exactly where the
> kernel wants it.
Oh, the DT property is telling U-Boot where to put the surface so that
when the kernel determines where to put it, it'll already be there?
That seems completely backwards. It's also extremely fragile; what if
the kernel suddenly starts allocating at some other random address,
which stops matching what U-Boot expects?
Far better would be for U-Boot to put the surface wherever it wants,
then manipulate the DT that's passed to the kernel to:
a) Add a /memreserve/ so that memory doesn't get re-used for anything
else during boot.
b) Add a property to the display node indicating which memreserve
represents the frame-buffer location.
When the kernel boots, it can:
* Copy the content from the U-Boot-allocated buffer to whatever display
buffer the kernel allocated before writing the new address to the HW.
* Undo the memory reservation triggered by the /memreserve/ to allow the
memory to be re-used.
> So what do you think? Should we remove this entirely, or is it a useful hack?
Yes, I think in its current form, it isn't useful.
next prev parent reply other threads:[~2012-09-27 23:21 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-12 15:25 [U-Boot] [PATCH v3 0/18] tegra: Add display driver and LCD support for Seaboard Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 01/18] fdt: Tidy debugging, add to fdtdec_get_int/addr() Simon Glass
2012-09-21 20:06 ` Anatolij Gustschin
2012-07-12 15:25 ` [U-Boot] [PATCH v3 02/18] fdt: Add header guard to fdtdec.h Simon Glass
2012-07-19 13:49 ` Mike Frysinger
2012-09-21 20:08 ` Anatolij Gustschin
2012-07-12 15:25 ` [U-Boot] [PATCH v3 03/18] tegra: Use const for pinmux_config_pingroup/table() Simon Glass
2012-07-19 13:53 ` Mike Frysinger
2012-07-12 15:25 ` [U-Boot] [PATCH v3 04/18] tegra: Add display support to funcmux Simon Glass
2012-07-19 13:54 ` Mike Frysinger
2012-07-12 15:25 ` [U-Boot] [PATCH v3 05/18] tegra: fdt: Add pwm binding and node Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 06/18] tegra: fdt: Add LCD definitions for Tegra Simon Glass
2012-07-31 9:27 ` Simon Glass
2012-07-31 9:51 ` Thierry Reding
2012-09-27 19:44 ` Simon Glass
2012-07-31 16:12 ` Stephen Warren
2012-09-27 13:58 ` Simon Glass
2012-09-27 15:49 ` Stephen Warren
2012-09-27 20:27 ` Simon Glass
2012-09-27 23:21 ` Stephen Warren [this message]
2012-09-27 23:37 ` Simon Glass
2012-09-28 5:42 ` Thierry Reding
2012-07-12 15:25 ` [U-Boot] [PATCH v3 07/18] tegra: Add support for PWM Simon Glass
2012-07-19 13:55 ` Mike Frysinger
2012-09-27 13:51 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 08/18] tegra: Add SOC support for display/lcd Simon Glass
2012-07-19 7:37 ` Thierry Reding
2012-07-19 8:24 ` Adam Jiang
2012-07-19 8:28 ` Thierry Reding
2012-07-19 8:03 ` Adam Jiang
2012-07-19 14:13 ` Mike Frysinger
2012-09-27 17:44 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 09/18] tegra: Add LCD driver Simon Glass
2012-07-19 7:41 ` Thierry Reding
2012-09-27 17:28 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 10/18] tegra: Add LCD support to Nvidia boards Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 11/18] arm: Add control over cachability of memory regions Simon Glass
2012-07-12 18:12 ` Albert ARIBAUD
2012-07-19 14:10 ` Mike Frysinger
2012-09-27 17:54 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 12/18] lcd: Add CONFIG_LCD_ALIGNMENT to select frame buffer alignment Simon Glass
2012-07-19 13:59 ` Mike Frysinger
2012-09-27 19:20 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 13/18] lcd: Add support for flushing LCD fb from dcache after update Simon Glass
2012-07-19 14:01 ` Mike Frysinger
2012-07-19 16:52 ` Mike Frysinger
2012-08-09 7:43 ` Lukasz Majewski
2012-10-16 18:16 ` Simon Glass
2012-10-17 10:38 ` Lukasz Majewski
2012-10-17 15:34 ` Eric Nelson
2012-10-17 22:07 ` Simon Glass
2012-10-18 0:41 ` Eric Nelson
2012-10-18 0:50 ` Simon Glass
2012-10-18 1:07 ` Eric Nelson
2012-10-19 23:49 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 14/18] tegra: Align LCD frame buffer to section boundary Simon Glass
2012-07-19 14:01 ` Mike Frysinger
2012-07-12 15:25 ` [U-Boot] [PATCH v3 15/18] tegra: Support control of cache settings for LCD Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 16/18] tegra: fdt: Add LCD definitions for Seaboard Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 17/18] lcd: Add CONSOLE_SCROLL_LINES option to speed console Simon Glass
2012-07-19 14:04 ` Mike Frysinger
2012-09-27 19:23 ` Simon Glass
2012-07-12 15:25 ` [U-Boot] [PATCH v3 18/18] tegra: Enable display/lcd support on Seaboard Simon Glass
2012-07-19 7:58 ` [U-Boot] [PATCH v3 0/18] tegra: Add display driver and LCD support for Seaboard Thierry Reding
2012-07-31 9:28 ` 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=5064DF73.8000006@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