From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 948DB19E7DC; Tue, 16 Jul 2024 14:29:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721140147; cv=none; b=uQ9Fqpu4jZtntlLVnn7wQ4LY8DYtLKtYiSmrtzVpOFoVbJol9hExs/Oa6dg9E8mSnFg7SNu7SdAM1kZge3E3jRLIPSmSay8MaIlwF2nFeAxpTl5CemknEtzoRy4b2jfFSBQAfAiP88pKPPPvamZWJX18S6se45ivL3npgEsh7L8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721140147; c=relaxed/simple; bh=8DZ+UvYWXLieNDjcPqQu55JAO03uXEdFSEaxbU1vTcU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RTMcr871ZAZOGJtgCH8iRUJfAwXmkJBVI2TgPtyITd7hZbsJHZ+D6k2pkOHd8q4wlwvjoYvkGtK2YbY2/PZuvZgtRIiBIAqBuNBn/9cpDDWsr3DZmqyRu6XTwO8AVKSPa3sssLFohDqmSXfZtZsPC/5PUADqYwfaHRbY7F74tQ0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UArRWzLG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UArRWzLG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EEF2C4AF09; Tue, 16 Jul 2024 14:29:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1721140147; bh=8DZ+UvYWXLieNDjcPqQu55JAO03uXEdFSEaxbU1vTcU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UArRWzLGDf3luJrfdVfx52i99DlCUVDZbJ5y9wK7kOgkPoIz2GrKWHCIaJvB4bSjx 3X1KO3AcPxxbDmhMjn8vAN9SJ81D6xFDHe4dw5GWNX1UsxwItZ6F7rAL8vIF9c3exI CvJB9dnVWEMbJMR1emqVjA/simawvf8KK8gRkEPVBq7JTweIjckgJy54G5QHrHZ/76 Zhm5JdNszh3i7KiX8PipzU45dSwra/KzK6S39tPR18WlGWEn45rL/A9t5qTQlvyYJK Ahy4OhpCLWX5sKkvCmEXRyUDBuY58+IrCxREVv0V7TCyO5BMa8WUKxovDknqiP4Lae 0sVYHiOuEhx5w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Samuel Holland , Atish Patra , Palmer Dabbelt , Sasha Levin , atishp@atishpatra.org, will@kernel.org, mark.rutland@arm.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 6.1 14/15] drivers/perf: riscv: Reset the counter to hpmevent mapping while starting cpus Date: Tue, 16 Jul 2024 10:28:11 -0400 Message-ID: <20240716142825.2713416-14-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240716142825.2713416-1-sashal@kernel.org> References: <20240716142825.2713416-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.1.99 Content-Transfer-Encoding: 8bit From: Samuel Holland [ Upstream commit 7dd646cf745c34d31e7ed2a52265e9ca8308f58f ] Currently, we stop all the counters while a new cpu is brought online. However, the hpmevent to counter mappings are not reset. The firmware may have some stale encoding in their mapping structure which may lead to undesirable results. We have not encountered such scenario though. Signed-off-by: Samuel Holland Signed-off-by: Atish Patra Link: https://lore.kernel.org/r/20240628-misc_perf_fixes-v4-2-e01cfddcf035@rivosinc.com Signed-off-by: Palmer Dabbelt Signed-off-by: Sasha Levin --- drivers/perf/riscv_pmu_sbi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/perf/riscv_pmu_sbi.c b/drivers/perf/riscv_pmu_sbi.c index 382fe5ee6100b..5aab43a3ffb92 100644 --- a/drivers/perf/riscv_pmu_sbi.c +++ b/drivers/perf/riscv_pmu_sbi.c @@ -502,7 +502,7 @@ static inline void pmu_sbi_stop_all(struct riscv_pmu *pmu) * which may include counters that are not enabled yet. */ sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_STOP, - 0, pmu->cmask, 0, 0, 0, 0); + 0, pmu->cmask, SBI_PMU_STOP_FLAG_RESET, 0, 0, 0); } static inline void pmu_sbi_stop_hw_ctrs(struct riscv_pmu *pmu) -- 2.43.0