1

drivers/perf: hisi_pcie: Fix TLP headers bandwidth counting

We make the initial value of event ctrl register as HISI_PCIE_INIT_SET
and modify according to the user options. This will make TLP headers
bandwidth only counting never take effect since HISI_PCIE_INIT_SET
configures to count the TLP payloads bandwidth. Fix this by making
the initial value of event ctrl register as 0.

Fixes: 17d573984d ("drivers/perf: hisi: Add TLP filter support")
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240829090332.28756-3-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
Yicong Yang 2024-08-29 17:03:31 +08:00 committed by Will Deacon
parent daecd3373a
commit 17bf68aeb3

View File

@ -208,7 +208,7 @@ static void hisi_pcie_pmu_writeq(struct hisi_pcie_pmu *pcie_pmu, u32 reg_offset,
static u64 hisi_pcie_pmu_get_event_ctrl_val(struct perf_event *event) static u64 hisi_pcie_pmu_get_event_ctrl_val(struct perf_event *event)
{ {
u64 port, trig_len, thr_len, len_mode; u64 port, trig_len, thr_len, len_mode;
u64 reg = HISI_PCIE_INIT_SET; u64 reg = 0;
/* Config HISI_PCIE_EVENT_CTRL according to event. */ /* Config HISI_PCIE_EVENT_CTRL according to event. */
reg |= FIELD_PREP(HISI_PCIE_EVENT_M, hisi_pcie_get_real_event(event)); reg |= FIELD_PREP(HISI_PCIE_EVENT_M, hisi_pcie_get_real_event(event));