lkml.org 
[lkml]   [2022]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2 10/44] cpuidle,armada: Push RCU-idle into driver
    Doing RCU-idle outside the driver, only to then temporarily enable it
    again before going idle is daft.

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    ---
    drivers/cpuidle/cpuidle-mvebu-v7.c | 7 +++++++
    1 file changed, 7 insertions(+)

    --- a/drivers/cpuidle/cpuidle-mvebu-v7.c
    +++ b/drivers/cpuidle/cpuidle-mvebu-v7.c
    @@ -36,7 +36,10 @@ static int mvebu_v7_enter_idle(struct cp
    if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE)
    deepidle = true;

    + ct_idle_enter();
    ret = mvebu_v7_cpu_suspend(deepidle);
    + ct_idle_exit();
    +
    cpu_pm_exit();

    if (ret)
    @@ -49,6 +52,7 @@ static struct cpuidle_driver armadaxp_id
    .name = "armada_xp_idle",
    .states[0] = ARM_CPUIDLE_WFI_STATE,
    .states[1] = {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = mvebu_v7_enter_idle,
    .exit_latency = 100,
    .power_usage = 50,
    @@ -57,6 +61,7 @@ static struct cpuidle_driver armadaxp_id
    .desc = "CPU power down",
    },
    .states[2] = {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = mvebu_v7_enter_idle,
    .exit_latency = 1000,
    .power_usage = 5,
    @@ -72,6 +77,7 @@ static struct cpuidle_driver armada370_i
    .name = "armada_370_idle",
    .states[0] = ARM_CPUIDLE_WFI_STATE,
    .states[1] = {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = mvebu_v7_enter_idle,
    .exit_latency = 100,
    .power_usage = 5,
    @@ -87,6 +93,7 @@ static struct cpuidle_driver armada38x_i
    .name = "armada_38x_idle",
    .states[0] = ARM_CPUIDLE_WFI_STATE,
    .states[1] = {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = mvebu_v7_enter_idle,
    .exit_latency = 10,
    .power_usage = 5,

    \
     
     \ /
      Last update: 2022-09-19 12:22    [W:2.738 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site