From: Tero Kristo <t-kristo@ti.com> To: linux-omap@vger.kernel.org, nm@ti.com, paul@pwsan.com, khilman@ti.com, rnayak@ti.com Cc: linux-arm-kernel@lists.infradead.org Subject: [PATCHv7 12/12] ARM: OMAP4: hwmod: update context lost counter logic for hwmods without context reg Date: Thu, 19 Jul 2012 16:26:32 +0300 [thread overview] Message-ID: <1342704392-23657-13-git-send-email-t-kristo@ti.com> (raw) In-Reply-To: <1342704392-23657-1-git-send-email-t-kristo@ti.com> With this patch, the hwmods that don't have context register, will now increment their context lost counter always unless they belong to an always on powerdomain which never loses context. The always on pwrdm type is checked by looking at the the powerdomain registered for the hwmod, and seeing if it only has ON within its valid powerstates. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/mach-omap2/omap_hwmod.c | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 3ebf93e..daf5322 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -1802,9 +1802,28 @@ static void _reconfigure_io_chain(void) static void _omap4_update_context_lost(struct omap_hwmod *oh) { u32 r; + struct powerdomain *pwrdm; + + /* Special handling if we have not defined context register */ + if (oh->prcm.omap4.context_offs == USHRT_MAX) { + /* Get powerdomain pointer for this hwmod */ + if (oh->clkdm) + pwrdm = oh->clkdm->pwrdm.ptr; + else + pwrdm = NULL; - if (oh->prcm.omap4.context_offs == USHRT_MAX) + /* + * If our powerdomain is of 'always on' type (i.e. + * available powerstates == PWRSTS_ON), don't increment + * context lost and return + */ + if (pwrdm && pwrdm->pwrsts == PWRSTS_ON) + return; + + /* Otherwise, increase context lost counter and return */ + oh->prcm.omap4.context_lost_counter++; return; + } r = omap4_prminst_read_inst_reg(oh->clkdm->pwrdm.ptr->prcm_partition, oh->clkdm->pwrdm.ptr->prcm_offs, -- 1.7.4.1
WARNING: multiple messages have this Message-ID (diff)
From: t-kristo@ti.com (Tero Kristo) To: linux-arm-kernel@lists.infradead.org Subject: [PATCHv7 12/12] ARM: OMAP4: hwmod: update context lost counter logic for hwmods without context reg Date: Thu, 19 Jul 2012 16:26:32 +0300 [thread overview] Message-ID: <1342704392-23657-13-git-send-email-t-kristo@ti.com> (raw) In-Reply-To: <1342704392-23657-1-git-send-email-t-kristo@ti.com> With this patch, the hwmods that don't have context register, will now increment their context lost counter always unless they belong to an always on powerdomain which never loses context. The always on pwrdm type is checked by looking at the the powerdomain registered for the hwmod, and seeing if it only has ON within its valid powerstates. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/mach-omap2/omap_hwmod.c | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 3ebf93e..daf5322 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -1802,9 +1802,28 @@ static void _reconfigure_io_chain(void) static void _omap4_update_context_lost(struct omap_hwmod *oh) { u32 r; + struct powerdomain *pwrdm; + + /* Special handling if we have not defined context register */ + if (oh->prcm.omap4.context_offs == USHRT_MAX) { + /* Get powerdomain pointer for this hwmod */ + if (oh->clkdm) + pwrdm = oh->clkdm->pwrdm.ptr; + else + pwrdm = NULL; - if (oh->prcm.omap4.context_offs == USHRT_MAX) + /* + * If our powerdomain is of 'always on' type (i.e. + * available powerstates == PWRSTS_ON), don't increment + * context lost and return + */ + if (pwrdm && pwrdm->pwrsts == PWRSTS_ON) + return; + + /* Otherwise, increase context lost counter and return */ + oh->prcm.omap4.context_lost_counter++; return; + } r = omap4_prminst_read_inst_reg(oh->clkdm->pwrdm.ptr->prcm_partition, oh->clkdm->pwrdm.ptr->prcm_offs, -- 1.7.4.1
next prev parent reply other threads:[~2012-07-19 13:27 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-07-19 13:26 [PATCHv7 00/12] ARM: OMAP4: core retention support Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 13:26 ` [PATCHv7 01/12] ARM: OMAP4: PM: add errata support Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 13:26 ` [PATCHv7 02/12] ARM: OMAP4460: Workaround for ROM bug because of CA9 r2pX GIC control register change Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 13:26 ` [PATCHv7 03/12] ARM: OMAP4: hwmod: flag hwmods/modules not supporting module level context status Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-09-12 19:46 ` Paul Walmsley 2012-09-12 19:46 ` Paul Walmsley 2012-07-19 13:26 ` [PATCHv7 04/12] ARM: OMAP: hwmod: Add support for per hwmod/module context lost count Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-09-12 19:48 ` Paul Walmsley 2012-09-12 19:48 ` Paul Walmsley 2012-09-12 21:29 ` Paul Walmsley 2012-09-12 21:29 ` Paul Walmsley 2012-09-21 0:38 ` Paul Walmsley 2012-09-21 0:38 ` Paul Walmsley 2012-07-19 13:26 ` [PATCHv7 05/12] ARM: OMAP4: pwrdm: add support for reading prev logic and mem states Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-09-12 19:50 ` Paul Walmsley 2012-09-12 19:50 ` Paul Walmsley 2012-07-19 13:26 ` [PATCHv7 06/12] ARM: OMAP4: suspend: Program all domains to retention Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 14:16 ` Sergei Shtylyov 2012-07-19 14:16 ` Sergei Shtylyov 2012-08-06 13:29 ` Jean Pihet 2012-08-06 13:29 ` Jean Pihet 2012-09-12 21:36 ` Kevin Hilman 2012-09-12 21:36 ` Kevin Hilman 2012-07-19 13:26 ` [PATCHv7 07/12] ARM: OMAP4: PM: put all domains to OSWR during suspend Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 14:44 ` Paul Walmsley 2012-07-19 14:44 ` Paul Walmsley 2012-07-19 15:31 ` Tero Kristo 2012-07-19 15:31 ` Tero Kristo 2012-07-19 23:30 ` Paul Walmsley 2012-07-19 23:30 ` Paul Walmsley 2012-07-20 8:37 ` Tero Kristo 2012-07-20 8:37 ` Tero Kristo 2012-09-12 23:11 ` Kevin Hilman 2012-09-12 23:11 ` Kevin Hilman 2012-09-13 7:40 ` Tero Kristo 2012-09-13 7:40 ` Tero Kristo 2012-07-19 13:26 ` [PATCHv7 08/12] ARM: OMAP4430: PM: Work-around for ROM code BUG of PER pwrst ctrl Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 23:21 ` Paul Walmsley 2012-07-19 23:21 ` Paul Walmsley 2012-07-20 9:20 ` Tero Kristo 2012-07-20 9:20 ` Tero Kristo 2012-07-20 13:25 ` Tero Kristo 2012-07-20 13:25 ` Tero Kristo 2012-07-19 13:26 ` [PATCHv7 09/12] ARM: OMAP4: hwmod data: temporarily comment out data for the sl2if IP block Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-23 18:38 ` Paul Walmsley 2012-07-23 18:38 ` Paul Walmsley 2012-07-19 13:26 ` [PATCHv7 10/12] ARM: OMAP4: HWMOD: add support for lostcontext_mask Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-09-12 19:52 ` Paul Walmsley 2012-09-12 19:52 ` Paul Walmsley 2012-07-19 13:26 ` [PATCHv7 11/12] ARM: OMAP4: hwmod_data: add context lose information for l4_abe hwmod Tero Kristo 2012-07-19 13:26 ` Tero Kristo 2012-07-19 13:26 ` Tero Kristo [this message] 2012-07-19 13:26 ` [PATCHv7 12/12] ARM: OMAP4: hwmod: update context lost counter logic for hwmods without context reg 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=1342704392-23657-13-git-send-email-t-kristo@ti.com \ --to=t-kristo@ti.com \ --cc=khilman@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=nm@ti.com \ --cc=paul@pwsan.com \ --cc=rnayak@ti.com \ /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: linkBe 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.