All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Walmsley <paul@pwsan.com>
To: linux-omap@vger.kernel.org
Subject: [PATCH 0/3] OMAP2/3 clock: fix module IDLEST code for unusual devs
Date: Mon, 22 Jun 2009 01:56:03 -0600	[thread overview]
Message-ID: <20090622075500.13566.96430.stgit@localhost.localdomain> (raw)

Hello,

After Linux enables an OMAP device's clocks, it must wait for the
device to leave the 'idle' state, or register accesses may result in
an interconnect error and subsequent system crash.  Code to do this is
currently in the OMAP clock code, but is overgeneralized, and will not
work correctly for several exception cases - one on 2430, and four on
OMAP3.

This series fixes these bugs by modularizing omap2_clk_wait_ready(),
allowing custom CM_IDLEST register and bit shift data to be supplied
on a per-clock basis, if necessary.  (This was originally fixed in the
linux-omap kernel during 2.6.29 in a slightly different manner.)

In the medium term, the module wait code will be moved to omap_hwmod or a
similar OMAP device layer.

Tested on BeagleBoard rev C2 (OMAP3530 ES3); compile-tested with the
N800 defconfig.


- Paul

---

   text    data     bss     dec     hex filename
3346788  187872  103104 3637764  378204 vmlinux.beagle.orig
3347316  188608  103104 3639028  3786f4 vmlinux.beagle


Paul Walmsley (3):
      OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB
      OMAP2 clock: 2430 I2CHS uses non-standard CM_IDLEST register
      OMAP2/3 clock: split, rename omap2_wait_clock_ready()


 arch/arm/mach-omap2/clock.c             |  126 +++++++++++------------------
 arch/arm/mach-omap2/clock.h             |    6 +
 arch/arm/mach-omap2/clock24xx.c         |   37 ++++++++-
 arch/arm/mach-omap2/clock24xx.h         |    4 -
 arch/arm/mach-omap2/clock34xx.c         |  133 +++++++++++++++++++++++++++++--
 arch/arm/mach-omap2/clock34xx.h         |   85 +++++++++++++++++---
 arch/arm/mach-omap2/prcm.c              |   43 ++++++++++
 arch/arm/plat-omap/include/mach/clock.h |    2 
 arch/arm/plat-omap/include/mach/prcm.h  |    1 
 9 files changed, 338 insertions(+), 99 deletions(-)


             reply	other threads:[~2009-06-22  7:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-22  7:56 Paul Walmsley [this message]
2009-06-22  7:56 ` [PATCH 1/3] OMAP2/3 clock: split, rename omap2_wait_clock_ready() Paul Walmsley
2009-06-22  7:56 ` [PATCH 2/3] OMAP2 clock: 2430 I2CHS uses non-standard CM_IDLEST register Paul Walmsley
2009-06-22  7:56 ` [PATCH 3/3] OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB Paul Walmsley

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=20090622075500.13566.96430.stgit@localhost.localdomain \
    --to=paul@pwsan.com \
    --cc=linux-omap@vger.kernel.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.