mirror of
https://github.com/ps5-linux/ps5-linux-patches.git
synced 2026-08-13 23:18:37 -07:00
Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
daa2e49608 | ||
|
|
b18c595597 | ||
|
|
be4fdf3fe9 | ||
|
|
5a1171fb6d | ||
|
|
dc1a568126 |
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 7.1.3 Kernel Configuration
|
||||
# Linux/x86 7.1.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
|
||||
@@ -21,7 +21,7 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: self-hosted
|
||||
timeout-minutes: 120
|
||||
timeout-minutes: 720
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
|
||||
@@ -31,3 +31,5 @@ sudo make install
|
||||
- screen save does not work properly
|
||||
- hdmi audio output does not work on some monitors
|
||||
- hdmi 1440p and 2160p video output does not work on some monitors
|
||||
- monitor swap is not supported
|
||||
- hdmi cec is not supported
|
||||
|
||||
+39
-11
@@ -106,6 +106,21 @@ index dafbf581c515..791687363cbf 100644
|
||||
X86_NR_SUBARCHS,
|
||||
};
|
||||
|
||||
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
|
||||
index 31f01e9c7114..ec3c32893cca 100644
|
||||
--- a/arch/x86/kernel/cpu/amd.c
|
||||
+++ b/arch/x86/kernel/cpu/amd.c
|
||||
@@ -1163,6 +1163,10 @@ static void init_amd(struct cpuinfo_x86 *c)
|
||||
/* AMD CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */
|
||||
clear_cpu_cap(c, X86_FEATURE_APIC_MSRS_FENCE);
|
||||
|
||||
+ if (c->x86 == 0x17 && c->x86_model == 0x46)
|
||||
+ strscpy(c->x86_model_id, "AMD Custom Zen 2 (Oberon)",
|
||||
+ sizeof(c->x86_model_id));
|
||||
+
|
||||
/* Enable Translation Cache Extension */
|
||||
if (cpu_has(c, X86_FEATURE_TCE))
|
||||
msr_set_bit(MSR_EFER, _EFER_TCE);
|
||||
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
|
||||
index fd28b53dbac5..569fc764d267 100644
|
||||
--- a/arch/x86/kernel/head64.c
|
||||
@@ -139,7 +154,7 @@ index cb9852ad6098..83bb0cf9e40b 100644
|
||||
return true;
|
||||
|
||||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
||||
index 0550359ed798..297ac533e017 100644
|
||||
index 88f0e3fd8919..970eb7dad09c 100644
|
||||
--- a/arch/x86/kvm/x86.c
|
||||
+++ b/arch/x86/kvm/x86.c
|
||||
@@ -114,7 +114,11 @@ EXPORT_SYMBOL_FOR_KVM_INTERNAL(kvm_host);
|
||||
@@ -1093,7 +1108,7 @@ index 000000000000..39cc76f39e06
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
|
||||
index 830fefb342c6..380bc421583d 100644
|
||||
index cc6392f8d98c..ba246af47b7c 100644
|
||||
--- a/drivers/bluetooth/btusb.c
|
||||
+++ b/drivers/bluetooth/btusb.c
|
||||
@@ -67,6 +67,10 @@ static struct usb_driver btusb_driver;
|
||||
@@ -1134,7 +1149,7 @@ index 830fefb342c6..380bc421583d 100644
|
||||
|
||||
/* Intel Bluetooth devices */
|
||||
{ USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_COMBINED },
|
||||
@@ -4055,6 +4072,10 @@ static int btusb_probe(struct usb_interface *intf,
|
||||
@@ -4067,6 +4084,10 @@ static int btusb_probe(struct usb_interface *intf,
|
||||
(intf->cur_altsetting->desc.bInterfaceNumber != 2))
|
||||
return -ENODEV;
|
||||
|
||||
@@ -1145,7 +1160,7 @@ index 830fefb342c6..380bc421583d 100644
|
||||
ifnum_base = intf->cur_altsetting->desc.bInterfaceNumber;
|
||||
|
||||
if (!id->driver_info) {
|
||||
@@ -4344,6 +4365,12 @@ static int btusb_probe(struct usb_interface *intf,
|
||||
@@ -4355,6 +4376,12 @@ static int btusb_probe(struct usb_interface *intf,
|
||||
if (id->driver_info & BTUSB_INVALID_LE_STATES)
|
||||
hci_set_quirk(hdev, HCI_QUIRK_BROKEN_LE_STATES);
|
||||
|
||||
@@ -1158,7 +1173,7 @@ index 830fefb342c6..380bc421583d 100644
|
||||
if (id->driver_info & BTUSB_DIGIANSWER) {
|
||||
data->cmdreq_type = USB_TYPE_VENDOR;
|
||||
hci_set_quirk(hdev, HCI_QUIRK_RESET_ON_CLOSE);
|
||||
@@ -4400,7 +4427,7 @@ static int btusb_probe(struct usb_interface *intf,
|
||||
@@ -4411,7 +4438,7 @@ static int btusb_probe(struct usb_interface *intf,
|
||||
data->diag = NULL;
|
||||
}
|
||||
|
||||
@@ -5329,10 +5344,10 @@ index 000000000000..612aee5b273a
|
||||
+#endif /* _AUTOSERVO_PARAM_H */
|
||||
diff --git a/drivers/ps5/buzzer.c b/drivers/ps5/buzzer.c
|
||||
new file mode 100644
|
||||
index 000000000000..f48ad6f92534
|
||||
index 000000000000..5a53c5f719bc
|
||||
--- /dev/null
|
||||
+++ b/drivers/ps5/buzzer.c
|
||||
@@ -0,0 +1,291 @@
|
||||
@@ -0,0 +1,304 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-only
|
||||
+
|
||||
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
@@ -5349,6 +5364,8 @@ index 000000000000..f48ad6f92534
|
||||
+#include <linux/kthread.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <linux/workqueue.h>
|
||||
+#include <linux/atomic.h>
|
||||
+#include <linux/ps5.h>
|
||||
+
|
||||
+#define BUZZER_IOC_MAGIC 'B'
|
||||
@@ -5531,11 +5548,21 @@ index 000000000000..f48ad6f92534
|
||||
+ .mode = 0660,
|
||||
+};
|
||||
+
|
||||
+static atomic_t bell_state = ATOMIC_INIT(PS5_BUZZ_SILENT);
|
||||
+
|
||||
+static void bell_work_fn(struct work_struct *w)
|
||||
+{
|
||||
+ ps5_buzz_raw(atomic_read(&bell_state));
|
||||
+}
|
||||
+static DECLARE_WORK(bell_work, bell_work_fn);
|
||||
+
|
||||
+static int snd_event(struct input_dev *dev, unsigned int type,
|
||||
+ unsigned int code, int value)
|
||||
+{
|
||||
+ if (type == EV_SND && code == SND_BELL)
|
||||
+ ps5_buzz_raw(value ? PS5_BUZZ_SHORT : PS5_BUZZ_SILENT);
|
||||
+ if (type == EV_SND && code == SND_BELL) {
|
||||
+ atomic_set(&bell_state, value ? PS5_BUZZ_SHORT : PS5_BUZZ_SILENT);
|
||||
+ schedule_work(&bell_work);
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
@@ -5614,6 +5641,7 @@ index 000000000000..f48ad6f92534
|
||||
+ play_stop();
|
||||
+ if (snd_idev)
|
||||
+ input_unregister_device(snd_idev);
|
||||
+ cancel_work_sync(&bell_work);
|
||||
+ sysfs_remove_group(&buzz_misc.this_device->kobj, &buzz_attr_group);
|
||||
+ misc_deregister(&buzz_misc);
|
||||
+}
|
||||
@@ -10507,7 +10535,7 @@ index 000000000000..193ac03a3074
|
||||
+dma_addr_t xhci_trb_virt_to_dma(struct xhci_segment *seg, union xhci_trb *trb);
|
||||
+int xhci_handle_events(struct xhci_hcd *xhci, struct xhci_interrupter *ir, bool skip_events);
|
||||
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
|
||||
index a54f5b57f205..0d99186ec967 100644
|
||||
index 15346fdd66bc..e08120bf12c8 100644
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -10697,7 +10725,7 @@ index 572b1c620c5d..b776491a1241 100644
|
||||
* When this quirk is set, the HCI_OP_LE_EXT_CREATE_CONN command is
|
||||
* disabled. This is required for the Actions Semiconductor ATS2851
|
||||
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
|
||||
index df23245d6ccd..1248c3735900 100644
|
||||
index a3df69bdec1e..7b143f96c947 100644
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -3787,6 +3787,9 @@ static int hci_read_dev_class_sync(struct hci_dev *hdev)
|
||||
|
||||
Reference in New Issue
Block a user