linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 8/8] clk: tegra: Add EMC clock driver
Date: Wed, 30 Jul 2014 11:34:57 +0200	[thread overview]
Message-ID: <20140730093456.GA29590@ulmo> (raw)
In-Reply-To: <53D81CD4.5010307@wwwdotorg.org>

On Tue, Jul 29, 2014 at 04:14:44PM -0600, Stephen Warren wrote:
> On 07/29/2014 02:19 PM, Mike Turquette wrote:
> >Quoting Mikko Perttunen (2014-07-29 01:47:35)
> >>On 22/07/14 19:57, Stephen Warren wrote:
> >>>On 07/11/2014 08:18 AM, Mikko Perttunen wrote:
> >>>>+static int emc_debug_rate_set(void *data, u64 rate)
> >>>>+{
> >>>>+    struct tegra_emc *tegra = data;
> >>>>+
> >>>>+    return clk_set_rate(tegra->hw.clk, rate);
> >>>>+}
> >>>>+
> >>>>+DEFINE_SIMPLE_ATTRIBUTE(emc_debug_rate_fops, emc_debug_rate_get,
> >>>>+                    emc_debug_rate_set, "%lld\n");
> >>>
> >>>I think the rate can already be obtained through
> >>>...debug/clock/clock_summary. I'm not sure about changing the rate, but
> >>>shouldn't that be a feature of the common clock core, not individual
> >>>drivers?
> >>
> >>The core doesn't allow writing to the rate debugfs files, so this is the
> >>only way to trigger an EMC clock change for now. I agree that the core
> >>might be a better place. I don't know if there are any philosophical
> >>objections to that. I'd like to keep this in until a possible core
> >>feature addition. Mike, any comments?
> >
> >Yes, there is a philosophical rejection to exposing rate-change knobs to
> >userspace through debugfs. These can and will ship in real products
> >(typically Android) with lots of nasty userspace hacks, and also
> >represent pretty dangerous things to expose to userspace. I have always
> >maintained that such knobs should remain out of tree or, with the advent
> >of the custom debugfs entries, should be burden of the clock drivers.
> 
> That argument seems a bit inconsistent.
> 
> I can see the argument to disallow code that lets user-space fiddle with
> clocks. However, if that argument holds, then surely it must apply to either
> the clock core *or* a clock driver; the end effect of allowing the code in
> either place is that people will be able to implement the user-space hacks
> you want to avoid. Yet, if we allow the code because it's a useful debug
> tool, then surely it should be in the clock core so we don't implement it
> redundantly in each clock driver.
> 
> We could always taint the kernel if the feature is used. Admittedly that
> wouldn't stop people using the feature as a hack in Android/product kernels,
> but at least nobody would have to unknowingly debug problems due to such
> manipulation, in the context of an upstream kernel.

Not merging this feature upstream won't stop anybody from implementing
it as a hack in Android/product kernels either. If it's useful then
somebody will implement it in whatever downstream kernel they use. And
if it's useful to more than one vendor then we'll end up with a copy of
the implementation (and derivations on top) in each vendor's tree.

debugfs requires superuser privileges anyway, in which case you could
equally well write userspace software that directly bangs on the clock
controller registers.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140730/656bf6d5/attachment.sig>

  reply	other threads:[~2014-07-30  9:34 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11 14:18 [PATCH 0/8] Tegra124 EMC (external memory controller) support Mikko Perttunen
2014-07-11 14:18 ` [PATCH 1/8] clk: tegra124: Remove old emc_mux and emc clocks Mikko Perttunen
2014-07-11 14:18 ` [PATCH 2/8] ARM: tegra: Remove TEGRA124_CLK_EMC from tegra124-car.h Mikko Perttunen
2014-07-21 22:37   ` Stephen Warren
2014-07-29  8:28     ` Mikko Perttunen
2014-07-11 14:18 ` [PATCH 3/8] ARM: tegra: Add PLL_M_UD and PLL_C_UD to tegra124-car binding header Mikko Perttunen
2014-08-25 17:41   ` Stephen Warren
2014-09-17 13:41     ` Peter De Schrijver
2014-07-11 14:18 ` [PATCH 4/8] clk: tegra124: Add PLL_M_UD and PLL_C_UD clocks Mikko Perttunen
2014-07-11 14:18 ` [PATCH 5/8] of: Add Tegra124 EMC bindings Mikko Perttunen
2014-07-11 14:51   ` Thierry Reding
2014-07-11 16:01     ` Mikko Perttunen
2014-07-14  7:55       ` Mikko Perttunen
2014-07-14  8:15         ` Thierry Reding
2014-07-14  9:06           ` Mikko Perttunen
2014-07-14  9:31             ` Thierry Reding
2014-07-14  9:57               ` Mikko Perttunen
2014-07-14 10:29                 ` Thierry Reding
2014-07-14 10:54                   ` Mikko Perttunen
2014-07-14 11:10                     ` Thierry Reding
2014-07-14 12:28                       ` Mikko Perttunen
2014-07-11 16:43   ` Andrew Bresticker
2014-07-11 16:48     ` Mikko Perttunen
2014-07-21 21:28     ` Stephen Warren
2014-07-21 22:52       ` Andrew Bresticker
2014-07-22 16:45         ` Stephen Warren
2014-07-22 17:22           ` Andrew Bresticker
2014-07-22 17:34             ` Stephen Warren
2014-07-29  8:30               ` Mikko Perttunen
2014-07-29 15:49                 ` Stephen Warren
2014-07-31 10:48                   ` Mikko Perttunen
2014-07-31 11:05                     ` Mikko Perttunen
2014-07-31 15:32                       ` Stephen Warren
2014-07-21 22:36   ` Stephen Warren
2014-07-11 14:18 ` [PATCH 6/8] ARM: tegra: Add EMC to Tegra124 device tree Mikko Perttunen
2014-07-11 14:18 ` [PATCH 7/8] ARM: tegra: Add EMC timings to Jetson TK1 " Mikko Perttunen
2014-07-11 14:18 ` [PATCH 8/8] clk: tegra: Add EMC clock driver Mikko Perttunen
2014-07-22 16:57   ` Stephen Warren
2014-07-29  8:47     ` Mikko Perttunen
2014-07-29 20:19       ` Mike Turquette
2014-07-29 22:14         ` Stephen Warren
2014-07-30  9:34           ` Thierry Reding [this message]
2014-07-31 19:06             ` Mike Turquette
2014-07-31 19:53               ` Stephen Warren
2014-07-31 23:08                 ` Mike Turquette
2014-08-01  6:31                   ` Mikko Perttunen
2014-08-01  8:40               ` Thierry Reding
2014-08-25 17:40 ` [PATCH 0/8] Tegra124 EMC (external memory controller) support Stephen Warren
2014-08-26  7:42   ` Mikko Perttunen
2014-08-26  7:47     ` Thierry Reding
2014-08-26  8:02       ` Mikko Perttunen
2014-09-05 10:22     ` Tomeu Vizoso
2014-09-05 10:55       ` Mikko Perttunen

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=20140730093456.GA29590@ulmo \
    --to=thierry.reding@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).