From: marek.vasut@gmail.com (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/12] Add clk_prepare/clk_unprepare for mxs clock api
Date: Tue, 20 Dec 2011 14:43:02 +0100 [thread overview]
Message-ID: <201112201443.03202.marek.vasut@gmail.com> (raw)
In-Reply-To: <1324382443-4439-1-git-send-email-shawn.guo@linaro.org>
> The mutex locking problem on mxs platform has been reported on mailing
> list for a few time. The cause is that a mutex is being held in mxs
> clock api clk_enable/clk_disable which are being called by some mxs
> clock client drivers like amba-pl011 and mxs-saif in atomic context.
>
> This series takes Russell's suggestion to:
>
> * Convert all mxs clock client drivers to clk_prepare/clk_unprepare.
> (I hope the series has covered all the drivers, but appreciate any
> reminding on any missing ones.)
serial/amba-pl011.c isn't converted, that's where I originally observed the
issue.
>
> * Add clk_prepare/clk_unprepare for mxs clock api to contain the
> non-atomic portion of existing clk_enable/clk_disable implemention.
> (As the whole existing clk_enable/clk_disable are non-atomic,
> clk_prepare/clk_unprepare become a renaming of the existing
> clk_enable/clk_disable, and the new clk_enable/clk_disable become
> a pair of dummy functions.)
>
> Thus, we can ensure that no mutex will be held for atomic context, and
> the problem people keep reporting gets fixed with one step move toward
> common clk framework while not ncessarily waiting for it.
>
> If driver maintainers have no objection, after the review process, I
> would like to send the series through arm-soc tree to ease the merge
> process.
>
> Those two patches from Richard Zhao are included here for completeness,
> and they have been picked up by Sascha on imx tree. But since imx and
> mxs will both go through arm-soc, it should easy to sort out how we
> should merge them.
>
> Regards,
> Shawn
>
> Richard Zhao (2):
> clk: add helper functions clk_prepare_enable and
> clk_disable_unprepare net: fec: add clk_prepare/clk_unprepare
>
> Shawn Guo (10):
> arm/mxs: convert platform code to clk_prepare/clk_unprepare
> dma: mxs-dma: convert to clk_prepare/clk_unprepare
> mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
> mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
> net: flexcan: convert to clk_prepare/clk_unprepare
> serial: mxs-auart: convert to clk_prepare/clk_unprepare
> video: mxsfb: convert to clk_prepare/clk_unprepare
> ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
> clk: add config option HAVE_CLK_PREPARE into Kconfig
> arm/mxs: select HAVE_CLK_PREPARE for clock
>
> arch/arm/Kconfig | 1 +
> arch/arm/mach-mxs/clock-mx23.c | 10 +++++-----
> arch/arm/mach-mxs/clock-mx28.c | 10 +++++-----
> arch/arm/mach-mxs/clock.c | 33
> +++++++++++++++++++++++---------- arch/arm/mach-mxs/mach-mx28evk.c |
> 2 +-
> arch/arm/mach-mxs/system.c | 2 +-
> arch/arm/mach-mxs/timer.c | 2 +-
> drivers/clk/Kconfig | 3 +++
> drivers/dma/mxs-dma.c | 8 ++++----
> drivers/mmc/host/mxs-mmc.c | 10 +++++-----
> drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 12 ++++++------
> drivers/net/can/flexcan.c | 10 +++++-----
> drivers/net/ethernet/freescale/fec.c | 10 +++++-----
> drivers/tty/serial/mxs-auart.c | 8 ++++----
> drivers/video/mxsfb.c | 8 ++++----
> include/linux/clk.h | 22 ++++++++++++++++++++++
> sound/soc/mxs/mxs-saif.c | 4 ++--
> 17 files changed, 97 insertions(+), 58 deletions(-)
next prev parent reply other threads:[~2011-12-20 13:43 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-20 12:00 [PATCH 0/12] Add clk_prepare/clk_unprepare for mxs clock api Shawn Guo
2011-12-20 12:00 ` [PATCH 01/12] clk: add helper functions clk_prepare_enable and clk_disable_unprepare Shawn Guo
2011-12-20 13:48 ` Marek Vasut
2011-12-20 14:09 ` Shawn Guo
2011-12-20 12:00 ` [PATCH 02/12] arm/mxs: convert platform code to clk_prepare/clk_unprepare Shawn Guo
2011-12-20 13:44 ` Marek Vasut
2011-12-20 21:11 ` Russell King - ARM Linux
2011-12-20 21:28 ` Marek Vasut
2011-12-20 12:00 ` [PATCH 03/12] net: fec: add clk_prepare/clk_unprepare Shawn Guo
2011-12-20 13:45 ` Marek Vasut
2011-12-20 12:00 ` [PATCH 04/12] dma: mxs-dma: convert to clk_prepare/clk_unprepare Shawn Guo
2011-12-20 13:45 ` Marek Vasut
2011-12-23 17:35 ` Vinod Koul
2011-12-20 12:00 ` [PATCH 05/12] mmc: mxs-mmc: " Shawn Guo
2011-12-20 13:45 ` Marek Vasut
2011-12-20 12:00 ` [PATCH 06/12] mtd: gpmi-lib: " Shawn Guo
2011-12-20 13:46 ` Marek Vasut
2011-12-20 12:00 ` [PATCH 07/12] net: flexcan: " Shawn Guo
2011-12-20 13:48 ` Marek Vasut
2011-12-20 14:23 ` Shawn Guo
2011-12-20 12:00 ` [PATCH 08/12] serial: mxs-auart: " Shawn Guo
2011-12-20 13:49 ` Marek Vasut
2011-12-20 14:07 ` Uwe Kleine-König
2011-12-20 21:15 ` Russell King - ARM Linux
2011-12-20 21:28 ` Marek Vasut
2011-12-20 22:24 ` Russell King - ARM Linux
2011-12-21 1:06 ` Marek Vasut
2011-12-20 14:27 ` Shawn Guo
2011-12-20 12:00 ` [PATCH 09/12] video: mxsfb: " Shawn Guo
2011-12-20 13:49 ` Marek Vasut
2011-12-21 2:11 ` Florian Tobias Schandinat
2011-12-20 12:00 ` [PATCH 10/12] ASoC: mxs-saif: " Shawn Guo
2011-12-20 11:55 ` Mark Brown
2011-12-20 13:49 ` Marek Vasut
2011-12-20 12:00 ` [PATCH 11/12] clk: add config option HAVE_CLK_PREPARE into Kconfig Shawn Guo
2011-12-20 12:00 ` [PATCH 12/12] arm/mxs: select HAVE_CLK_PREPARE for clock Shawn Guo
2011-12-20 13:43 ` Marek Vasut [this message]
2011-12-20 14:05 ` [PATCH 0/12] Add clk_prepare/clk_unprepare for mxs clock api Shawn Guo
2011-12-20 13:59 ` Marek Vasut
2011-12-20 14:21 ` Shawn Guo
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=201112201443.03202.marek.vasut@gmail.com \
--to=marek.vasut@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.