linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: santosh.shilimkar@ti.com (Shilimkar, Santosh)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst()
Date: Thu, 2 Feb 2012 20:54:08 +0530	[thread overview]
Message-ID: <CAMQu2gxuQVYNvo8VeGrmZGo3tqCydhVaOz1VXjeAgrL8Opm8nA@mail.gmail.com> (raw)
In-Reply-To: <CAMQu2gxQHyoH-AC4ut2EGVs6wBvAJqUJ8tzXUm2hH_gZqMGE6w@mail.gmail.com>

Paul,

On Thu, Feb 2, 2012 at 3:47 PM, Shilimkar, Santosh
<santosh.shilimkar@ti.com> wrote:
> On Thu, Feb 2, 2012 at 3:35 PM, Paul Walmsley <paul@pwsan.com> wrote:
>> On Thu, 2 Feb 2012, Shilimkar, Santosh wrote:
>>
>>> Yes, we do have issue with below APIs for OMAP4 and onwards design
>>> because of the PRCM change.
>>>
>>> pwrdm_clear_all_prev_pwrst
>>> pwrdm_*_mem_*
>>>
>>> There use to be a single power state and memory state register till OMAP3
>>> at power domain level which can give you the logic and memory last test
>>> which is needed for OSWR.
>>>
>>> On OMAP4, we have registers per modules and it becomes difficult to model
>>> this difference in APIs. Initially we tried to fix that with [1] and
>>> then later realized
>>> that's not going to work on OMAP4 + devices because of mentioned issue.
>>
>> If the registers are per-module, it seems like the best place for those
>> would be the hwmod layer. ?Do you think that makes sense? ?So, something
>> like omap_hwmod_clear_all_prev_pwrst(), etc.? ?Seems like that should be
>> pretty efficient.
>>
> But all these are power domain registers after all. Rajendra did one version of
> " pwrdm_clear_all_prev_pwrst" ?API and inside used hwmod. But then there he
> has iterate over all the modules belongs to that power domain.
>
> And if you use hwmod or omap_device kind of API, then ?you need to
> build those devices in init or some where.
>
> All of that was not looking so elegant and hence the other path was chosen.
> The mess is, the registers are still part of power domains though they
> are specific
> to module. And Fundamentally power domain is stil the central entity
> decides the fate of all the modules within that PD, in terms of context
> loss/ret etc.
>
I looked at the MPUSS file. There are 3 functions which access
power domain registers directly.

- mpuss_clear_prev_logic_pwrst
- cpu_clear_prev_logic_pwrst
- omap4_mpuss_read_prev_context_state

All of these functions access the context registers which
we don't have support today at power domian APIs for
mentioned issue. This file is using power domain APIs
in all possible scenario's except the OSWR scenario
which needs the context register accesses.

if the context clear and read can be handled part of
PD APIs, then we can certainly kill this functions.

Regards
santosh

  reply	other threads:[~2012-02-02 15:24 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30  9:43 [PATCH 0/2] ARM: OMAP2+: PM: miscellaneous powerdomain-related improvements Paul Walmsley
2012-01-30  9:43 ` [PATCH 1/2] ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst() Paul Walmsley
2012-01-30 10:54   ` Shilimkar, Santosh
2012-01-31  0:14   ` Kevin Hilman
2012-01-31  3:53     ` Rajendra Nayak
2012-01-31  6:57     ` Shilimkar, Santosh
2012-01-31  7:15       ` Paul Walmsley
2012-01-31  7:23         ` Shilimkar, Santosh
2012-01-31  7:27           ` Paul Walmsley
2012-01-31  7:34             ` Shilimkar, Santosh
2012-01-31  7:49               ` Paul Walmsley
2012-01-31  8:37                 ` Shilimkar, Santosh
2012-01-31 17:29     ` Kevin Hilman
2012-02-01 19:27       ` Paul Walmsley
2012-02-02  7:13         ` Shilimkar, Santosh
2012-02-02  8:33           ` Paul Walmsley
2012-02-02  8:59             ` Shilimkar, Santosh
2012-02-02 10:05               ` Paul Walmsley
2012-02-02 10:17                 ` Shilimkar, Santosh
2012-02-02 15:24                   ` Shilimkar, Santosh [this message]
2012-02-02 19:59                     ` Paul Walmsley
2012-02-02 18:14         ` Kevin Hilman
2012-01-30  9:43 ` [PATCH 2/2] ARM: OMAP2+: PM: clean up omap_set_pwrdm_state() Paul Walmsley
2012-01-30 12:17   ` Shilimkar, Santosh
2012-01-31  3:46   ` Rajendra Nayak
2012-01-30 21:27 ` [PATCH 0/2] ARM: OMAP2+: PM: miscellaneous powerdomain-related improvements Kevin Hilman
2012-01-31  7:21   ` Tero Kristo
2012-02-01 13:55   ` Tero Kristo

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=CAMQu2gxuQVYNvo8VeGrmZGo3tqCydhVaOz1VXjeAgrL8Opm8nA@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).