From 53cf25acf9905f4f550b29f20005a7b0bc221cf5 Mon Sep 17 00:00:00 2001 From: Tk-Glitch Date: Mon, 7 Aug 2023 09:16:57 +0200 Subject: [PATCH] 6.1.y: Rebase prjc, bcachefs and acs-overrides against 6.1.43 changes and update defconfig Fixes https://github.com/Frogging-Family/linux-tkg/issues/787 --- linux-tkg-config/6.1/config.x86_64 | 2 + .../6.1/0006-add-acs-overrides_iommu.patch | 7 ++- linux-tkg-patches/6.1/0008-6.1-bcachefs.patch | 4 +- linux-tkg-patches/6.1/0009-prjc_v6.1-r1.patch | 49 ++++++++++--------- 4 files changed, 33 insertions(+), 29 deletions(-) diff --git a/linux-tkg-config/6.1/config.x86_64 b/linux-tkg-config/6.1/config.x86_64 index 5fa2048..2fb99c2 100644 --- a/linux-tkg-config/6.1/config.x86_64 +++ b/linux-tkg-config/6.1/config.x86_64 @@ -7366,6 +7366,7 @@ CONFIG_SND_SOC_RT1019=m CONFIG_SND_SOC_RT1308=m CONFIG_SND_SOC_RT1308_SDW=m CONFIG_SND_SOC_RT1316_SDW=m +CONFIG_SND_SOC_RT1318_SDW=m CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m @@ -8844,6 +8845,7 @@ CONFIG_AMILO_RFKILL=m CONFIG_FUJITSU_LAPTOP=m CONFIG_FUJITSU_TABLET=m CONFIG_GPD_POCKET_FAN=m +CONFIG_X86_PLATFORM_DRIVERS_HP=y CONFIG_HP_ACCEL=m CONFIG_WIRELESS_HOTKEY=m CONFIG_HP_WMI=m diff --git a/linux-tkg-patches/6.1/0006-add-acs-overrides_iommu.patch b/linux-tkg-patches/6.1/0006-add-acs-overrides_iommu.patch index d1303a5..3d8866c 100644 --- a/linux-tkg-patches/6.1/0006-add-acs-overrides_iommu.patch +++ b/linux-tkg-patches/6.1/0006-add-acs-overrides_iommu.patch @@ -183,11 +183,10 @@ index 4700d24e5d55..8f7a3d7fd9c1 100644 * Some Atheros AR9xxx and QCA988x chips do not behave after a bus reset. * The device will throw a Link Down error on AER-capable systems and @@ -4513,6 +4613,7 @@ static const struct pci_dev_acs_enabled { - { PCI_VENDOR_ID_ZHAOXIN, 0x9083, pci_quirk_mf_endpoint_acs }, - /* Zhaoxin Root/Downstream Ports */ { PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs }, -+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, + /* Wangxun nics */ + { PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs }, ++ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, { 0 } }; - diff --git a/linux-tkg-patches/6.1/0008-6.1-bcachefs.patch b/linux-tkg-patches/6.1/0008-6.1-bcachefs.patch index be41274..c813202 100644 --- a/linux-tkg-patches/6.1/0008-6.1-bcachefs.patch +++ b/linux-tkg-patches/6.1/0008-6.1-bcachefs.patch @@ -90877,9 +90877,9 @@ index c3b582d19b62..9caa3eb8c6f7 100644 size = synth_field_size(field->type); if (size < 0) { @@ -698,23 +687,15 @@ static struct synth_field *parse_synth_field(int argc, char **argv, - goto free; } else if (size == 0) { - if (synth_field_is_string(field->type)) { + if (synth_field_is_string(field->type) || + synth_field_is_stack(field->type)) { - char *type; - - len = sizeof("__data_loc ") + strlen(field->type) + 1; diff --git a/linux-tkg-patches/6.1/0009-prjc_v6.1-r1.patch b/linux-tkg-patches/6.1/0009-prjc_v6.1-r1.patch index 9d8082c..76f0806 100644 --- a/linux-tkg-patches/6.1/0009-prjc_v6.1-r1.patch +++ b/linux-tkg-patches/6.1/0009-prjc_v6.1-r1.patch @@ -551,67 +551,70 @@ diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index 7779ee8abc2a..5b9893cdfb1b 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c -@@ -300,21 +300,25 @@ static __always_inline void - waiter_update_prio(struct rt_mutex_waiter *waiter, struct task_struct *task) - { - waiter->prio = __waiter_prio(task); -- waiter->deadline = task->dl.deadline; -+ waiter->deadline = __tsk_deadline(task); +@@ -343,7 +343,7 @@ waiter_update_prio(struct rt_mutex_waite + lockdep_assert(RB_EMPTY_NODE(&waiter->tree.entry)); + + waiter->tree.prio = __waiter_prio(task); +- waiter->tree.deadline = task->dl.deadline; ++ waiter->tree.deadline = __tsk_deadline(task); } - + /* - * Only use with rt_mutex_waiter_{less,equal}() +@@ -364,16 +364,20 @@ waiter_clone_prio(struct rt_mutex_waiter + * Only use with rt_waiter_node_{less,equal}() */ + #define task_to_waiter_node(p) \ +- &(struct rt_waiter_node){ .prio = __waiter_prio(p), .deadline = (p)->dl.deadline } ++ &(struct rt_waiter_node){ .prio = __waiter_prio(p), .deadline = __tsk_deadline(p) } #define task_to_waiter(p) \ -- &(struct rt_mutex_waiter){ .prio = __waiter_prio(p), .deadline = (p)->dl.deadline } -+ &(struct rt_mutex_waiter){ .prio = __waiter_prio(p), .deadline = __tsk_deadline(p) } - - static __always_inline int rt_mutex_waiter_less(struct rt_mutex_waiter *left, - struct rt_mutex_waiter *right) + &(struct rt_mutex_waiter){ .tree = *task_to_waiter_node(p) } + + static __always_inline int rt_waiter_node_less(struct rt_waiter_node *left, + struct rt_waiter_node *right) { +#ifdef CONFIG_SCHED_PDS + return (left->deadline < right->deadline); +#else if (left->prio < right->prio) return 1; - + +#ifndef CONFIG_SCHED_BMQ /* * If both waiters have dl_prio(), we check the deadlines of the * associated tasks. -@@ -323,16 +327,22 @@ static __always_inline int rt_mutex_waiter_less(struct rt_mutex_waiter *left, +@@ -382,16 +386,22 @@ static __always_inline int rt_waiter_nod */ if (dl_prio(left->prio)) return dl_time_before(left->deadline, right->deadline); +#endif - + return 0; +#endif } - - static __always_inline int rt_mutex_waiter_equal(struct rt_mutex_waiter *left, - struct rt_mutex_waiter *right) + + static __always_inline int rt_waiter_node_equal(struct rt_waiter_node *left, + struct rt_waiter_node *right) { +#ifdef CONFIG_SCHED_PDS + return (left->deadline == right->deadline); +#else if (left->prio != right->prio) return 0; - + +#ifndef CONFIG_SCHED_BMQ /* * If both waiters have dl_prio(), we check the deadlines of the * associated tasks. -@@ -341,8 +351,10 @@ static __always_inline int rt_mutex_waiter_equal(struct rt_mutex_waiter *left, +@@ -400,8 +410,10 @@ static __always_inline int rt_waiter_nod */ if (dl_prio(left->prio)) return left->deadline == right->deadline; +#endif - + return 1; +#endif } - + static inline bool rt_mutex_steal(struct rt_mutex_waiter *waiter, diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile index 976092b7bd45..31d587c16ec1 100644