From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3] dm: core: Enable optional use of fdt_translate_address()
Date: Wed, 30 Sep 2015 10:13:20 -0600 [thread overview]
Message-ID: <560C0A20.8030909@wwwdotorg.org> (raw)
In-Reply-To: <1443589243-9521-1-git-send-email-sr@denx.de>
On 09/29/2015 11:00 PM, Stefan Roese wrote:
> The current "simple" address translation simple_bus_translate() is not
> working on some platforms (e.g. MVEBU). As here more complex "ranges"
> properties are used in many nodes (multiple tuples etc). This patch
> enables the optional use of the common fdt_translate_address() function
> which handles this translation correctly.
This change makes sense to me, but one comment:
> diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
> +config OF_TRANSLATE
> + bool "Translate addresses using fdt_translate_address"
> + depends on DM && OF_CONTROL
> + default y
So this is on by default, which I think is correct since applying this
technique is required to parse DT correctly. However, ...
> diff --git a/drivers/core/device.c b/drivers/core/device.c
> + if (CONFIG_IS_ENABLED(OF_TRANSLATE)) {
> + /*
> + * Use the full-fledged translate function for complex
> + * bus setups.
> + */
> + return fdt_translate_address((void *)gd->fdt_blob,
> + dev->of_offset, reg);
fdt_translate_address() is a simple wrapper around
__of_translate_address(), and that function calls fdt_parent_offset()
which is "slow" per Simon. Surely this patch will receive the same
objection as when I added a (single) call to fdt_parent_offset() into
the DT address parsing routine (and this patch is worse, since it adds a
call to fdt_parent_offset() for each level of DT sub-nodes).
next prev parent reply other threads:[~2015-09-30 16:13 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-02 6:22 [U-Boot] [PATCH] dm: core: Enable optional use of fdt_translate_address() Stefan Roese
2015-09-04 3:56 ` Simon Glass
2015-09-04 5:11 ` [U-Boot] [PATCH v2] " Stefan Roese
2015-09-09 18:07 ` [U-Boot] [PATCH] " Simon Glass
2015-09-10 5:54 ` Stefan Roese
2015-09-11 0:42 ` Simon Glass
2015-09-11 5:41 ` Stefan Roese
2015-09-11 17:07 ` Stephen Warren
2015-09-14 5:25 ` Stefan Roese
2015-09-21 18:06 ` Stephen Warren
2015-10-03 12:50 ` Simon Glass
2015-10-03 19:17 ` Stephen Warren
2015-10-04 1:02 ` Simon Glass
2015-10-04 7:35 ` Stefan Roese
2015-10-04 11:38 ` Thomas Chou
2015-10-05 1:22 ` Stephen Warren
2015-10-06 14:17 ` Simon Glass
2015-09-15 7:31 ` [U-Boot] [PATCH v2] " Thomas Chou
2015-09-30 5:00 ` [U-Boot] [PATCH v3] " Stefan Roese
2015-09-30 16:13 ` Stephen Warren [this message]
2015-10-01 6:59 ` Stefan Roese
2015-10-03 12:53 ` Simon Glass
2015-10-18 23:16 ` Simon Glass
2015-12-03 13:34 ` Bin Meng
2015-12-03 14:12 ` Stefan Roese
2015-12-03 16:59 ` Stephen Warren
2015-12-04 5:31 ` Bin Meng
2015-12-04 6:17 ` Bin Meng
2015-12-04 7:52 ` Stefan Roese
2015-12-04 15:01 ` Bin Meng
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=560C0A20.8030909@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.