hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/rknpu/rknpu_debugger.c
....@@ -46,7 +46,7 @@
4646 unsigned long flags;
4747 int i;
4848 int load;
49
- uint64_t busy_time_total, div_value;
49
+ uint64_t total_busy_time, div_value;
5050
5151 seq_puts(m, "NPU load: ");
5252 for (i = 0; i < rknpu_dev->config->num_irqs; i++) {
....@@ -57,13 +57,13 @@
5757
5858 spin_lock_irqsave(&rknpu_dev->irq_lock, flags);
5959
60
- busy_time_total = subcore_data->timer.busy_time_record;
60
+ total_busy_time = subcore_data->timer.total_busy_time;
6161
6262 spin_unlock_irqrestore(&rknpu_dev->irq_lock, flags);
6363
64
- div_value = (RKNPU_LOAD_INTERVAL / 100000);
65
- do_div(busy_time_total, div_value);
66
- load = busy_time_total;
64
+ div_value = (RKNPU_LOAD_INTERVAL / 100);
65
+ do_div(total_busy_time, div_value);
66
+ load = total_busy_time > 100 ? 100 : total_busy_time;
6767
6868 if (rknpu_dev->config->num_irqs > 1)
6969 seq_printf(m, "%2.d%%,", load);
....@@ -457,7 +457,11 @@
457457 #ifdef CONFIG_ROCKCHIP_RKNPU_PROC_FS
458458 static int rknpu_procfs_open(struct inode *inode, struct file *file)
459459 {
460
+#if KERNEL_VERSION(6, 1, 0) > LINUX_VERSION_CODE
460461 struct rknpu_debugger_node *node = PDE_DATA(inode);
462
+#else
463
+ struct rknpu_debugger_node *node = pde_data(inode);
464
+#endif
461465
462466 return single_open(file, node->info_ent->show, node);
463467 }