From patchwork Tue Feb 12 07:06:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 10807405 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 73709922 for ; Tue, 12 Feb 2019 07:06:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6319E2AB03 for ; Tue, 12 Feb 2019 07:06:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 571852AB10; Tue, 12 Feb 2019 07:06:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F202C2AB03 for ; Tue, 12 Feb 2019 07:06:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725930AbfBLHGy (ORCPT ); Tue, 12 Feb 2019 02:06:54 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:36106 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725550AbfBLHGy (ORCPT ); Tue, 12 Feb 2019 02:06:54 -0500 Received: by mail-pg1-f195.google.com with SMTP id r124so832519pgr.3 for ; Mon, 11 Feb 2019 23:06:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lvhBXbt0lGYX/dVbL9FsSQn2IWcD8JIicvk9bDMMnZg=; b=CQl5MHsUNP4Ceptu2q6BpBhkIwziIrEmd10/rPSSpsDZf9Gr9carRURUy09uMTr9J0 YJusX/Jp1ybUysC5DGVz6BgGznUEYaT8zGyacWJKnYhPoUMheJxm1qv6VltuLYpOk5ZV PGaebHuUBY5ti62yba00/2sCkTvRxrzT35U18LxxHWgYFn36n3+J23plkcVtMftKqCK3 1S74JhyZUEBG6/AsvLu7IzPqjoIC88QixUUy/Eo6tseUC1Hl5CTR6gLdF5i063euPZ4S QiACaum0MExwRtaVP1Mu/tuiz38UOL8zZtqWyYURB3JYfTt77ER8OcslTrm4nUq/09T9 k25g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lvhBXbt0lGYX/dVbL9FsSQn2IWcD8JIicvk9bDMMnZg=; b=RSvbGriVgUkot075r7pvWhZrnvD0Hmtrdk5A3djygoZQRd6gVgrWlTYCJtxWr4wjA8 4/VXknYREJK8DhTj/9VxeYPWH2bmfUDGXrIyNYphO9k+zOo2PqqSej+FwStgMjos5qUC 7DhTEqZx96pmu1ZCkF+HeTLjbChJCgMtlPxIPfPTpZ2owCBfMdyD1uLfwq50/3X25gQQ xB/PppYCIL+s5T8DnjiyDSu0IBmoFDx36q68HH8930B5Ytd4Im82PJmJNAqcXkLd2tVM JagX+uzMIYKdLQVFOhMPG/zjmvtvuuDPi5jwXdh0D8Z+pLAqwytMRruVuLkEkhL5IHk/ uSSQ== X-Gm-Message-State: AHQUAub6ejUha0FLglcWwFmA0fC7T9CfSEcw6fu/tWkyXzrHmAeQmtqb KtFkTWB2QNIGjAj60Wy/loWMvw== X-Google-Smtp-Source: AHgI3IbtBHyBEr6WHr9jwYImY6v4QZNtpajIG0x75moMoBw4XGSH1CsLyDpYrZs3Zbuo0xbmZ73yUA== X-Received: by 2002:a63:dc53:: with SMTP id f19mr2271375pgj.406.1549955213146; Mon, 11 Feb 2019 23:06:53 -0800 (PST) Received: from localhost ([122.172.102.63]) by smtp.gmail.com with ESMTPSA id n27sm24104171pfb.8.2019.02.11.23.06.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Feb 2019 23:06:52 -0800 (PST) From: Viresh Kumar To: Rafael Wysocki Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , Sudeep Holla , Marek Szyprowski , linux-kernel@vger.kernel.org Subject: [PATCH V2 0/2] cpufreq: Allow light-weight tear down and bring up of CPUs Date: Tue, 12 Feb 2019 12:36:45 +0530 Message-Id: X-Mailer: git-send-email 2.20.1.321.g9e740568ce00 MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The cpufreq core doesn't remove the cpufreq policy anymore on CPU offline operation, rather that happens when the CPU device gets unregistered from the kernel. This allows faster recovery when the CPU comes back online. This is also very useful during system wide suspend/resume where we offline all non-boot CPUs during suspend and then bring them back on resume. This patcset takes the same idea a step ahead to allow drivers to do light weight tear-down and bring up during CPU offline/online operations and updates the cpufreq-dt driver to implement the new helpers. V1->V2: - s/light_weight_exit()/offline() - Also introduce the online() counterpart Viresh Kumar (2): cpufreq: Allow light-weight tear down and bring up of CPUs cpufreq: dt: Implement online/offline() callbacks drivers/cpufreq/cpufreq-dt.c | 17 +++++++++++ drivers/cpufreq/cpufreq.c | 55 +++++++++++++++++++++++------------- include/linux/cpufreq.h | 2 ++ 3 files changed, 55 insertions(+), 19 deletions(-)