From a46a1ad097419aeea7350987dd95230f50d90392 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 15 Nov 2024 08:53:41 +0000
Subject: [PATCH] 固定GMAC1 网卡名为 eth3
---
kernel/drivers/clocksource/arm_arch_timer.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/kernel/drivers/clocksource/arm_arch_timer.c b/kernel/drivers/clocksource/arm_arch_timer.c
index f488176..fb4fb16 100644
--- a/kernel/drivers/clocksource/arm_arch_timer.c
+++ b/kernel/drivers/clocksource/arm_arch_timer.c
@@ -21,6 +21,7 @@
#include <linux/of_address.h>
#include <linux/io.h>
#include <linux/slab.h>
+#include <linux/dovetail.h>
#include <linux/sched/clock.h>
#include <linux/sched_clock.h>
#include <linux/acpi.h>
@@ -644,7 +645,7 @@
if (ctrl & ARCH_TIMER_CTRL_IT_STAT) {
ctrl |= ARCH_TIMER_CTRL_IT_MASK;
arch_timer_reg_write(access, ARCH_TIMER_REG_CTRL, ctrl, evt);
- evt->event_handler(evt);
+ clockevents_handle_event(evt);
return IRQ_HANDLED;
}
@@ -753,7 +754,7 @@
static void __arch_timer_setup(unsigned type,
struct clock_event_device *clk)
{
- clk->features = CLOCK_EVT_FEAT_ONESHOT;
+ clk->features = CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_PIPELINE;
if (type == ARCH_TIMER_TYPE_CP15) {
typeof(clk->set_next_event) sne;
@@ -864,6 +865,9 @@
else
cntkctl |= ARCH_TIMER_USR_VCT_ACCESS_EN;
+ if (IS_ENABLED(CONFIG_GENERIC_CLOCKSOURCE_VDSO))
+ cntkctl |= ARCH_TIMER_USR_PT_ACCESS_EN;
+
arch_timer_set_cntkctl(cntkctl);
}
@@ -897,6 +901,7 @@
enable_percpu_irq(arch_timer_ppi[arch_timer_uses_ppi], flags);
if (arch_timer_has_nonsecure_ppi()) {
+ clk->irq = arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI];
flags = check_ppi_trigger(arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI]);
enable_percpu_irq(arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI],
flags);
@@ -1015,6 +1020,8 @@
arch_timer_read_counter = rd;
clocksource_counter.vdso_clock_mode = vdso_default;
+ if (vdso_default != VDSO_CLOCKMODE_NONE)
+ clocksource_counter.vdso_type = CLOCKSOURCE_VDSO_ARCHITECTED;
} else {
arch_timer_read_counter = arch_counter_get_cntvct_mem;
}
--
Gitblit v1.6.2