From: Ian Campbell <ijc@hellion.org.uk>
To: Grant Likely <grant.likely@linaro.org>
Cc: U-Boot <u-boot@lists.denx.de>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH 5/6] sunxi: video: Add simplefb support
Date: Mon, 17 Nov 2014 10:14:14 +0000 [thread overview]
Message-ID: <1416219254.27385.15.camel@hellion.org.uk> (raw)
In-Reply-To: <CACxGe6vE0BdWOrdw1iQyk2-tmdnAUZ=oQCvGg_LESoiw055DLw@mail.gmail.com>
On Mon, 2014-11-17 at 09:58 +0000, Grant Likely wrote:
> I /DO/ want comments though. Putting the node in /chosen is
> unconventional. I want to hear if anyone has a good reason why the
> framebuffers shouldn't be placed into /chosen.
I don't think putting it under /chosen is a problem at all. THe
semantics of some of hte convention properties are a bit odd under
there, but that's not insurmountable.
> >> AFAIK Grant agrees with v5
> >
> > AFAIK Grant hasn't actually said that. If he does ack it (or if someone
> > points me to the correct mail) then I have no further objections.
>
> My word also isn't gospel.
I suppose I should have said something like "I trust Grant's judgement
more than my own on things relating to DT" ;-).
> On controversial stuff I want to have
> consensus. For the clock patches and had a long conversation with Rob
> to make sure we were both in agreement before giving my final ack.
>
> > In fact it's a bit odd to have a reg property under /chosen at all,
> > since it doesn't really fit in with the bus structure. I've done
> > something similar in some bindings I've authored[0], but AIUI I got that
> > wrong and really should have used a set of non-reg properties with a
> > single value so there was no need to parse using #*-cells (cf the
> > initrd-start + initrd-end properties under /chosen). Sadly DT is an ABI,
> > so for my bindings I'm kind of stuck with it for the foreseeable future.
> >
> > [0]
> > http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/device-tree/booting.txt;h=08ed7751859dbe2d2c32d86d7df371057d7b45a4;hb=HEAD
>
> Ironic isn't it that I though of that as precedence when I suggested
> /chosen! :-)
:-)
> I actually don't have a problem with it. We do need a way to specify
> runtime memory usage, and /chosen is as good a place as any,
> particularly when it represents things that won't necessarily be
> relevant on kexec or dom0 boot.
The main issue which was explained to me with my Xen bindings was that
reg = <> isn't all that meaningful under /chosen because it doesn't fit
into the bus structure, so the #address-/size-cells stuff gets a bit
strange. It's probably tolerable for things which are strictly physical
RAM addresses (as opposed to mmio) since RAM isn't typically behind a
visible bus.
The scheme used for initrds sidesteps all those issues by using separate
(multicellular) properties for the start and end regions and not using
reg=<> and therefore naturally breaking the expected semantic link with
bus topology which reg implies etc.
> The other options are under either the /memory or the /reserved-memory
> tree. Rob and I talked about /reserved-memory quite a lot. We could
> put all the framebuffer details into the memory node that reserves the
> framebuffer. However, I don't like that idea because it kind of makes
> assumptions about how the framebuffer will be located inside the
> memory region and doesn't allow for multiple framebuffers within a
> single region.
Yes, that sounds strictly worse than the current solution to me.
Ian.
WARNING: multiple messages have this Message-ID (diff)
From: Ian Campbell <ijc@hellion.org.uk>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 5/6] sunxi: video: Add simplefb support
Date: Mon, 17 Nov 2014 10:14:14 +0000 [thread overview]
Message-ID: <1416219254.27385.15.camel@hellion.org.uk> (raw)
In-Reply-To: <CACxGe6vE0BdWOrdw1iQyk2-tmdnAUZ=oQCvGg_LESoiw055DLw@mail.gmail.com>
On Mon, 2014-11-17 at 09:58 +0000, Grant Likely wrote:
> I /DO/ want comments though. Putting the node in /chosen is
> unconventional. I want to hear if anyone has a good reason why the
> framebuffers shouldn't be placed into /chosen.
I don't think putting it under /chosen is a problem at all. THe
semantics of some of hte convention properties are a bit odd under
there, but that's not insurmountable.
> >> AFAIK Grant agrees with v5
> >
> > AFAIK Grant hasn't actually said that. If he does ack it (or if someone
> > points me to the correct mail) then I have no further objections.
>
> My word also isn't gospel.
I suppose I should have said something like "I trust Grant's judgement
more than my own on things relating to DT" ;-).
> On controversial stuff I want to have
> consensus. For the clock patches and had a long conversation with Rob
> to make sure we were both in agreement before giving my final ack.
>
> > In fact it's a bit odd to have a reg property under /chosen at all,
> > since it doesn't really fit in with the bus structure. I've done
> > something similar in some bindings I've authored[0], but AIUI I got that
> > wrong and really should have used a set of non-reg properties with a
> > single value so there was no need to parse using #*-cells (cf the
> > initrd-start + initrd-end properties under /chosen). Sadly DT is an ABI,
> > so for my bindings I'm kind of stuck with it for the foreseeable future.
> >
> > [0]
> > http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/device-tree/booting.txt;h=08ed7751859dbe2d2c32d86d7df371057d7b45a4;hb=HEAD
>
> Ironic isn't it that I though of that as precedence when I suggested
> /chosen! :-)
:-)
> I actually don't have a problem with it. We do need a way to specify
> runtime memory usage, and /chosen is as good a place as any,
> particularly when it represents things that won't necessarily be
> relevant on kexec or dom0 boot.
The main issue which was explained to me with my Xen bindings was that
reg = <> isn't all that meaningful under /chosen because it doesn't fit
into the bus structure, so the #address-/size-cells stuff gets a bit
strange. It's probably tolerable for things which are strictly physical
RAM addresses (as opposed to mmio) since RAM isn't typically behind a
visible bus.
The scheme used for initrds sidesteps all those issues by using separate
(multicellular) properties for the start and end regions and not using
reg=<> and therefore naturally breaking the expected semantic link with
bus topology which reg implies etc.
> The other options are under either the /memory or the /reserved-memory
> tree. Rob and I talked about /reserved-memory quite a lot. We could
> put all the framebuffer details into the memory node that reserves the
> framebuffer. However, I don't like that idea because it kind of makes
> assumptions about how the framebuffer will be located inside the
> memory region and doesn't allow for multiple framebuffers within a
> single region.
Yes, that sounds strictly worse than the current solution to me.
Ian.
next prev parent reply other threads:[~2014-11-17 10:14 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-14 16:54 [U-Boot] [PATCH 0/6] sunxi: HDMI (cfb) console support Hans de Goede
2014-11-14 16:54 ` [U-Boot] [PATCH 1/6] sun4i: Rename dram_clk_cfg to dram_clk_gate Hans de Goede
2014-11-16 11:27 ` Ian Campbell
2014-11-14 16:54 ` [U-Boot] [PATCH 2/6] sunxi: Add video pll clock functions Hans de Goede
2014-11-16 11:29 ` Ian Campbell
2014-11-14 16:54 ` [U-Boot] [PATCH 3/6] sunxi: video: Add cfb console driver for sunxi Hans de Goede
2014-11-14 20:17 ` Anatolij Gustschin
2014-11-14 20:24 ` Anatolij Gustschin
2014-11-15 14:58 ` Hans de Goede
2014-11-16 11:35 ` Ian Campbell
2014-11-16 11:39 ` Ian Campbell
2014-11-16 13:15 ` Hans de Goede
2014-11-16 13:34 ` Ian Campbell
2014-11-14 16:54 ` [U-Boot] [PATCH 4/6] sunxi: video: Add sun6i support Hans de Goede
2014-11-14 20:21 ` Anatolij Gustschin
2014-11-16 11:38 ` Ian Campbell
2014-11-14 16:54 ` [U-Boot] [PATCH 5/6] sunxi: video: Add simplefb support Hans de Goede
2014-11-14 22:22 ` Anatolij Gustschin
2014-11-15 14:58 ` Hans de Goede
2014-11-16 11:50 ` Ian Campbell
2014-11-16 13:52 ` Hans de Goede
2014-11-16 14:38 ` Ian Campbell
2014-11-16 14:38 ` [U-Boot] " Ian Campbell
2014-11-16 15:11 ` Hans de Goede
2014-11-16 15:11 ` [U-Boot] " Hans de Goede
[not found] ` <5468BE9A.8050501-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-11-16 16:11 ` Ian Campbell
2014-11-16 16:11 ` [U-Boot] " Ian Campbell
[not found] ` <1416154297.25454.24.camel-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
2014-11-16 17:19 ` Ian Campbell
2014-11-16 17:19 ` Ian Campbell
2014-11-16 17:52 ` Hans de Goede
2014-11-16 17:52 ` [U-Boot] " Hans de Goede
2014-11-17 9:58 ` Grant Likely
2014-11-17 9:58 ` Grant Likely
2014-11-17 10:10 ` Hans de Goede
2014-11-17 10:10 ` [U-Boot] " Hans de Goede
2014-11-17 10:14 ` Ian Campbell [this message]
2014-11-17 10:14 ` Ian Campbell
[not found] ` <1416219254.27385.15.camel-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
2014-11-17 15:01 ` Grant Likely
2014-11-17 15:01 ` Grant Likely
2014-11-14 16:54 ` [U-Boot] [PATCH 6/6] sunxi: Add usb keyboard Kconfig option Hans de Goede
2014-11-16 11:55 ` Ian Campbell
2014-11-16 13:28 ` Hans de Goede
2014-11-16 13:37 ` Ian Campbell
2014-11-16 14:03 ` Hans de Goede
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=1416219254.27385.15.camel@hellion.org.uk \
--to=ijc@hellion.org.uk \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.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.