Skip to content

Commit e9ce8a3

Browse files
committed
Add Support for Linux 6.6.30 (same patches a 4.9.80).
Signed-off-by: Matthew Drobnak <matthew@drobnak.com>
1 parent b458d6e commit e9ce8a3

4 files changed

Lines changed: 76 additions & 0 deletions

File tree

modules/linux

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ linux_hash := 3991a9e16a187d78d5f414d89236ae5d7f404a69e60c4c42a9d262ee19612ef4
3434
else ifeq "$(CONFIG_LINUX_VERSION)" "6.1.8"
3535
linux_version := 6.1.8
3636
linux_hash := b60bb53ab8ba370a270454b11e93d41af29126fc72bd6ede517673e2e57b816d
37+
else ifeq "$(CONFIG_LINUX_VERSION)" "6.1.90"
38+
linux_version := 6.1.90
39+
linux_hash := 83a3d72e764fceda2c1fc68a4ea6b91253a28da56a688a2b61776b0d19788e1d
40+
else ifeq "$(CONFIG_LINUX_VERSION)" "6.6.30"
41+
linux_version := 6.6.30
42+
linux_hash := b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6
3743
else
3844
$(error "$(BOARD): does not specify linux kernel version under CONFIG_LINUX_VERSION")
3945
endif
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c linux-4.9.80/drivers/acpi/acpica/evxfevnt.c
2+
--- ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-03 11:05:43.000000000 -0500
3+
+++ linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-07 15:51:28.786502597 -0500
4+
@@ -111,6 +111,8 @@
5+
}
6+
7+
ACPI_ERROR((AE_INFO, "Hardware did not enter ACPI mode"));
8+
+printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
9+
+ return_ACPI_STATUS(AE_OK);
10+
return_ACPI_STATUS(AE_NO_HARDWARE_RESPONSE);
11+
}
12+
13+
diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c linux-4.9.80/drivers/acpi/acpica/hwacpi.c
14+
--- ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-03 11:05:43.000000000 -0500
15+
+++ linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-07 15:51:35.126557868 -0500
16+
@@ -168,12 +168,16 @@
17+
18+
status = acpi_read_bit_register(ACPI_BITREG_SCI_ENABLE, &value);
19+
if (ACPI_FAILURE(status)) {
20+
+printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
21+
+ return_UINT32(ACPI_SYS_MODE_ACPI);
22+
return_UINT32(ACPI_SYS_MODE_LEGACY);
23+
}
24+
25+
if (value) {
26+
return_UINT32(ACPI_SYS_MODE_ACPI);
27+
} else {
28+
+//printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
29+
+// return_UINT32(ACPI_SYS_MODE_ACPI);
30+
return_UINT32(ACPI_SYS_MODE_LEGACY);
31+
}
32+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
diff --recursive -u ./clean/linux-4.9.80/arch/x86/kernel/nmi.c linux-4.9.80/arch/x86/kernel/nmi.c
2+
--- ./clean/linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-03 11:05:43.000000000 -0500
3+
+++ linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-07 18:56:10.475613884 -0500
4+
@@ -303,6 +303,8 @@
5+
6+
__this_cpu_add(nmi_stats.unknown, 1);
7+
8+
+#if 0
9+
+// qemu generates these for some reason
10+
pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
11+
reason, smp_processor_id());
12+
13+
@@ -311,6 +313,7 @@
14+
nmi_panic(regs, "NMI: Not continuing");
15+
16+
pr_emerg("Dazed and confused, but trying to continue\n");
17+
+#endif
18+
}
19+
NOKPROBE_SYMBOL(unknown_nmi_error);
20+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
diff --recursive -u ./clean/linux-4.9.80/drivers/ata/libahci.c linux-4.9.80/drivers/ata/libahci.c
2+
--- ./clean/linux-4.9.80/drivers/ata/libahci.c 2018-02-03 11:05:43.000000000 -0500
3+
+++ linux-4.9.80/drivers/ata/libahci.c 2018-02-07 18:02:32.526535910 -0500
4+
@@ -537,8 +537,12 @@
5+
}
6+
7+
/* fabricate port_map from cap.nr_ports for < AHCI 1.3 */
8+
- if (!port_map && vers < 0x10300) {
9+
- port_map = (1 << ahci_nr_ports(cap)) - 1;
10+
+ if (!port_map) { // && vers < 0x10300) {
11+
+ printk("%s: saved_port=%02x\n", __func__, hpriv->saved_port_map);
12+
+ writel(0x1, mmio + HOST_PORTS_IMPL);
13+
+ port_map = readl(mmio + HOST_PORTS_IMPL);
14+
+
15+
+ //port_map = (1 << ahci_nr_ports(cap)) - 1;
16+
dev_warn(dev, "forcing PORTS_IMPL to 0x%lx\n", port_map);
17+
18+
/* write the fixed up value to the PI register */

0 commit comments

Comments
 (0)