Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2265675imm; Mon, 28 May 2018 05:04:24 -0700 (PDT) X-Google-Smtp-Source: ADUXVKINGYQajLb9b4KVGPdmgKUD8B532CQOLE14sPQVvilzu73e/MFVyLevcg37rEspVlQrhS53 X-Received: by 2002:a17:902:3103:: with SMTP id w3-v6mr1674347plb.353.1527509064567; Mon, 28 May 2018 05:04:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527509064; cv=none; d=google.com; s=arc-20160816; b=htQ42F4hYX14+lqc6wZ+rHXmVMmcfUQRFxQF+4qIZ3BT3gvNMY7+VQv8psUZ4ZomHy 8zOmSnJRcDb4eIu8kvml3BhMZEi8afojnXWdvHWur5CCTpCMzsJQVb23vOxyYXHg7lne sz+MBR9i3720C5FF1/Ca/XFW22wViOsbBuSXF8ElYo2lKtKg18Znxv+vHj1U6tvrkmLF 6iLjjoquSVnXpnoUIxyH87Q3eeIzd5ytbKkVPTtVOYzGkfuqk08HpQvC9cfM6kuBlQZE 3GrQv1Ng3W05MiPsC+mEuxnYQNpNIPs5A6dB3CxtXyhfiv0A7rSBNuwF5RSAb1QlQ2h+ 0cLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=+8QAsLU4rIPwWCzgRkXttlDICK3+61MY+s1lnbMecTA=; b=jUHraI+ptJl+NG6jqK5BldGbaRBWBeMEB8KTZkwqgI0wbgcAt7jAtE5uP87HoSnYD9 tLmFbyl/IKJW7+/oehvF6RUHSrRGqHqwsnNBytMufc5fIu2mKjXLT4oI27zm/igwSQG1 YxqXCdNwCeMwDY8Km3fh35t83pBiz7QOwrCZsdc3BLBZ6FG9/C3IACilZuYRLxXgYEBe ste57UrCvZged1CBn4ozS759UJgnyipckFBHfHGiPWba4p/DvY7q9Mf6tEY6Y67pPBct qcwvPNyE2tWh25Fe+FCExrxCfeX2GpxqdUTwl9PBA+VBHCer7456HxWetU+BNR4oRw9c /bEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gVpqruUV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k7-v6si23264256pgo.98.2018.05.28.05.04.09; Mon, 28 May 2018 05:04:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gVpqruUV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938559AbeE1MDP (ORCPT + 99 others); Mon, 28 May 2018 08:03:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:53414 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423291AbeE1LGg (ORCPT ); Mon, 28 May 2018 07:06:36 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 610E62089E; Mon, 28 May 2018 11:06:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527505595; bh=UeoUt/48ejkeYmv0vzYLKHuYCF0mR/3HLPJ25cSwkHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gVpqruUVqZQ/r7dVcyPiaOnk4wIhxvi8y201fRPASPU+fYqGMQOOWJejkTUF2Atie WHCt7tgQjxtz/r1sJzfLS/NLJLu5OMXQr2IdHNpTq39ZVhCjrFDGQC7w/7prSre4qC ZsMOZqOHVJ3gzxci8b5861mPceLI0PPH94dFS5qc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Viresh Kumar , Shunyong Yang , "Rafael J. Wysocki" , Sasha Levin Subject: [PATCH 4.16 061/272] cpufreq: CPPC: Initialize shared perf capabilities of CPUs Date: Mon, 28 May 2018 12:01:34 +0200 Message-Id: <20180528100246.001444607@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100240.256525891@linuxfoundation.org> References: <20180528100240.256525891@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Shunyong Yang [ Upstream commit 8913315e9459b146e5888ab5138e10daa061b885 ] When multiple CPUs are related in one cpufreq policy, the first online CPU will be chosen by default to handle cpufreq operations. Let's take cpu0 and cpu1 as an example. When cpu0 is offline, policy->cpu will be shifted to cpu1. cpu1's perf capabilities should be initialized. Otherwise, perf capabilities are 0s and speed change can not take effect. This patch copies perf capabilities of the first online CPU to other shared CPUs when policy shared type is CPUFREQ_SHARED_TYPE_ANY. Acked-by: Viresh Kumar Signed-off-by: Shunyong Yang Signed-off-by: Rafael J. Wysocki Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/cpufreq/cppc_cpufreq.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) --- a/drivers/cpufreq/cppc_cpufreq.c +++ b/drivers/cpufreq/cppc_cpufreq.c @@ -167,9 +167,19 @@ static int cppc_cpufreq_cpu_init(struct NSEC_PER_USEC; policy->shared_type = cpu->shared_type; - if (policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) + if (policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) { + int i; + cpumask_copy(policy->cpus, cpu->shared_cpu_map); - else if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL) { + + for_each_cpu(i, policy->cpus) { + if (unlikely(i == policy->cpu)) + continue; + + memcpy(&all_cpu_data[i]->perf_caps, &cpu->perf_caps, + sizeof(cpu->perf_caps)); + } + } else if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL) { /* Support only SW_ANY for now. */ pr_debug("Unsupported CPU co-ord type\n"); return -EFAULT;