lkml.org 
[lkml]   [2018]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 3.18 02/25] ARM: AM33xx: PRM: Remove am33xx_pwrdm_read_prev_pwrst function
    Date
    From: Keerthy <j-keerthy@ti.com>

    [ Upstream commit b6d6af7226465b6d11eac09d0be2ab78a4a9eb62 ]

    Referring TRM Am335X series:
    http://www.ti.com/lit/ug/spruh73p/spruh73p.pdf

    The LastPowerStateEntered bitfield is present only for PM_CEFUSE
    domain. This is not present in any of the other power domains. Hence
    remove the generic am33xx_pwrdm_read_prev_pwrst hook which wrongly
    reads the reserved bit fields for all the other power domains.

    Reading the reserved bits leads to wrongly interpreting the low
    power transitions for various power domains that do not have the
    LastPowerStateEntered field. The pm debug counters values are wrong
    currently as we are incrementing them based on the reserved bits.

    Signed-off-by: Keerthy <j-keerthy@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    arch/arm/mach-omap2/prm33xx.c | 12 ------------
    1 file changed, 12 deletions(-)

    diff --git a/arch/arm/mach-omap2/prm33xx.c b/arch/arm/mach-omap2/prm33xx.c
    index 62709cd2f9c5..1b774985997e 100644
    --- a/arch/arm/mach-omap2/prm33xx.c
    +++ b/arch/arm/mach-omap2/prm33xx.c
    @@ -165,17 +165,6 @@ static int am33xx_pwrdm_read_pwrst(struct powerdomain *pwrdm)
    return v;
    }

    -static int am33xx_pwrdm_read_prev_pwrst(struct powerdomain *pwrdm)
    -{
    - u32 v;
    -
    - v = am33xx_prm_read_reg(pwrdm->prcm_offs, pwrdm->pwrstst_offs);
    - v &= AM33XX_LASTPOWERSTATEENTERED_MASK;
    - v >>= AM33XX_LASTPOWERSTATEENTERED_SHIFT;
    -
    - return v;
    -}
    -
    static int am33xx_pwrdm_set_lowpwrstchange(struct powerdomain *pwrdm)
    {
    am33xx_prm_rmw_reg_bits(AM33XX_LOWPOWERSTATECHANGE_MASK,
    @@ -329,7 +318,6 @@ struct pwrdm_ops am33xx_pwrdm_operations = {
    .pwrdm_set_next_pwrst = am33xx_pwrdm_set_next_pwrst,
    .pwrdm_read_next_pwrst = am33xx_pwrdm_read_next_pwrst,
    .pwrdm_read_pwrst = am33xx_pwrdm_read_pwrst,
    - .pwrdm_read_prev_pwrst = am33xx_pwrdm_read_prev_pwrst,
    .pwrdm_set_logic_retst = am33xx_pwrdm_set_logic_retst,
    .pwrdm_read_logic_pwrst = am33xx_pwrdm_read_logic_pwrst,
    .pwrdm_read_logic_retst = am33xx_pwrdm_read_logic_retst,
    --
    2.11.0
    \
     
     \ /
      Last update: 2018-01-28 23:36    [W:5.434 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site