From 9370bb92b2d16684ee45cf24e879c93c509162da Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Thu, 19 Dec 2024 01:47:39 +0000
Subject: [PATCH] add wifi6 8852be driver

---
 kernel/drivers/rknpu/rknpu_debugger.c |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/kernel/drivers/rknpu/rknpu_debugger.c b/kernel/drivers/rknpu/rknpu_debugger.c
index 4d5bebd..0cfec7f 100644
--- a/kernel/drivers/rknpu/rknpu_debugger.c
+++ b/kernel/drivers/rknpu/rknpu_debugger.c
@@ -14,7 +14,9 @@
 #include <asm/div64.h>
 
 #ifndef FPGA_PLATFORM
+#ifdef CONFIG_PM_DEVFREQ
 #include <../drivers/devfreq/governor.h>
+#endif
 #endif
 
 #include "rknpu_drv.h"
@@ -44,7 +46,7 @@
 	unsigned long flags;
 	int i;
 	int load;
-	uint64_t busy_time_total, div_value;
+	uint64_t total_busy_time, div_value;
 
 	seq_puts(m, "NPU load: ");
 	for (i = 0; i < rknpu_dev->config->num_irqs; i++) {
@@ -55,13 +57,13 @@
 
 		spin_lock_irqsave(&rknpu_dev->irq_lock, flags);
 
-		busy_time_total = subcore_data->timer.busy_time_record;
+		total_busy_time = subcore_data->timer.total_busy_time;
 
 		spin_unlock_irqrestore(&rknpu_dev->irq_lock, flags);
 
-		div_value = (RKNPU_LOAD_INTERVAL / 100000);
-		do_div(busy_time_total, div_value);
-		load = busy_time_total;
+		div_value = (RKNPU_LOAD_INTERVAL / 100);
+		do_div(total_busy_time, div_value);
+		load = total_busy_time > 100 ? 100 : total_busy_time;
 
 		if (rknpu_dev->config->num_irqs > 1)
 			seq_printf(m, "%2.d%%,", load);
@@ -191,6 +193,7 @@
 	return 0;
 }
 
+#ifdef CONFIG_PM_DEVFREQ
 static ssize_t rknpu_freq_set(struct file *file, const char __user *ubuf,
 			      size_t len, loff_t *offp)
 {
@@ -233,6 +236,13 @@
 
 	return len;
 }
+#else
+static ssize_t rknpu_freq_set(struct file *file, const char __user *ubuf,
+			      size_t len, loff_t *offp)
+{
+	return -EFAULT;
+}
+#endif
 
 static int rknpu_volt_show(struct seq_file *m, void *data)
 {
@@ -447,7 +457,11 @@
 #ifdef CONFIG_ROCKCHIP_RKNPU_PROC_FS
 static int rknpu_procfs_open(struct inode *inode, struct file *file)
 {
+#if KERNEL_VERSION(6, 1, 0) > LINUX_VERSION_CODE
 	struct rknpu_debugger_node *node = PDE_DATA(inode);
+#else
+	struct rknpu_debugger_node *node = pde_data(inode);
+#endif
 
 	return single_open(file, node->info_ent->show, node);
 }

--
Gitblit v1.6.2