[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200105182826.rnscz5d5pbtb72g2@gilmour.lan>
Date: Sun, 5 Jan 2020 19:28:26 +0100
From: Maxime Ripard <mripard@...nel.org>
To: André Przywara <andre.przywara@....com>
Cc: Chen-Yu Tsai <wens@...e.org>, Mark Rutland <mark.rutland@....com>,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-sunxi@...glegroups.com, Icenowy Zheng <icenowy@...c.io>
Subject: Re: [PATCH 3/3] ARM: dts: sun8i: R40: Add SPI controllers nodes and
pinmuxes
On Sun, Jan 05, 2020 at 04:40:58PM +0000, André Przywara wrote:
> On 04/01/2020 10:04, Maxime Ripard wrote:
> >> But more importantly: what are the guidelines for using this tag? I
> >> understand the desire to provide every possible pin description on
> >> one hand, but wanting to avoid having *all of them* in *each* .dtb
> >> on the other.
> >
> > Pin groups will take a lot of space in the dtb, and the DT parsing
> > will take some measurable time,
>
> Really? Where is that? In Linux, or in U-Boot, possibly with the caches
> off? I am just curious. AFAIK there are some inefficient algorithms in
> libfdt (which trade performance for a smaller memory footprint), but I
> thought those would be called only very rarely.
The last time I measured it was in U-Boot (and for the FIT image, not
an actual DT), but the parsing time for a FIT image with a kernel and
DTB was around 100ms.
(and adding the PSCI and simplefb nodes was in the same order of
magnitude).
Boot time was very sensitive, and I had to remove both.
> >> And should there be a dtc command line option to ignore those tags,
> >> or even to apply this tag (virtually) to every node?
> >
> > Most of the nodes are (reference) leaves in a DT though. Pretty much
> > all the device nodes have no references pointing to them, just like
> > most of the buses, the CPU nodes, etc. And I'm pretty sure you want to
> > keep them :)
>
> Yeah, that was a New-Year's brain-fart of mine ;-)
>
> While I was changing the patch I figured that it gets quite lengthy.
> Also looking at the a20.dtsi, I see that *all* pin groups have this tag
> now. Wouldn't it be easier to introduce *one* tag that applies that to
> all children of a node?
I don't really know, I'm not sure the proliferation of tags would be a
good thing either, and I'm not the dtc maintainer, so I don't really
have a say in this :)
> Another thing I was wondering about: Would we gain something by not
> compiling nodes which have status = "disabled"? This is mentioned as a
> generic property in the DT spec, although it says there that the exact
> meaning is device dependent. But it sound still worthwhile, especially
> since we would avoid more pin groups to be compiled in.
I guess that would be good too, but the semantics are a bit different
so we'd need a different tag.
Maxime
Powered by blists - more mailing lists