commit
c9379765ae
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3187
patches/cachyos/0002-ntsync.patch
Normal file
3187
patches/cachyos/0002-ntsync.patch
Normal file
File diff suppressed because it is too large
Load Diff
230
patches/cachyos/0003-nvidia.patch
Normal file
230
patches/cachyos/0003-nvidia.patch
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
From d2db737a5be989688a7a5d805b7f299d0203d228 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Jung <admin@ptr1337.dev>
|
||||||
|
Date: Mon, 29 Jan 2024 15:09:44 +0100
|
||||||
|
Subject: [PATCH] NVIDIA: Fixup GPL issue
|
||||||
|
|
||||||
|
Signed-off-by: Peter Jung <admin@ptr1337.dev>
|
||||||
|
---
|
||||||
|
kernel/rcu/tree_plugin.h | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
|
||||||
|
index 41021080ad25..72474d8ec180 100644
|
||||||
|
--- a/kernel/rcu/tree_plugin.h
|
||||||
|
+++ b/kernel/rcu/tree_plugin.h
|
||||||
|
@@ -406,7 +406,7 @@ void __rcu_read_lock(void)
|
||||||
|
WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true);
|
||||||
|
barrier(); /* critical section after entry code. */
|
||||||
|
}
|
||||||
|
-EXPORT_SYMBOL_GPL(__rcu_read_lock);
|
||||||
|
+EXPORT_SYMBOL(__rcu_read_lock);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Preemptible RCU implementation for rcu_read_unlock().
|
||||||
|
@@ -431,7 +431,7 @@ void __rcu_read_unlock(void)
|
||||||
|
WARN_ON_ONCE(rrln < 0 || rrln > RCU_NEST_PMAX);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-EXPORT_SYMBOL_GPL(__rcu_read_unlock);
|
||||||
|
+EXPORT_SYMBOL(__rcu_read_unlock);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Advance a ->blkd_tasks-list pointer to the next entry, instead
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
|
--- a/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||||
|
+++ b/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||||
|
@@ -480,6 +480,22 @@ static int nv_drm_load(struct drm_device *dev, unsigned long flags)
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(NV_DRM_FBDEV_GENERIC_AVAILABLE)
|
||||||
|
+ /*
|
||||||
|
+ * If fbdev is enabled, take modeset ownership now before other DRM clients
|
||||||
|
+ * can take master (and thus NVKMS ownership).
|
||||||
|
+ */
|
||||||
|
+ if (nv_drm_fbdev_module_param) {
|
||||||
|
+ if (!nvKms->grabOwnership(pDevice)) {
|
||||||
|
+ nvKms->freeDevice(pDevice);
|
||||||
|
+ NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to grab NVKMS modeset ownership");
|
||||||
|
+ return -EBUSY;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ nv_dev->hasFramebufferConsole = NV_TRUE;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
mutex_lock(&nv_dev->lock);
|
||||||
|
|
||||||
|
/* Set NvKmsKapiDevice */
|
||||||
|
@@ -590,6 +606,15 @@ static void __nv_drm_unload(struct drm_device *dev)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Release modeset ownership if fbdev is enabled */
|
||||||
|
+
|
||||||
|
+#if defined(NV_DRM_FBDEV_GENERIC_AVAILABLE)
|
||||||
|
+ if (nv_dev->hasFramebufferConsole) {
|
||||||
|
+ drm_atomic_helper_shutdown(dev);
|
||||||
|
+ nvKms->releaseOwnership(nv_dev->pDevice);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
cancel_delayed_work_sync(&nv_dev->hotplug_event_work);
|
||||||
|
mutex_lock(&nv_dev->lock);
|
||||||
|
|
||||||
|
@@ -1768,14 +1793,7 @@ void nv_drm_register_drm_device(const nv_gpu_info_t *gpu_info)
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(NV_DRM_FBDEV_GENERIC_AVAILABLE)
|
||||||
|
- if (nv_drm_fbdev_module_param &&
|
||||||
|
- drm_core_check_feature(dev, DRIVER_MODESET)) {
|
||||||
|
-
|
||||||
|
- if (!nvKms->grabOwnership(nv_dev->pDevice)) {
|
||||||
|
- NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to grab NVKMS modeset ownership");
|
||||||
|
- goto failed_grab_ownership;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
+ if (nv_dev->hasFramebufferConsole) {
|
||||||
|
if (bus_is_pci) {
|
||||||
|
struct pci_dev *pdev = to_pci_dev(device);
|
||||||
|
|
||||||
|
@@ -1786,8 +1804,6 @@ void nv_drm_register_drm_device(const nv_gpu_info_t *gpu_info)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
drm_fbdev_generic_setup(dev, 32);
|
||||||
|
-
|
||||||
|
- nv_dev->hasFramebufferConsole = NV_TRUE;
|
||||||
|
}
|
||||||
|
#endif /* defined(NV_DRM_FBDEV_GENERIC_AVAILABLE) */
|
||||||
|
|
||||||
|
@@ -1798,12 +1814,6 @@ void nv_drm_register_drm_device(const nv_gpu_info_t *gpu_info)
|
||||||
|
|
||||||
|
return; /* Success */
|
||||||
|
|
||||||
|
-#if defined(NV_DRM_FBDEV_GENERIC_AVAILABLE)
|
||||||
|
-failed_grab_ownership:
|
||||||
|
-
|
||||||
|
- drm_dev_unregister(dev);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
failed_drm_register:
|
||||||
|
|
||||||
|
nv_drm_dev_free(dev);
|
||||||
|
@@ -1870,12 +1880,6 @@ void nv_drm_remove_devices(void)
|
||||||
|
struct nv_drm_device *next = dev_list->next;
|
||||||
|
struct drm_device *dev = dev_list->dev;
|
||||||
|
|
||||||
|
-#if defined(NV_DRM_FBDEV_GENERIC_AVAILABLE)
|
||||||
|
- if (dev_list->hasFramebufferConsole) {
|
||||||
|
- drm_atomic_helper_shutdown(dev);
|
||||||
|
- nvKms->releaseOwnership(dev_list->pDevice);
|
||||||
|
- }
|
||||||
|
-#endif
|
||||||
|
drm_dev_unregister(dev);
|
||||||
|
nv_drm_dev_free(dev);
|
||||||
|
|
||||||
|
From d82eb6c87ee2e05b6bbd35f703a41e68b3adc3a7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aaron Plattner <aplattner@nvidia.com>
|
||||||
|
Date: Tue, 26 Dec 2023 11:58:46 -0800
|
||||||
|
Subject: [PATCH] nvidia-drm: Use a workqueue to defer calling
|
||||||
|
drm_kms_helper_hotplug_event
|
||||||
|
|
||||||
|
---
|
||||||
|
kernel/nvidia-drm/nvidia-drm-drv.c | 24 ++++++++++++++++++++++++
|
||||||
|
kernel/nvidia-drm/nvidia-drm-encoder.c | 4 ++--
|
||||||
|
kernel/nvidia-drm/nvidia-drm-priv.h | 1 +
|
||||||
|
3 files changed, 27 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git kernel/nvidia-drm/nvidia-drm-drv.c kernel/nvidia-drm/nvidia-drm-drv.c
|
||||||
|
index e0ddb6c..9f7424d 100644
|
||||||
|
--- kernel/nvidia-drm/nvidia-drm-drv.c
|
||||||
|
+++ kernel/nvidia-drm/nvidia-drm-drv.c
|
||||||
|
@@ -74,6 +74,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <linux/pci.h>
|
||||||
|
+#include <linux/workqueue.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h")
|
||||||
|
@@ -405,6 +406,27 @@ static int nv_drm_create_properties(struct nv_drm_device *nv_dev)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||||
|
+/*
|
||||||
|
+ * We can't just call drm_kms_helper_hotplug_event directly because
|
||||||
|
+ * fbdev_generic may attempt to set a mode from inside the hotplug event
|
||||||
|
+ * handler. Because kapi event handling runs on nvkms_kthread_q, this blocks
|
||||||
|
+ * other event processing including the flip completion notifier expected by
|
||||||
|
+ * nv_drm_atomic_commit.
|
||||||
|
+ *
|
||||||
|
+ * Defer hotplug event handling to a work item so that nvkms_kthread_q can
|
||||||
|
+ * continue processing events while a DRM modeset is in progress.
|
||||||
|
+ */
|
||||||
|
+static void nv_drm_handle_hotplug_event(struct work_struct *work)
|
||||||
|
+{
|
||||||
|
+ struct delayed_work *dwork = to_delayed_work(work);
|
||||||
|
+ struct nv_drm_device *nv_dev =
|
||||||
|
+ container_of(dwork, struct nv_drm_device, hotplug_event_work);
|
||||||
|
+
|
||||||
|
+ drm_kms_helper_hotplug_event(nv_dev->dev);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static int nv_drm_load(struct drm_device *dev, unsigned long flags)
|
||||||
|
{
|
||||||
|
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||||
|
@@ -540,6 +562,7 @@ static int nv_drm_load(struct drm_device *dev, unsigned long flags)
|
||||||
|
|
||||||
|
/* Enable event handling */
|
||||||
|
|
||||||
|
+ INIT_DELAYED_WORK(&nv_dev->hotplug_event_work, nv_drm_handle_hotplug_event);
|
||||||
|
atomic_set(&nv_dev->enable_event_handling, true);
|
||||||
|
|
||||||
|
init_waitqueue_head(&nv_dev->flip_event_wq);
|
||||||
|
@@ -567,6 +590,7 @@ static void __nv_drm_unload(struct drm_device *dev)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ cancel_delayed_work_sync(&nv_dev->hotplug_event_work);
|
||||||
|
mutex_lock(&nv_dev->lock);
|
||||||
|
|
||||||
|
WARN_ON(nv_dev->subOwnershipGranted);
|
||||||
|
diff --git kernel/nvidia-drm/nvidia-drm-encoder.c kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||||
|
index b5ef5a2..7c0c119 100644
|
||||||
|
--- kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||||
|
+++ kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||||
|
@@ -300,7 +300,7 @@ void nv_drm_handle_display_change(struct nv_drm_device *nv_dev,
|
||||||
|
|
||||||
|
nv_drm_connector_mark_connection_status_dirty(nv_encoder->nv_connector);
|
||||||
|
|
||||||
|
- drm_kms_helper_hotplug_event(dev);
|
||||||
|
+ schedule_delayed_work(&nv_dev->hotplug_event_work, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nv_drm_handle_dynamic_display_connected(struct nv_drm_device *nv_dev,
|
||||||
|
@@ -347,6 +347,6 @@ void nv_drm_handle_dynamic_display_connected(struct nv_drm_device *nv_dev,
|
||||||
|
drm_reinit_primary_mode_group(dev);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- drm_kms_helper_hotplug_event(dev);
|
||||||
|
+ schedule_delayed_work(&nv_dev->hotplug_event_work, 0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
diff --git kernel/nvidia-drm/nvidia-drm-priv.h kernel/nvidia-drm/nvidia-drm-priv.h
|
||||||
|
index 253155f..c9ce727 100644
|
||||||
|
--- kernel/nvidia-drm/nvidia-drm-priv.h
|
||||||
|
+++ kernel/nvidia-drm/nvidia-drm-priv.h
|
||||||
|
@@ -126,6 +126,7 @@ struct nv_drm_device {
|
||||||
|
NvU64 modifiers[6 /* block linear */ + 1 /* linear */ + 1 /* terminator */];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ struct delayed_work hotplug_event_work;
|
||||||
|
atomic_t enable_event_handling;
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.43.0
|
2203
patches/cachyos/0004-intel.patch
Normal file
2203
patches/cachyos/0004-intel.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,21 +1,8 @@
|
|||||||
From 309712fae7491a876359ddda6e4cf8944f454731 Mon Sep 17 00:00:00 2001
|
|
||||||
From: GloriousEggroll <gloriouseggroll@gmail.com>
|
|
||||||
Date: Wed, 13 Sep 2023 17:59:59 -0600
|
|
||||||
Subject: [PATCH] OpenRGB
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/i2c/busses/Kconfig | 9 +
|
|
||||||
drivers/i2c/busses/Makefile | 1 +
|
|
||||||
drivers/i2c/busses/i2c-nct6775.c | 647 +++++++++++++++++++++++++++++++
|
|
||||||
drivers/i2c/busses/i2c-piix4.c | 4 +-
|
|
||||||
4 files changed, 659 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 drivers/i2c/busses/i2c-nct6775.c
|
|
||||||
|
|
||||||
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
|
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
|
||||||
index 9cfe8fc50..efc3b0c0b 100644
|
index 2ddca08f8a76..72647850f08e 100644
|
||||||
--- a/drivers/i2c/busses/Kconfig
|
--- a/drivers/i2c/busses/Kconfig
|
||||||
+++ b/drivers/i2c/busses/Kconfig
|
+++ b/drivers/i2c/busses/Kconfig
|
||||||
@@ -229,6 +229,15 @@ config I2C_CHT_WC
|
@@ -217,6 +217,15 @@ config I2C_CHT_WC
|
||||||
combined with a FUSB302 Type-C port-controller as such it is advised
|
combined with a FUSB302 Type-C port-controller as such it is advised
|
||||||
to also select CONFIG_TYPEC_FUSB302=m.
|
to also select CONFIG_TYPEC_FUSB302=m.
|
||||||
|
|
||||||
@ -32,10 +19,10 @@ index 9cfe8fc50..efc3b0c0b 100644
|
|||||||
tristate "Nvidia nForce2, nForce3 and nForce4"
|
tristate "Nvidia nForce2, nForce3 and nForce4"
|
||||||
depends on PCI
|
depends on PCI
|
||||||
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
|
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
|
||||||
index af56fe2c7..76be74584 100644
|
index 25d60889713c..3c2a9b237ac6 100644
|
||||||
--- a/drivers/i2c/busses/Makefile
|
--- a/drivers/i2c/busses/Makefile
|
||||||
+++ b/drivers/i2c/busses/Makefile
|
+++ b/drivers/i2c/busses/Makefile
|
||||||
@@ -20,6 +20,7 @@ obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o
|
@@ -17,6 +17,7 @@ obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o
|
||||||
obj-$(CONFIG_I2C_I801) += i2c-i801.o
|
obj-$(CONFIG_I2C_I801) += i2c-i801.o
|
||||||
obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
|
obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
|
||||||
obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o
|
obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o
|
||||||
@ -45,7 +32,7 @@ index af56fe2c7..76be74584 100644
|
|||||||
obj-$(CONFIG_I2C_NVIDIA_GPU) += i2c-nvidia-gpu.o
|
obj-$(CONFIG_I2C_NVIDIA_GPU) += i2c-nvidia-gpu.o
|
||||||
diff --git a/drivers/i2c/busses/i2c-nct6775.c b/drivers/i2c/busses/i2c-nct6775.c
|
diff --git a/drivers/i2c/busses/i2c-nct6775.c b/drivers/i2c/busses/i2c-nct6775.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..0462f0952
|
index 000000000000..0462f0952043
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/i2c/busses/i2c-nct6775.c
|
+++ b/drivers/i2c/busses/i2c-nct6775.c
|
||||||
@@ -0,0 +1,647 @@
|
@@ -0,0 +1,647 @@
|
||||||
@ -697,10 +684,10 @@ index 000000000..0462f0952
|
|||||||
+module_init(i2c_nct6775_init);
|
+module_init(i2c_nct6775_init);
|
||||||
+module_exit(i2c_nct6775_exit);
|
+module_exit(i2c_nct6775_exit);
|
||||||
diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
|
diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
|
||||||
index 809fbd014..d54b35b14 100644
|
index 30ded6422e7b..e25ce84c26af 100644
|
||||||
--- a/drivers/i2c/busses/i2c-piix4.c
|
--- a/drivers/i2c/busses/i2c-piix4.c
|
||||||
+++ b/drivers/i2c/busses/i2c-piix4.c
|
+++ b/drivers/i2c/busses/i2c-piix4.c
|
||||||
@@ -568,11 +568,11 @@ static int piix4_transaction(struct i2c_adapter *piix4_adapter)
|
@@ -467,11 +467,11 @@ static int piix4_transaction(struct i2c_adapter *piix4_adapter)
|
||||||
if (srvrworks_csb5_delay) /* Extra delay for SERVERWORKS_CSB5 */
|
if (srvrworks_csb5_delay) /* Extra delay for SERVERWORKS_CSB5 */
|
||||||
usleep_range(2000, 2100);
|
usleep_range(2000, 2100);
|
||||||
else
|
else
|
||||||
@ -714,6 +701,3 @@ index 809fbd014..d54b35b14 100644
|
|||||||
|
|
||||||
/* If the SMBus is still busy, we give up */
|
/* If the SMBus is still busy, we give up */
|
||||||
if (timeout == MAX_TIMEOUT) {
|
if (timeout == MAX_TIMEOUT) {
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +1,13 @@
|
|||||||
cachyos/0001-cachyos-base-all.patch
|
cachyos/0001-cachyos-base-all.patch
|
||||||
cachyos/0001-bore-cachy.patch
|
cachyos/0001-bore-cachy.patch
|
||||||
asuslinux/ROG-ALLY-NCT6775-PLATFORM.patch
|
cachyos/0002-ntsync.patch
|
||||||
asuslinux/asus-linux.patch
|
cachyos/0003-nvidia.patch
|
||||||
asuslinux/rog-ally-audio-fix.patch
|
cachyos/0004-intel.patch
|
||||||
asuslinux/rog-ally-bmc150.patch
|
|
||||||
asuslinux/v2-0001-platform-x86-asus-wmi-disable-USB0-hub-on-ROG-All.patch
|
|
||||||
nobara/0001-Allow-to-set-custom-USB-pollrate-for-specific-device.patch
|
nobara/0001-Allow-to-set-custom-USB-pollrate-for-specific-device.patch
|
||||||
nobara/0001-Revert-PCI-Add-a-REBAR-size-quirk-for-Sapphire-RX-56.patch
|
nobara/0001-Revert-PCI-Add-a-REBAR-size-quirk-for-Sapphire-RX-56.patch
|
||||||
nobara/0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch
|
nobara/0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch
|
||||||
nobara/0001-Set-amdgpu.ppfeaturemask-0xffffffff-as-default.patch
|
nobara/0001-Set-amdgpu.ppfeaturemask-0xffffffff-as-default.patch
|
||||||
nobara/0001-acpi-proc-idle-skip-dummy-wait.patch
|
nobara/0001-acpi-proc-idle-skip-dummy-wait.patch
|
||||||
nobara/0001-add-acpi_call.patch
|
nobara/0001-add-acpi_call.patch
|
||||||
nobara/0001-amd-hdr.patch
|
|
||||||
nobara/0001-drm-i915-quirks-disable-async-flipping-on-specific-d.patch
|
|
||||||
nobara/0001-hid-asus-nero-patches-rogue.patch
|
|
||||||
nobara/0002-drm-i915-add-kernel-parameter-to-disable-async-page-.patch
|
|
||||||
nobara/OpenRGB.patch
|
nobara/OpenRGB.patch
|
||||||
nobara/amdgpu-si-cik-default.patch
|
nobara/amdgpu-si-cik-default.patch
|
||||||
nobara/lenovo-legion-laptop.patch
|
|
||||||
nobara/linux-surface.patch
|
|
||||||
nobara/mt76:-mt7921:-Disable-powersave-features-by-default.patch
|
|
||||||
nobara/set-ps4-bt-poll-rate-1000hz.patch
|
|
||||||
nobara/steam-deck.patch
|
|
||||||
nobara/uinput.patch
|
|
||||||
nobara/winesync.patc
|
|
||||||
|
Loading…
Reference in New Issue
Block a user