2023-07-04 09:35:46

by Sascha Hauer

[permalink] [raw]
Subject: [PATCH v7 05/26] PM / devfreq: rockchip-dfi: dfi store raw values in counter struct

When adding perf support to the DFI driver the perf part will
need the raw counter values, so move the fixed * 4 factor to
rockchip_dfi_get_event().

Reviewed-by: Jonathan Cameron <[email protected]>
Reviewed-by: Sebastian Reichel <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
---
drivers/devfreq/event/rockchip-dfi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/devfreq/event/rockchip-dfi.c b/drivers/devfreq/event/rockchip-dfi.c
index 6b1ef29df7048..680f629da64fc 100644
--- a/drivers/devfreq/event/rockchip-dfi.c
+++ b/drivers/devfreq/event/rockchip-dfi.c
@@ -97,7 +97,7 @@ static int rockchip_dfi_get_busier_ch(struct devfreq_event_dev *edev)
/* Find out which channel is busier */
for (i = 0; i < RK3399_DMC_NUM_CH; i++) {
dfi->ch_usage[i].access = readl_relaxed(dfi_regs +
- DDRMON_CH0_DFI_ACCESS_NUM + i * 20) * 4;
+ DDRMON_CH0_DFI_ACCESS_NUM + i * 20);
dfi->ch_usage[i].total = readl_relaxed(dfi_regs +
DDRMON_CH0_COUNT_NUM + i * 20);
tmp = dfi->ch_usage[i].access;
@@ -149,7 +149,7 @@ static int rockchip_dfi_get_event(struct devfreq_event_dev *edev,

busier_ch = rockchip_dfi_get_busier_ch(edev);

- edata->load_count = dfi->ch_usage[busier_ch].access;
+ edata->load_count = dfi->ch_usage[busier_ch].access * 4;
edata->total_count = dfi->ch_usage[busier_ch].total;

return 0;
--
2.39.2



2023-10-06 16:34:41

by Chanwoo Choi

[permalink] [raw]
Subject: Re: [PATCH v7 05/26] PM / devfreq: rockchip-dfi: dfi store raw values in counter struct

On 23. 7. 4. 18:32, Sascha Hauer wrote:
> When adding perf support to the DFI driver the perf part will
> need the raw counter values, so move the fixed * 4 factor to
> rockchip_dfi_get_event().
>
> Reviewed-by: Jonathan Cameron <[email protected]>
> Reviewed-by: Sebastian Reichel <[email protected]>
> Signed-off-by: Sascha Hauer <[email protected]>
> ---
> drivers/devfreq/event/rockchip-dfi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/devfreq/event/rockchip-dfi.c b/drivers/devfreq/event/rockchip-dfi.c
> index 6b1ef29df7048..680f629da64fc 100644
> --- a/drivers/devfreq/event/rockchip-dfi.c
> +++ b/drivers/devfreq/event/rockchip-dfi.c
> @@ -97,7 +97,7 @@ static int rockchip_dfi_get_busier_ch(struct devfreq_event_dev *edev)
> /* Find out which channel is busier */
> for (i = 0; i < RK3399_DMC_NUM_CH; i++) {
> dfi->ch_usage[i].access = readl_relaxed(dfi_regs +
> - DDRMON_CH0_DFI_ACCESS_NUM + i * 20) * 4;
> + DDRMON_CH0_DFI_ACCESS_NUM + i * 20);
> dfi->ch_usage[i].total = readl_relaxed(dfi_regs +
> DDRMON_CH0_COUNT_NUM + i * 20);
> tmp = dfi->ch_usage[i].access;
> @@ -149,7 +149,7 @@ static int rockchip_dfi_get_event(struct devfreq_event_dev *edev,
>
> busier_ch = rockchip_dfi_get_busier_ch(edev);
>
> - edata->load_count = dfi->ch_usage[busier_ch].access;
> + edata->load_count = dfi->ch_usage[busier_ch].access * 4;
> edata->total_count = dfi->ch_usage[busier_ch].total;
>
> return 0;

Applied it. Thanks.

--
Best Regards,
Samsung Electronics
Chanwoo Choi