linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [linux-sunxi] Re: [PATCH 4/4] simplefb: add clock handling code
Date: Thu, 28 Aug 2014 12:15:40 +0000	[thread overview]
Message-ID: <53FF1D6C.6090205@redhat.com> (raw)
In-Reply-To: <20140827141632.GB32243@ulmo>

Hi,

On 08/27/2014 04:16 PM, Thierry Reding wrote:

<snip>

>> The problems your talking about here all have to do with ordering how
>> things are enabled, but what we're talking about here is keeping things
>> enabled which are already enabled by the bootloader, so there is no
>> ordering problem.
> 
> See what I did there? I tricked you into saying what I've been saying
> all along. =) 

He he :)

> It's about keeping things enabled which have been enabled
> by the bootloader. That's the root of the problem.

Ok so we all seem to largely agree on most things here:

1) Somehow some clks must be marked used so as to not get disabled
2) We don't want to hardcode these clocks into the kernel (sunxi) clk
driver, instead the bootloader should tell the kernel about these clocks.

So the only point of discussion left seems to be how to do 2...

<snip>

>> Hmm I see, in my mind the problem is not that the clk framework disables
>> unused clocks, but that no one is marking the clocks in question as used.
>> Someone should mark these clocks as used so that they do not get disabled.
>>
>> We could add a clk_mark_in_use function and have the simplefb patch call
>> that instead of clk_prepare_and_enable, or maybe even better just only
>> claim the clks and teach the clk framework to not disable claimed clk
>> in its cleanup run. That would make it clear that simplefb is not enabling
>> anything, just claiming resource its need to avoid them getting removed
>> from underneath simplefb, would that work for you ?
> 
> That would be more accurate, but it boils down to the same problem where
> we still need a driver to claim the resources in some way whereas the
> problem is fundamentally one where the bootloader should be telling the
> kernel not to disable it. It's in fact the bootloader that's claiming
> the resources.

Yes, but those resources do not belong to the bootloader in a sense
that traditional bootloader / firmware claimed resources (e.g. acpi
reserved resources) do. These traditional resources are claimed for ever.

Where as these resources are claimed by the bootloader to keep the simplefb
it provides working, as soon as the simplefb is no longer used, they become
unused.

<snip off-topic generic-ehci discussion>

>> No, there are a lot of other drivers which were written before someone
>> decided that having 10-20 drivers which were 90% copy and paste of each
>> other was a bad idea, but we're really going offtopic here.
> 
> The copy and paste is for code that's platform specific. The clocks have
> different names, resets are different, supplies are different. The fact
> that many can currently use the same driver is likely just coincidence
> rather than design and it's entirely possible that at some point they'll
> add support for a more advanced feature that makes them incompatible
> with the rest of the generic drivers. And then you have a big mess
> because you need to add quirks all over the place.
> 
> And this isn't all that far off-topic, since simplefb also needs to deal
> with this kind of situation. And what I've been arguing is that in order
> to really be generic it has to make assumptions, one of which is that it
> uses only resources that it doesn't need to explicitly handle.

I can understand that you're worried about generic ?hci drivers dealing with
clocks / resets / etc. As there may be strict ordering requirements there,
but for simplefb that is not the case.

All we're asking for is for a way to communicate 2 things to the kernel:

1) These resources are in use (we are not asking the kernel to do anything
with them, rather the opposite, we're asking to leave them alone so no
ordering issues)

2) Tie these resources to simplefb so that the kernel can know when they
are no longer in use, and it may e.g. re-use the memory

To me the most logical and also most "correct" way of modelling this is to
put the resources inside the simplefb dt node.

<snip>

>> The key word here is "the used resources" to me this is not about simlefb
>> managing resources, but marking them as used as long as it needs them, like
>> it will need to do for the reserved mem chunk.
> 
> The difference between the clocks and the memory resource is that the
> driver needs to directly access the memory (it needs to map it and
> provide a userspace mapping for it) whereas it doesn't need to touch the
> clocks (except to workaround a Linux-specific implementation detail).

Erm, no, the need to map the memory and the memory being a resource
which may be released are an orthogonal problem. E.g. a system with
dedicated framebuffer memory won't need to use a reserved main-memory
chunk, nor need to worry about returning that mem when simplefb is no
longer in use.

Regards,

Hans

  reply	other threads:[~2014-08-28 12:15 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 [this message]
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
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=53FF1D6C.6090205@redhat.com \
    --to=hdegoede@redhat.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).