.. | .. |
---|
46 | 46 | unsigned long flags; |
---|
47 | 47 | int i; |
---|
48 | 48 | int load; |
---|
49 | | - uint64_t busy_time_total, div_value; |
---|
| 49 | + uint64_t total_busy_time, div_value; |
---|
50 | 50 | |
---|
51 | 51 | seq_puts(m, "NPU load: "); |
---|
52 | 52 | for (i = 0; i < rknpu_dev->config->num_irqs; i++) { |
---|
.. | .. |
---|
57 | 57 | |
---|
58 | 58 | spin_lock_irqsave(&rknpu_dev->irq_lock, flags); |
---|
59 | 59 | |
---|
60 | | - busy_time_total = subcore_data->timer.busy_time_record; |
---|
| 60 | + total_busy_time = subcore_data->timer.total_busy_time; |
---|
61 | 61 | |
---|
62 | 62 | spin_unlock_irqrestore(&rknpu_dev->irq_lock, flags); |
---|
63 | 63 | |
---|
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; |
---|
67 | 67 | |
---|
68 | 68 | if (rknpu_dev->config->num_irqs > 1) |
---|
69 | 69 | seq_printf(m, "%2.d%%,", load); |
---|
.. | .. |
---|
457 | 457 | #ifdef CONFIG_ROCKCHIP_RKNPU_PROC_FS |
---|
458 | 458 | static int rknpu_procfs_open(struct inode *inode, struct file *file) |
---|
459 | 459 | { |
---|
| 460 | +#if KERNEL_VERSION(6, 1, 0) > LINUX_VERSION_CODE |
---|
460 | 461 | struct rknpu_debugger_node *node = PDE_DATA(inode); |
---|
| 462 | +#else |
---|
| 463 | + struct rknpu_debugger_node *node = pde_data(inode); |
---|
| 464 | +#endif |
---|
461 | 465 | |
---|
462 | 466 | return single_open(file, node->info_ent->show, node); |
---|
463 | 467 | } |
---|