Thread (71 messages) 71 messages, 6 authors, 2023-11-23

RE: [PATCH v8 13/26] PM / devfreq: rockchip-dfi: Pass private data struct to internal functions

From: "Chanwoo Choi" <cw00.choi@samsung.com>
Date: 2023-10-19 11:55:44
Also in: linux-devicetree, linux-pm, linux-rockchip, lkml

quoted hunk ↗ jump to hunk
-----Original Message-----
From: Sascha Hauer <s.hauer@pengutronix.de>
Sent: Wednesday, October 18, 2023 3:17 PM
To: linux-rockchip@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
linux-pm@vger.kernel.org; Heiko Stuebner [off-list ref]; Chanwoo Choi
[off-list ref]; Kyungmin Park [off-list ref]; MyungJoo
Ham [off-list ref]; Will Deacon [off-list ref]; Mark
Rutland [off-list ref]; kernel@pengutronix.de; Michael Riesch
[off-list ref]; Robin Murphy [off-list ref];
Vincent Legoll [off-list ref]; Rob Herring
[off-list ref]; Krzysztof Kozlowski
[off-list ref]; Conor Dooley [off-list ref];
devicetree@vger.kernel.org; Sebastian Reichel
[off-list ref]; Sascha Hauer [off-list ref];
Jonathan Cameron [off-list ref]; Chanwoo Choi
[off-list ref]
Subject: [PATCH v8 13/26] PM / devfreq: rockchip-dfi: Pass private data
struct to internal functions

The internal functions do not need the struct devfreq_event_dev *, so pass
them the struct rockchip_dfi *. This is a preparation for adding perf
support later which doesn't have a struct devfreq_event_dev *.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Sebastian Reichel <redacted>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 drivers/devfreq/event/rockchip-dfi.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/devfreq/event/rockchip-dfi.c
b/drivers/devfreq/event/rockchip-dfi.c
index bdf421b248df9..d56a33d03db4c 100644
--- a/drivers/devfreq/event/rockchip-dfi.c
+++ b/drivers/devfreq/event/rockchip-dfi.c
@@ -73,9 +73,8 @@ struct rockchip_dfi {
 	unsigned int max_channels;
 };

-static void rockchip_dfi_start_hardware_counter(struct devfreq_event_dev
*edev)
+static void rockchip_dfi_start_hardware_counter(struct rockchip_dfi
+*dfi)
 {
-	struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
 	void __iomem *dfi_regs = dfi->regs;

 	/* clear DDRMON_CTRL setting */
@@ -103,18 +102,16 @@ static void
rockchip_dfi_start_hardware_counter(struct devfreq_event_dev *edev)
 		       dfi_regs + DDRMON_CTRL);
 }

-static void rockchip_dfi_stop_hardware_counter(struct devfreq_event_dev
*edev)
+static void rockchip_dfi_stop_hardware_counter(struct rockchip_dfi
+*dfi)
 {
-	struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
 	void __iomem *dfi_regs = dfi->regs;

 	writel_relaxed(HIWORD_UPDATE(0, DDRMON_CTRL_SOFTWARE_EN),
 		       dfi_regs + DDRMON_CTRL);
 }

-static void rockchip_dfi_read_counters(struct devfreq_event_dev *edev,
struct dmc_count *count)
+static void rockchip_dfi_read_counters(struct rockchip_dfi *dfi, struct
+dmc_count *count)
 {
-	struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
 	u32 i;
 	void __iomem *dfi_regs = dfi->regs;
@@ -132,7 +129,7 @@ static int rockchip_dfi_disable(struct
devfreq_event_dev *edev)  {
 	struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);

-	rockchip_dfi_stop_hardware_counter(edev);
+	rockchip_dfi_stop_hardware_counter(dfi);
 	clk_disable_unprepare(dfi->clk);

 	return 0;
@@ -149,7 +146,7 @@ static int rockchip_dfi_enable(struct
devfreq_event_dev *edev)
 		return ret;
 	}

-	rockchip_dfi_start_hardware_counter(edev);
+	rockchip_dfi_start_hardware_counter(dfi);
 	return 0;
 }
@@ -167,7 +164,7 @@ static int rockchip_dfi_get_event(struct
devfreq_event_dev *edev,
 	u32 access = 0, total = 0;
 	int i;

-	rockchip_dfi_read_counters(edev, &count);
+	rockchip_dfi_read_counters(dfi, &count);

 	/* We can only report one channel, so find the busiest one */
 	for (i = 0; i < dfi->max_channels; i++) {
--
2.39.2

Applied it. Thanks

Best Regards,
Chanwoo Choi


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help