linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michal Suchanek <hramrach@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [linux-sunxi] Re: [PATCH 4/4] simplefb: add clock handling code
Date: Fri, 29 Aug 2014 05:13:22 +0000	[thread overview]
Message-ID: <CAOMqctSwhQHJynn=tW==uuznJW+0CrivNP=os+xem1MAuDP7ZQ@mail.gmail.com> (raw)
In-Reply-To: <20140828100834.GA14388@ulmo>

On 28 August 2014 12:08, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Wed, Aug 27, 2014 at 10:57:29PM +0200, Michal Suchanek wrote:
>> Hello,
>>
>> On 27 August 2014 17:42, Maxime Ripard <maxime.ripard@free-electrons.com> wrote:
>> > On Wed, Aug 27, 2014 at 11:52:48AM +0200, Thierry Reding wrote:
>> >> On Wed, Aug 27, 2014 at 10:45:26AM +0200, Maxime Ripard wrote:
>> >> > On Wed, Aug 27, 2014 at 08:54:41AM +0200, Thierry Reding wrote:
>> >> > > On Tue, Aug 26, 2014 at 11:02:48PM +0200, Maxime Ripard wrote:
>> >> > > > On Tue, Aug 26, 2014 at 04:35:51PM +0200, Thierry Reding wrote:
>> >> [...]
>> >> > > > > > Mike Turquette repeatedly said that he was against such a DT property:
>> >> > > > > > https://lkml.org/lkml/2014/5/12/693
>> >> > > > >
>> >> > > > > Mike says in that email that he's opposing the addition of a property
>> >> > > > > for clocks that is the equivalent of regulator-always-on. That's not
>> >> > > > > what this is about. If at all it'd be a property to mark a clock that
>> >> > > > > should not be disabled by default because it's essential.
>> >> > > >
>> >> > > > It's just semantic. How is "a clock that should not be disabled by
>> >> > > > default because it's essential" not a clock that stays always on?
>> >> > >
>> >> > > Because a clock that should not be disabled by default can be turned off
>> >> > > when appropriate. A clock that is always on can't be turned off.
>> >> >
>> >> > If a clock is essential, then it should never be disabled. Or we don't
>> >> > share the same meaning of essential.
>> >>
>> >> Essential for the particular use-case.
>> >
>> > So, how would the clock driver would know about which use case we're
>> > in? How would it know about which display engine is currently running?
>> > How would it know about which video output is being set?
>> >
>> > Currently, we have two separate display engines, which can each output
>> > either to 4 different outputs (HDMI, RGB/LVDS, 2 DSI). Each and every
>> > one of these combinations would require different clocks. What clocks
>> > will we put in the driver? All of them?
>> >
>>
>> since simplefb cannot be extended how about adding, say, dtfb which
>> claims the resources from dt and then instantiates a simplefb once the
>> resources are claimed? That is have a dtfb which has the clocks
>> assigned and has simplefb as child dt node.
>
> I don't see how that changes anything. All you do is add another layer
> of indirection. The fundamental problem remains the same and isn't
> solved.

It keeps clock code out of simplefb and provides driver for the kind
of framebuffer set up by firmware that exists on sunxi, exynos, and
probably many other SoCs. That is a framebuffer that needs some clocks
and possibly regulators enabled to keep running because the reality of
the platform is that it has clocks and regulators unlike some other
platforms that do not.

These clocks and regulators are used but not configured by the
framebuffer and should be reclaimed when firmware framebuffer is
disabled. This is the same as the chunk of  memory used by simplefb
which is currently lost but should be reclaimed when simplefb is
disabled.

This memory is not 'reserved for firmware' and unusable but reserved
for framebuffer and the regulators are not 'always on' or 'should
never be disabled' but should be enabled while framebuffer is used.

As far as I can tell in DT this is expressed by creating a DT node
associated with the framebuffer driver that tells the kernel that this
memory, clocks and regulators are associated with the framebuffer
driver and can be reclaimed if this driver is stopped or not enabled
in the kernel at all. If you are going to be asinine about simplefb
not getting support for managing any resource other than the memory
chunk then another layer of indirection is required for platforms that
have more resources to manage.

If there is another way to associate resources with a driver in DT
then please enlighten me.

AFAICT simplefb is the framebuffer driver already in kernel closest to
the driver that is required for sunxi - simplefb also relies on
firmware to set up the framebuffer but unlike vesafb or efifb it
already has DT integration. So the most efficient way to implement
framebuffer for sunxi is to extend simplefb or if necessary add
another layer of indirection under simplefb. If there is a better
fitting driver in the kernel then please enlighten me and the
developer that wrote this patch what driver it would be.

Thanks

Michal

  reply	other threads:[~2014-08-29  5:13 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 [this message]
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='CAOMqctSwhQHJynn=tW==uuznJW+0CrivNP=os+xem1MAuDP7ZQ@mail.gmail.com' \
    --to=hramrach@gmail.com \
    --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).