linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Turquette <mturquette@linaro.org>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [linux-sunxi] Re: [PATCH 4/4] simplefb: add clock handling code
Date: Sat, 27 Sep 2014 23:56:01 +0000	[thread overview]
Message-ID: <20140927235601.19023.31593@quantum> (raw)
In-Reply-To: <20140902092508.GR15297@lukather>

Quoting Maxime Ripard (2014-09-02 02:25:08)
> On Fri, Aug 29, 2014 at 04:38:14PM +0200, Thierry Reding wrote:
> > On Fri, Aug 29, 2014 at 04:12:44PM +0200, Maxime Ripard wrote:
> > > On Fri, Aug 29, 2014 at 09:01:17AM +0200, Thierry Reding wrote:
> > > > I would think the memory should still be reserved anyway to make sure
> > > > nothing else is writing over it. And it's in the device tree anyway
> > > > because the driver needs to know where to put framebuffer content. So
> > > > the point I was trying to make is that we can't treat the memory in the
> > > > same way as clocks because it needs to be explicitly managed. Whereas
> > > > clocks don't. The driver is simply too generic to know what to do with
> > > > the clocks.
> > > 
> > > You agreed on the fact that the only thing we need to do with the
> > > clocks is claim them. Really, I don't find what's complicated there
> > > (or not generic).
> > 
> > That's not what I agreed on. What I said is that the only thing we need
> > to do with the clocks is nothing. They are already in the state that
> > they need to be.
> 
> Claim was probably a poor choice of words, but still. We have to keep
> the clock running, and both the solution you've been giving and this
> patch do so in a generic way.
> 
> > > > It doesn't know what frequency they should be running at
> > > 
> > > We don't care about that. Just like we don't care about which
> > > frequency is the memory bus running at. It will just run at whatever
> > > frequency is appropriate.
> > 
> > Exactly. And you shouldn't have to care about them at all. Firmware has
> > already configured the clocks to run at the correct frequencies, and it
> > has made sure that they are enabled.
> > 
> > > > or what they're used for
> > > 
> > > And we don't care about that either. You're not interested in what
> > > output the framebuffer is setup to use, which is pretty much the same
> > > here, this is the same thing here.
> > 
> > That's precisely what I've been saying. The only thing that simplefb
> > cares about is the memory it should be using and the format of the
> > pixels (and how many of them) it writes into that memory. Everything
> > else is assumed to have been set up.
> > 
> > Including clocks.
> 
> We're really discussing in circles here.
> 
> Mike?
> 

-EHIGHLATENCYRESPONSE

I forgot about this thread. Sorry.

In an attempt to provide the least helpful answer possible, I will stay
clear of all of the stuff relating to "how simple should simplefb be"
and the related reserved memory discussion.

A few times in this thread it is stated that we can't prevent unused
clocks from being disabled. That is only partially true.

The clock framework DOES provide a flag to prevent UNUSED clocks from
being disabled at late_initcall-time by a clock "garbage collector"
mechanism. Maxime and others familiar with the clock framework are aware
of this.

What the framework doesn't do is to allow for a magic flag in DT, in
platform_data or elsewhere that says, "don't let me get turned off until
the right driver claims me". That would be an external or alternative
method for preventing a clock from being disabled. We have a method for
preventing clocks from being disabled. It is as follows:

struct clk *my_clk = clk_get(...);
clk_prepare_enable(my_clk);

That is how it should be done. Period.

With that said I think that Luc's approach is very sensible. I'm not
sure what purpose in the universe DT is supposed to serve if not for
_this_exact_case_. We have a nice abstracted driver, usable by many
people. The hardware details of how it is hooked up at the board level
can all be hidden behind stable DT bindings that everyone already uses.

What more could you want?

Regards,
Mike

> Your opinion would be very valuable.
> 
> > > > so by any definition of what DT should describe they're useless for
> > > > this virtual device.
> > > >
> > > > Furthermore it's fairly likely that as your kernel support progresses
> > > > you'll find that the driver all of a sudden needs to manage some other
> > > > type of resource that you just haven't needed until now because it may
> > > > default to being always on. Then you'll have a hard time keeping
> > > > backwards-compatibility and will have to resort to the kinds of hacks
> > > > that you don't want to see in the kernel.
> > > 
> > > Not such a hard time. An older DT wouldn't define the new requirements
> > > anyway, so they wouldn't be used, and we would end up in pretty much
> > > the current case.
> > 
> > Except that you have firmware in the wild that sets up an incomplete
> > simplefb node and if you don't want to break compatibility you need to
> > provide fallbacks for the resources that aren't listed in the DT node.
> > And given that those fallbacks are all very board specific you'll need
> > to find ways to keep them enabled if you want to keep existing setups
> > working.
> 
> How would an *optional* property break those users?
> 
> If you don't need any clock to be kept running (or are hiding them
> under the carpet), of course you don't need such a property.
> 
> Maxime
> 
> -- 
> Maxime Ripard, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com

  reply	other threads:[~2014-09-27 23:56 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 [this message]
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
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=20140927235601.19023.31593@quantum \
    --to=mturquette@linaro.org \
    --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).