]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09
authorJunhao He <hejunhao3@huawei.com>
Tue, 27 Feb 2024 12:52:31 +0000 (20:52 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 11:07:36 +0000 (13:07 +0200)
commit0662deae8bb88758b5d3edef2e950a674079ba2c
treea242204861e47a8180ecbea3720117b09ad73bca
parent44723bd493cd491a1f03664df61f5d120cb63a08
drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09

[ Upstream commit e10b6976f6b9afdf3564f88c851e42d139bb19c0 ]

HiSilicon UC PMU v2 suffers the erratum 162700402 that the PMU counter
cannot be set due to the lack of clock under power saving mode. This will
lead to error or inaccurate counts. The clock can be enabled by the PMU
global enabling control.

This patch tries to fix this by set the UC PMU enable before set event
period to turn on the clock, and then restore the UC PMU configuration.
The counter register can hold its value without a clock.

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Link: https://lore.kernel.org/r/20240227125231.53127-1-hejunhao3@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/perf/hisilicon/hisi_uncore_uc_pmu.c