linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/11] OMAP4: PRCM: add OMAP4-specific accessor/mutatorfunctions
Date: Wed, 8 Dec 2010 15:18:27 +0530	[thread overview]
Message-ID: <0adb8bf19a1586d582ac168dcbfc4f5e@mail.gmail.com> (raw)
In-Reply-To: <20101208061829.30541.99531.stgit@twilight.localdomain>

Paul,
> -----Original Message-----
> From: Paul Walmsley [mailto:paul at pwsan.com]
> Sent: Wednesday, December 08, 2010 11:49 AM
> To: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Cc: Rajendra Nayak; Santosh Shilimkar; Beno?t Cousson
> Subject: [PATCH 01/11] OMAP4: PRCM: add OMAP4-specific
> accessor/mutatorfunctions
>
> In some ways, the OMAP4 PRCM register layout is quite different than
> the OMAP2/3 PRCM register layout.  For example, on OMAP2/3, from a
> register layout point of view, all CM instances were located in the CM
> subsystem, and all PRM instances were located in the PRM subsystem.
> OMAP4 changes this.  Now, for example, some CM instances, such as
> WKUP_CM and EMU_CM, are located in the system PRM subsystem.  And a
> "local PRCM" exists for the MPU - this PRCM combines registers that
> would normally appear in both CM and PRM instances, but uses its own
> register layout which matches neither the OMAP2/3 PRCM layout nor the
> OMAP4 PRCM layout.
>
> To try to deal with this, introduce some new functions, omap4_cminst*
> and omap4_prminst*.  The former is to be used when writing to a CM
> instance register (no matter what subsystem or hardware module it
> exists in), and the latter, similarly, with PRM instance registers.
> To determine which "PRCM partition" to write to, the functions take a
> PRCM instance ID argument.  Subsequent patches add these partition IDs
> to the OMAP4 powerdomain and clockdomain definitions.
>
Thanks a lot for this cleanup.

> As far as I can see, there's really no good way to handle these types
> of register access inconsistencies.  This patch seemed like the least
> bad approach.
>
> Moving forward, the long-term goal is to remove all direct PRCM
> register access from the PM code.  PRCM register access should go
> through layers such as the powerdomain and clockdomain code that can
> hide the details of how to interact with the specific hardware
> variant.
>
One more possible road block of removing the direct register access
from PM code is DEVICE PRM module. Even with this clean-up for DEVCIE
PRM related registers. I guess we still need to use the lowest level
APIs.

> While here, rename cm4xxx.c to cm44xx.c to match the naming convention
> of the other OMAP4 PRCM files.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Cc: Beno?t Cousson <b-cousson@ti.com>
> Cc: Rajendra Nayak <rnayak@ti.com>
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> ---
>  arch/arm/mach-omap2/Makefile           |    4 +
>  arch/arm/mach-omap2/cm1_44xx.h         |    5 +
>  arch/arm/mach-omap2/cm2_44xx.h         |    6 ++
>  arch/arm/mach-omap2/cm44xx.c           |   52 ++++++++++++++
>  arch/arm/mach-omap2/cm4xxx.c           |   62 -----------------
>  arch/arm/mach-omap2/cminst44xx.c       |  118
> ++++++++++++++++++++++++++++++++
>  arch/arm/mach-omap2/prcm.c             |   26 -------
>  arch/arm/mach-omap2/prcm44xx.h         |   42 +++++++++++
>  arch/arm/mach-omap2/prcm_mpu44xx.c     |   45 ++++++++++++
>  arch/arm/mach-omap2/prcm_mpu44xx.h     |    8 ++
>  arch/arm/mach-omap2/prm44xx.c          |   65 ++++++++++++++++++
>  arch/arm/mach-omap2/prm44xx.h          |    6 ++
>  arch/arm/mach-omap2/prminst44xx.c      |   74 ++++++++++++++++++++
>  arch/arm/mach-omap2/prminst44xx.h      |   25 +++++++
>  arch/arm/plat-omap/include/plat/prcm.h |    7 +-
>  15 files changed, 454 insertions(+), 91 deletions(-)
>  create mode 100644 arch/arm/mach-omap2/cm44xx.c
>  delete mode 100644 arch/arm/mach-omap2/cm4xxx.c
>  create mode 100644 arch/arm/mach-omap2/cminst44xx.c
>  create mode 100644 arch/arm/mach-omap2/prcm44xx.h
>  create mode 100644 arch/arm/mach-omap2/prcm_mpu44xx.c
>  create mode 100644 arch/arm/mach-omap2/prminst44xx.c
>  create mode 100644 arch/arm/mach-omap2/prminst44xx.h
>

  reply	other threads:[~2010-12-08  9:48 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-08  6:18 [PATCH 00/11] OMAP: PRCM/powerdomain/clockdomain patches for 2.6.38, part two Paul Walmsley
2010-12-08  6:18 ` [PATCH 01/11] OMAP4: PRCM: add OMAP4-specific accessor/mutator functions Paul Walmsley
2010-12-08  9:48   ` Santosh Shilimkar [this message]
2010-12-11  1:55     ` [PATCH 01/11] OMAP4: PRCM: add OMAP4-specific accessor/mutatorfunctions Paul Walmsley
2010-12-11  7:32       ` Santosh Shilimkar
2010-12-08 12:33   ` Rajendra Nayak
2010-12-15  6:48     ` Paul Walmsley
2010-12-15 11:08       ` Rajendra Nayak
2010-12-15 11:57       ` Santosh Shilimkar
2010-12-15 12:43       ` Cousson, Benoit
2010-12-18 10:47         ` Paul Walmsley
2010-12-08 13:50   ` Rajendra Nayak
2010-12-08 19:46     ` Paul Walmsley
2010-12-08 20:16       ` Paul Walmsley
2010-12-08  6:18 ` [PATCH 02/11] OMAP4: PRCM: move global reset function for OMAP4 to an OMAP4-specific file Paul Walmsley
2010-12-08  6:18 ` [PATCH 03/11] OMAP2/3: PRM/CM: prefix OMAP2 PRM/CM functions with "omap2_" Paul Walmsley
2010-12-08  6:18 ` [PATCH 04/11] OMAP4: powerdomains: add PRCM partition data; use OMAP4 PRM functions Paul Walmsley
2010-12-08  6:18 ` [PATCH 05/11] OMAP2+: clockdomains: split the clkdm hwsup enable/disable function Paul Walmsley
2010-12-08 23:12   ` Kevin Hilman
2010-12-09  0:00     ` Paul Walmsley
2010-12-11  1:36       ` Paul Walmsley
2010-12-08  6:18 ` [PATCH 06/11] OMAP4: CM instances: add clockdomain register offsets Paul Walmsley
2010-12-08  6:18 ` [PATCH 07/11] OMAP4: clockdomains: add OMAP4 PRCM data and OMAP4 support Paul Walmsley
2010-12-08  6:18 ` [PATCH 08/11] OMAP2/3: clockdomain: remove unneeded .clkstctrl_reg, remove some direct CM register accesses Paul Walmsley
2010-12-08  6:18 ` [PATCH 09/11] OMAP2+: clockdomain: move header file from plat-omap to mach-omap2 Paul Walmsley
2010-12-15  5:39   ` Paul Walmsley
2010-12-08  6:18 ` [PATCH 10/11] OMAP2+: powerdomain: " Paul Walmsley
2010-12-15  5:37   ` Paul Walmsley
2010-12-15  5:51     ` Paul Walmsley
2010-12-08  6:18 ` [PATCH 11/11] OMAP3: control/PM: move padconf save code to mach-omap2/control.c Paul Walmsley
2010-12-09 14:19 ` [PATCH 00/11] OMAP: PRCM/powerdomain/clockdomain patches for 2.6.38, part two Jarkko Nikula
2010-12-09 17:41   ` Paul Walmsley
2010-12-14 14:40 ` [PATCH 00/11] OMAP: PRCM/powerdomain/clockdomain patches for 2.6.38,part two Rajendra Nayak
2010-12-15  3:57   ` Paul Walmsley
2010-12-15 11:14     ` Rajendra Nayak
2010-12-15  4:15 ` Santosh Shilimkar
2010-12-15  4:27   ` Paul Walmsley
2010-12-15  6:15     ` Santosh Shilimkar

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=0adb8bf19a1586d582ac168dcbfc4f5e@mail.gmail.com \
    --to=santosh.shilimkar@ti.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).