linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: benh@kernel.crashing.org (Benjamin Herrenschmidt)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC,PATCH 1/2] Add a common struct clk
Date: Sat, 12 Jun 2010 15:12:53 +1000	[thread overview]
Message-ID: <1276319573.1962.180.camel@pasglop> (raw)
In-Reply-To: <19474.172.742782.972629@ipc1.ka-ro>

On Fri, 2010-06-11 at 11:23 +0200, Lothar Wa?mann wrote:
> Hi,
> 
> > > Using a mutex in clk_enable()/clk_disable() is a bad idea, since that
> > > makes it impossible to call those functions in interrupt context.
> > 
> > Do we do this at the moment? I know at least one implementation of clk_enable 
> > uses a mutex for locking.
> > 
> You are probably talking about the Freescale i.MX51 kernel, that won't
> even boot, if you enable CONFIG_DEBUG_KERNEL, CONFIG_DEBUG_SPINLOCK,
> CONFIG_DEBUG_LOCKDEP and CONFIG_DEBUG_SPINLOCK_SLEEP.
> The mutex in the clock implementation is one of the reasons.

Regardless. Clocks generally take time to enable. I don't believe doing
clock enable/disable at hard irq context is a great idea.

If you really want to do something like that, you can always use either
threaded interrupts, or if you know your clock is off, mask & defer your
handling to a work queue yourself.

Unless we have enough case of very fast switching clocks that would
really benefit for that but from my experience, when a device can issue
interrupts, it should have its clocks on, unless it's some kind of
"wakeup" interrupt in which case it can safely be delayed.

Cheers,
Ben.

  parent reply	other threads:[~2010-06-12  5:12 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-04  7:30 [RFC,PATCH 0/2] Common struct clk implementation, v4 Jeremy Kerr
2010-06-04  7:30 ` [RFC,PATCH 2/2] clk: Generic support for fixed-rate clocks Jeremy Kerr
2010-06-04  7:30 ` [RFC,PATCH 1/2] Add a common struct clk Jeremy Kerr
2010-06-11  4:20   ` Ben Dooks
2010-06-11  6:50     ` Benjamin Herrenschmidt
2010-06-11  7:57     ` Jeremy Kerr
2010-06-11  8:14       ` Lothar Waßmann
2010-06-11  9:18         ` Jeremy Kerr
2010-06-11  9:23           ` Lothar Waßmann
2010-06-11  9:58             ` Uwe Kleine-König
2010-06-11 10:08               ` Lothar Waßmann
2010-06-11 10:50                 ` Jeremy Kerr
2010-06-12  5:14                 ` Benjamin Herrenschmidt
2010-06-14  6:39                   ` Lothar Waßmann
2010-06-14  6:40                     ` Uwe Kleine-König
2010-06-14  6:52                       ` Lothar Waßmann
2010-06-14  9:34                         ` Uwe Kleine-König
2010-06-16 21:14                           ` Ben Dooks
2010-06-16 21:13                         ` Ben Dooks
2010-06-14  9:22                     ` Benjamin Herrenschmidt
2010-06-14  9:30                       ` Lothar Waßmann
2010-06-14  9:43                         ` Uwe Kleine-König
2010-06-16 21:16                           ` Ben Dooks
2010-06-16 23:33                             ` Benjamin Herrenschmidt
2010-06-13 22:27                 ` Ben Dooks
2010-06-11 14:11               ` Uwe Kleine-König
2010-06-12  5:12             ` Benjamin Herrenschmidt [this message]
2010-06-12  5:10         ` Benjamin Herrenschmidt
2010-06-13 22:25         ` Ben Dooks
2010-06-13 22:23       ` Ben Dooks
2010-06-14  3:10         ` Jeremy Kerr
2010-09-10  2:10         ` Jeremy Kerr
2010-06-14 10:18     ` Jeremy Kerr
  -- strict thread matches above, loose matches on Subject: below --
2010-06-02 11:56 [RFC,PATCH 0/2] Common struct clk implementation, v3 Jeremy Kerr
2010-06-02 11:56 ` [RFC,PATCH 1/2] Add a common struct clk Jeremy Kerr
2010-06-02 12:03   ` Ben Dooks
2010-06-03  3:21     ` Jeremy Kerr
2010-06-03  8:13       ` Ben Dooks
2010-06-03 10:24         ` Jeremy Kerr
2010-06-03 11:05           ` Russell King - ARM Linux
2010-06-04  0:06             ` Ben Dooks
2010-06-04  1:43               ` Jeremy Kerr
2010-06-04  1:40             ` Jeremy Kerr
2010-06-03 21:09         ` Ryan Mallon
2010-06-03 23:45           ` Ben Dooks

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=1276319573.1962.180.camel@pasglop \
    --to=benh@kernel.crashing.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).