From: Luc Verhaegen <libv@skynet.be>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: simplefb: add clock handling
Date: Wed, 13 Aug 2014 08:11:00 +0000 [thread overview]
Message-ID: <20140813081100.GB31326@skynet.be> (raw)
In-Reply-To: <CANq1E4Re79+D5H-pf8pW87NZ5MWz9UFknd5Dk2GKCvhzm5MNSA@mail.gmail.com>
On Wed, Aug 13, 2014 at 09:54:21AM +0200, David Herrmann wrote:
> Hi
>
> Hans de Goede shortly told me about this and, tbh, I am not very
> pleased. Stephen tried to keep simplefd "as simple as possible", your
> patch now adds hardware-specific features. To be fair, the patch is
> simple and clocks are easy to handle, but I somehow fear we have to
> add more and more hardware-support that is required to keep the
> framebuffer active. This really defeats the purpose of simplefb.
SimpleFB is a really deceptive name. If you lie to your ARM core all the
time, and do most things behind its back, like RPi does, then you can
get away with simplefb.
If not, it quickly becomes a lot more complicated, fast. This should've
been called rpibootfb or something.
How does one deal with this dealbreaker issue of clocks? Or memory,
apart from telling the kernel that the fb area is simple not accessible
as normal ram. Or dpms?
> The biggest question I have, is why do you add the clocks to your DT
> at all?
I didn't, someone else did.
> The framebuffer is set up by your boot-loader (or maybe
> platform code) and should prepare the clocks. I don't see why we add
> the clocks to DT now. If they're not added, then no-one will disable
> them and simplefb works just fine, right?
>
> Or is there some requirement to make DT a _complete_ hw-description?
Again, i am not responsible for that part. But my impression is that it
should be absolutely complete, and i have been whining about actual bit
offsets into registers being provided from the dt :(
> Or is there some parent clock which might be used by other drivers and
> controls the clock used for your display?
Not at this point for sunxi, but there will be.
> The only reason I see to add the clocks, is to support both, simplefb
> *and* a hardware-driver. However, fbdev hand-over is horribly racy and
> I'd much rather prefer a solution like sysfb that does proper handover
> from primitive firmware-FBs to real hardware-drivers. In that case,
> we'd have to figure out how to deal with clocks, but we could do it in
> sysfb (which is meant to deal with those issues) with the benefit of
> controlling hand-over directly, and allowing hw-dependent features.
Yes, a KMS driver is being worked on. I was, as a first order
approximation (when i move it to mainline code), going to manually do
some of this handover from simplefb.
> My sysfb patches haven't been updated for a while, though, and you
> have a working solution here. So I'm not going to NAK this, I
> appreciate people working on this. But I'd like to get a discussion
> started so we can at least figure out some nicer solution for the
> future which might replace your code.
So much for this being simple. again :)
> Btw., my current idea was to destroy the platform-devices of EFI/VGA
> framebuffers during hand-over (because usually the underlying hw is
> shutdown/modified). This automatically unloads simplefb and makes sure
> the real hw-driver can be probed without other drivers touching the
> hardware in parallel. Iff you unload the hw-driver afterwards, it can
> re-create the firmware framebuffer and add a platform-device to make
> simplefb load again (in case anyone really needs this).
> Looking at your 3rd patch, I wonder whether this works with DT based
> machines, or whether we'd have to use the "disable" mechanism you
> chose. Any reason destroying the device would not work there? If yes,
> I will look into the "disable-idea".
The clocks we currently claim handle the ahb gating of different display
engines. Disable the gating bit, and all power is lost to the respective
engine, and register content vanishes. So there is absolutely no coming
back from that, apart from starting a proper display driver.
Luc Verhaegen.
next prev parent reply other threads:[~2014-08-13 8:11 UTC|newest]
Thread overview: 269+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-13 7:17 simplefb: add clock handling Luc Verhaegen
2014-08-13 7:17 ` [PATCH 1/4] simplefb: formalize pseudo palette handling Luc Verhaegen
2014-08-13 7:25 ` David Herrmann
2014-08-13 8:46 ` Geert Uytterhoeven
2014-08-13 8:50 ` David Herrmann
2014-08-13 16:45 ` Stephen Warren
2014-08-13 7:17 ` [PATCH 2/4] simplefb: add goto error path to probe Luc Verhaegen
2014-08-13 7:27 ` David Herrmann
2014-08-14 10:29 ` Luc Verhaegen
2014-08-14 10:33 ` David Herrmann
2014-08-14 10:42 ` Luc Verhaegen
2014-08-13 7:17 ` [PATCH 3/4] simplefb: disable dt node upon remove Luc Verhaegen
2014-08-13 8:40 ` Grant Likely
2014-08-13 8:49 ` David Herrmann
2014-08-13 9:23 ` Grant Likely
2014-08-13 9:32 ` David Herrmann
2014-08-13 9:45 ` Luc Verhaegen
2014-08-13 10:19 ` [linux-sunxi] " Luc Verhaegen
2014-08-13 12:54 ` jonsmirl
2014-08-13 19:14 ` Grant Likely
2014-08-13 19:25 ` Luc Verhaegen
2014-08-13 19:58 ` Stephen Warren
2014-08-13 20:01 ` Luc Verhaegen
2014-08-13 20:00 ` Grant Likely
2014-08-13 20:19 ` Luc Verhaegen
2014-08-13 20:41 ` [linux-sunxi] " jonsmirl
2014-08-14 10:15 ` Grant Likely
2014-08-14 12:07 ` jonsmirl
2014-08-15 0:45 ` Henrik Nordström
2014-08-15 1:27 ` jonsmirl
2014-08-15 6:43 ` Maxime Ripard
2014-08-15 12:34 ` jonsmirl
2014-08-13 16:44 ` Stephen Warren
2014-08-13 17:26 ` [linux-sunxi] " jonsmirl
2014-08-13 17:34 ` Stephen Warren
2014-08-13 17:44 ` jonsmirl
2014-08-13 7:17 ` [PATCH 4/4] simplefb: add clock handling code Luc Verhaegen
2014-08-13 16:38 ` Stephen Warren
2014-08-13 16:47 ` Luc Verhaegen
2014-08-13 17:01 ` Maxime Ripard
2014-08-14 9:37 ` [linux-sunxi] " Hans de Goede
2014-08-14 10:31 ` [linux-sunxi] " Koen Kooi
2014-08-14 10:57 ` Luc Verhaegen
2014-08-14 11:18 ` Hans de Goede
2014-08-14 11:18 ` Hans de Goede
2014-08-25 12:12 ` Thierry Reding
2014-08-25 12:44 ` Maxime Ripard
2014-08-25 13:39 ` Thierry Reding
2014-08-25 13:47 ` [linux-sunxi] " Hans de Goede
2014-08-25 14:16 ` Thierry Reding
2014-08-25 14:23 ` jonsmirl
2014-08-25 14:27 ` Hans de Goede
2014-08-25 15:12 ` Thierry Reding
2014-08-25 15:18 ` Luc Verhaegen
2014-08-26 8:40 ` Thierry Reding
2014-08-26 13:22 ` Maxime Ripard
2014-08-26 13:43 ` Thierry Reding
2014-08-25 15:49 ` jonsmirl
2014-08-26 9:02 ` Hans de Goede
2014-08-25 15:01 ` Thierry Reding
2014-08-25 14:23 ` Hans de Goede
2014-08-25 14:53 ` Thierry Reding
2014-08-25 15:07 ` Maxime Ripard
2014-08-26 8:26 ` Thierry Reding
2014-08-26 9:00 ` Mark Brown
2014-08-26 9:18 ` Thierry Reding
2014-08-26 10:06 ` Mark Brown
2014-08-26 10:55 ` Thierry Reding
2014-08-26 11:33 ` Mark Brown
2014-08-26 18:40 ` Henrik Nordström
2014-08-27 7:40 ` Mark Brown
2014-08-27 8:22 ` Maxime Ripard
2014-08-27 8:37 ` Geert Uytterhoeven
2014-08-27 8:55 ` Maxime Ripard
2014-08-27 9:05 ` Geert Uytterhoeven
2014-08-27 10:32 ` Maxime Ripard
2014-08-27 10:07 ` Thierry Reding
2014-08-27 10:26 ` Henrik Nordström
2014-08-27 12:45 ` Julian Calaby
2014-08-27 13:24 ` Maxime Ripard
2014-08-25 15:08 ` jonsmirl
2014-08-25 14:58 ` Maxime Ripard
2014-08-25 15:05 ` Thierry Reding
2014-08-25 15:09 ` Luc Verhaegen
2014-08-26 7:52 ` Thierry Reding
2014-08-26 12:02 ` Luc Verhaegen
2014-08-26 12:21 ` Thierry Reding
2014-08-26 12:33 ` Luc Verhaegen
2014-08-26 14:41 ` Thierry Reding
2014-08-25 15:22 ` Maxime Ripard
2014-08-26 8:04 ` Thierry Reding
2014-08-26 8:45 ` Michal Suchanek
2014-08-26 13:53 ` Maxime Ripard
2014-08-26 14:35 ` Thierry Reding
2014-08-26 19:59 ` Hans de Goede
2014-08-27 9:31 ` Thierry Reding
2014-08-27 10:35 ` Hans de Goede
2014-08-27 12:44 ` jonsmirl
2014-08-27 12:50 ` Hans de Goede
2014-08-27 12:56 ` jonsmirl
2014-08-27 13:05 ` Thierry Reding
2014-08-27 12:56 ` Thierry Reding
2014-08-27 13:44 ` Hans de Goede
2014-08-27 14:16 ` Thierry Reding
2014-08-28 12:15 ` Hans de Goede
2014-08-28 13:22 ` jonsmirl
2014-08-28 14:20 ` Geert Uytterhoeven
2014-08-28 14:33 ` jonsmirl
2014-08-28 14:37 ` Geert Uytterhoeven
2014-08-28 15:11 ` jonsmirl
2014-08-28 16:25 ` Michal Suchanek
2014-08-28 16:34 ` jonsmirl
2014-08-28 16:50 ` Luc Verhaegen
2014-08-28 20:31 ` Michal Suchanek
2014-08-29 7:16 ` Thierry Reding
2014-08-29 7:01 ` Thierry Reding
2014-08-29 7:23 ` Hans de Goede
2014-08-29 8:12 ` Thierry Reding
2014-08-29 14:12 ` Maxime Ripard
2014-08-29 14:38 ` Thierry Reding
2014-08-29 15:25 ` Michal Suchanek
2014-09-02 9:25 ` Maxime Ripard
2014-09-27 23:56 ` Mike Turquette
2014-09-29 8:06 ` Thierry Reding
2014-09-29 8:27 ` Geert Uytterhoeven
2014-09-29 8:54 ` Thierry Reding
2014-09-29 9:10 ` Geert Uytterhoeven
2014-09-29 9:29 ` Thierry Reding
2014-09-29 9:44 ` Michal Suchanek
2014-09-29 10:40 ` Thierry Reding
2014-09-29 9:23 ` Maxime Ripard
2014-09-29 10:18 ` Thierry Reding
2014-09-29 10:35 ` Geert Uytterhoeven
2014-09-29 10:44 ` Thierry Reding
2014-09-29 11:32 ` Geert Uytterhoeven
2014-09-29 14:00 ` Thierry Reding
2014-09-29 11:34 ` Maxime Ripard
2014-09-29 13:54 ` Thierry Reding
2014-09-29 15:57 ` Maxime Ripard
2014-09-30 4:59 ` Thierry Reding
2014-09-30 7:46 ` Maxime Ripard
2014-09-30 11:43 ` Hans de Goede
2014-09-30 11:46 ` Thierry Reding
2014-09-30 21:37 ` Mike Turquette
2014-10-01 7:30 ` Thierry Reding
2014-10-01 18:17 ` Mike Turquette
2014-10-02 8:12 ` Thierry Reding
2014-09-29 11:00 ` Julian Calaby
2014-09-29 13:21 ` Thierry Reding
2014-09-29 14:46 ` Julian Calaby
2014-09-29 15:19 ` Thierry Reding
2014-09-29 15:42 ` Michal Suchanek
2014-09-30 0:10 ` Julian Calaby
2014-09-29 11:46 ` Maxime Ripard
2014-09-29 13:47 ` Thierry Reding
2014-09-29 15:04 ` Michal Suchanek
2014-09-29 15:49 ` Thierry Reding
2014-09-29 16:39 ` Michal Suchanek
2014-09-29 15:55 ` Mark Brown
2014-09-30 5:09 ` Thierry Reding
2014-09-30 17:39 ` Mark Brown
2014-10-01 7:41 ` Thierry Reding
2014-10-01 11:10 ` Javier Martinez Canillas
2014-10-01 12:32 ` Mark Brown
2014-10-01 12:48 ` Thierry Reding
2014-10-01 17:05 ` Mark Brown
2014-10-01 17:26 ` Hans de Goede
2014-10-01 17:54 ` jonsmirl
2014-10-01 18:12 ` Stephen Warren
2014-10-01 18:16 ` Luc Verhaegen
2014-10-02 6:42 ` Hans de Goede
2014-10-02 12:22 ` jonsmirl
2014-10-02 12:39 ` Hans de Goede
2014-10-02 12:56 ` jonsmirl
2014-10-02 13:14 ` Hans de Goede
2014-10-02 13:27 ` jonsmirl
2014-10-02 13:33 ` Hans de Goede
2014-10-02 13:40 ` jonsmirl
2014-10-02 14:08 ` Hans de Goede
2014-10-02 14:16 ` jonsmirl
2014-10-02 14:21 ` Hans de Goede
2014-10-02 14:41 ` jonsmirl
2014-10-02 14:50 ` Hans de Goede
2014-10-02 15:14 ` jonsmirl
2014-10-02 15:30 ` jonsmirl
2014-10-02 15:38 ` Hans de Goede
2014-10-02 15:36 ` Michal Suchanek
2014-10-02 23:31 ` Julian Calaby
2014-10-03 7:56 ` Hans de Goede
2014-11-11 16:15 ` Grant Likely
2014-10-02 14:18 ` Maxime Ripard
2014-10-02 14:23 ` Hans de Goede
2014-10-02 14:17 ` Michal Suchanek
2014-10-02 13:59 ` Michal Suchanek
2014-10-02 13:23 ` Michal Suchanek
2014-10-02 13:34 ` jonsmirl
2014-10-02 13:40 ` Hans de Goede
2014-10-02 13:44 ` jonsmirl
2014-10-02 13:46 ` Geert Uytterhoeven
2014-10-02 13:49 ` jonsmirl
2014-10-02 19:15 ` Geert Uytterhoeven
2014-10-02 15:49 ` Stephen Warren
2014-10-03 11:16 ` Hans de Goede
2014-10-03 11:45 ` Tomi Valkeinen
2014-10-03 11:53 ` Hans de Goede
2014-10-01 11:31 ` Mark Brown
2014-09-29 16:28 ` Maxime Ripard
2014-09-29 16:58 ` Luc Verhaegen
2014-09-29 22:02 ` Luc Verhaegen
2014-09-30 5:39 ` Thierry Reding
2014-09-30 8:03 ` Maxime Ripard
2014-09-30 11:02 ` Thierry Reding
2014-09-30 12:41 ` Mark Brown
2014-09-30 12:50 ` jonsmirl
2014-09-30 5:21 ` Thierry Reding
2014-09-30 7:52 ` Maxime Ripard
2014-09-30 8:54 ` Thierry Reding
2014-09-30 9:38 ` Michal Suchanek
2014-09-30 11:31 ` Thierry Reding
2014-09-30 14:12 ` Michal Suchanek
2014-09-30 12:29 ` Maxime Ripard
2014-09-29 16:11 ` Mark Brown
2014-09-30 6:03 ` Thierry Reding
2014-09-30 18:00 ` Mark Brown
2014-10-01 8:14 ` Thierry Reding
2014-10-01 12:20 ` Mark Brown
2014-10-01 12:48 ` Thierry Reding
2014-10-01 13:01 ` jonsmirl
2014-10-01 13:17 ` Michal Suchanek
2014-10-01 13:40 ` jonsmirl
2014-10-01 17:17 ` Mark Brown
2014-10-01 18:43 ` Geert Uytterhoeven
2014-10-02 8:30 ` Thierry Reding
2014-10-02 8:27 ` Thierry Reding
2014-10-01 8:17 ` Thierry Reding
2014-09-29 17:51 ` jonsmirl
2014-09-29 18:06 ` Michal Suchanek
2014-08-27 13:56 ` Maxime Ripard
2014-08-27 14:30 ` Thierry Reding
2014-08-27 13:43 ` Maxime Ripard
2014-08-26 21:02 ` Maxime Ripard
2014-08-27 6:54 ` Thierry Reding
2014-08-27 8:00 ` Hans de Goede
2014-08-27 9:37 ` Thierry Reding
2014-08-27 8:45 ` Maxime Ripard
2014-08-27 9:52 ` Thierry Reding
2014-08-27 15:42 ` Maxime Ripard
2014-08-27 20:57 ` Michal Suchanek
2014-08-28 10:08 ` Thierry Reding
2014-08-29 5:13 ` Michal Suchanek
2014-08-29 6:19 ` Thierry Reding
2014-08-29 6:48 ` Michal Suchanek
2014-08-29 7:08 ` Thierry Reding
2014-08-28 10:11 ` Thierry Reding
2014-08-28 10:32 ` Michal Suchanek
2014-08-28 20:46 ` Maxime Ripard
2014-08-29 6:29 ` Thierry Reding
2014-08-29 13:57 ` Maxime Ripard
2014-08-29 14:31 ` Thierry Reding
2014-08-27 8:17 ` Henrik Nordström
2014-08-25 15:25 ` Andreas Färber
2014-08-26 13:19 ` Maxime Ripard
2014-08-13 7:54 ` simplefb: add clock handling David Herrmann
2014-08-13 8:11 ` Luc Verhaegen [this message]
2014-08-13 8:21 ` [linux-sunxi] " Koen Kooi
2014-08-13 8:36 ` Hans de Goede
2014-08-13 10:16 ` Koen Kooi
2014-08-13 10:24 ` David Herrmann
2014-08-13 11:36 ` 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=20140813081100.GB31326@skynet.be \
--to=libv@skynet.be \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).