PM / devfreq: rockchip-dfi: dfi store raw values in counter struct
authorSascha Hauer <s.hauer@pengutronix.de>
Tue, 4 Jul 2023 09:32:21 +0000 (11:32 +0200)
committerChanwoo Choi <cw00.choi@samsung.com>
Sun, 8 Oct 2023 22:28:50 +0000 (07:28 +0900)
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().

Link: https://lore.kernel.org/lkml/20230704093242.583575-6-s.hauer@pengutronix.de/
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/devfreq/event/rockchip-dfi.c

index 6b1ef29df7048118db3fa257d3c40eee0b14ab75..680f629da64fc34c82b8fb6df0f18c821f935457 100644 (file)
@@ -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;