mirror of
https://github.com/ps5-linux/ps5-linux-patches.git
synced 2026-08-13 23:18:37 -07:00
Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
daa2e49608 | ||
|
|
b18c595597 | ||
|
|
be4fdf3fe9 | ||
|
|
5a1171fb6d | ||
|
|
dc1a568126 | ||
|
|
c363690546 | ||
|
|
5236127a9e | ||
|
|
c404a24cbf |
@@ -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
|
||||
@@ -361,7 +361,12 @@ CONFIG_CRASH_MAX_MEMORY_RANGES=8192
|
||||
#
|
||||
# Live Update and Kexec HandOver
|
||||
#
|
||||
# CONFIG_KEXEC_HANDOVER is not set
|
||||
CONFIG_KEXEC_HANDOVER=y
|
||||
# CONFIG_KEXEC_HANDOVER_DEBUG is not set
|
||||
CONFIG_KEXEC_HANDOVER_DEBUGFS=y
|
||||
CONFIG_KEXEC_HANDOVER_ENABLE_DEFAULT=y
|
||||
CONFIG_LIVEUPDATE=y
|
||||
CONFIG_LIVEUPDATE_MEMFD=y
|
||||
# end of Live Update and Kexec HandOver
|
||||
# end of General setup
|
||||
|
||||
@@ -540,8 +545,9 @@ CONFIG_LEGACY_VSYSCALL_XONLY=y
|
||||
CONFIG_MODIFY_LDT_SYSCALL=y
|
||||
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
|
||||
CONFIG_HAVE_LIVEPATCH=y
|
||||
# CONFIG_LIVEPATCH is not set
|
||||
CONFIG_LIVEPATCH=y
|
||||
CONFIG_HAVE_KLP_BUILD=y
|
||||
CONFIG_KLP_BUILD=y
|
||||
CONFIG_X86_BUS_LOCK_DETECT=y
|
||||
# end of Processor type and features
|
||||
|
||||
@@ -969,7 +975,12 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_GENKSYMS is not set
|
||||
CONFIG_GENDWARFKSYMS=y
|
||||
CONFIG_ASM_MODVERSIONS=y
|
||||
CONFIG_EXTENDED_MODVERSIONS=y
|
||||
CONFIG_BASIC_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
@@ -989,8 +1000,8 @@ CONFIG_BLK_CGROUP_RWSTAT=y
|
||||
CONFIG_BLK_CGROUP_PUNT_BIO=y
|
||||
CONFIG_BLK_DEV_BSG_COMMON=y
|
||||
CONFIG_BLK_ICQ=y
|
||||
# CONFIG_BLK_DEV_BSGLIB is not set
|
||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BLK_DEV_INTEGRITY=y
|
||||
CONFIG_BLK_DEV_WRITE_MOUNTED=y
|
||||
CONFIG_BLK_DEV_ZONED=y
|
||||
CONFIG_BLK_DEV_THROTTLING=y
|
||||
@@ -1000,8 +1011,9 @@ CONFIG_BLK_WBT_MQ=y
|
||||
CONFIG_BLK_CGROUP_IOCOST=y
|
||||
CONFIG_BLK_CGROUP_IOPRIO=y
|
||||
CONFIG_BLK_DEBUG_FS=y
|
||||
# CONFIG_BLK_SED_OPAL is not set
|
||||
# CONFIG_BLK_INLINE_ENCRYPTION is not set
|
||||
CONFIG_BLK_SED_OPAL=y
|
||||
CONFIG_BLK_INLINE_ENCRYPTION=y
|
||||
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
@@ -1106,6 +1118,7 @@ CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
|
||||
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
|
||||
CONFIG_ARCH_WANT_HUGETLB_VMEMMAP_PREINIT=y
|
||||
CONFIG_HAVE_GUP_FAST=y
|
||||
CONFIG_MEMBLOCK_KHO_SCRATCH=y
|
||||
CONFIG_NUMA_KEEP_MEMINFO=y
|
||||
CONFIG_MEMORY_ISOLATION=y
|
||||
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
|
||||
@@ -1263,6 +1276,7 @@ CONFIG_XFRM_ESPINTCP=y
|
||||
# CONFIG_DIBS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_NET_HANDSHAKE=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
@@ -1810,7 +1824,7 @@ CONFIG_SOCK_VALIDATE_XMIT=y
|
||||
CONFIG_NET_SELFTESTS=y
|
||||
CONFIG_NET_SOCK_MSG=y
|
||||
CONFIG_PAGE_POOL=y
|
||||
# CONFIG_PAGE_POOL_STATS is not set
|
||||
CONFIG_PAGE_POOL_STATS=y
|
||||
CONFIG_FAILOVER=y
|
||||
CONFIG_ETHTOOL_NETLINK=y
|
||||
|
||||
@@ -2338,7 +2352,7 @@ CONFIG_VXLAN=m
|
||||
# CONFIG_AMT is not set
|
||||
# CONFIG_MACSEC is not set
|
||||
CONFIG_NETCONSOLE=m
|
||||
# CONFIG_NETCONSOLE_DYNAMIC is not set
|
||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
|
||||
CONFIG_NETPOLL=y
|
||||
CONFIG_NET_POLL_CONTROLLER=y
|
||||
@@ -4112,7 +4126,7 @@ CONFIG_USB_DYNAMIC_MINORS=y
|
||||
# CONFIG_USB_OTG is not set
|
||||
# CONFIG_USB_OTG_PRODUCTLIST is not set
|
||||
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
|
||||
# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
|
||||
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
|
||||
CONFIG_USB_AUTOSUSPEND_DELAY=2
|
||||
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
|
||||
CONFIG_USB_MON=m
|
||||
@@ -4873,9 +4887,11 @@ CONFIG_ZONEFS_FS=m
|
||||
# CONFIG_FS_DAX is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
CONFIG_EXPORTFS=y
|
||||
# CONFIG_EXPORTFS_BLOCK_OPS is not set
|
||||
CONFIG_EXPORTFS_BLOCK_OPS=y
|
||||
CONFIG_FILE_LOCKING=y
|
||||
# CONFIG_FS_ENCRYPTION is not set
|
||||
CONFIG_FS_ENCRYPTION=y
|
||||
CONFIG_FS_ENCRYPTION_ALGS=y
|
||||
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
|
||||
# CONFIG_FS_VERITY is not set
|
||||
CONFIG_FSNOTIFY=y
|
||||
CONFIG_DNOTIFY=y
|
||||
@@ -5018,8 +5034,52 @@ CONFIG_RESCTRL_FS_PSEUDO_LOCK=y
|
||||
# CONFIG_UFS_FS is not set
|
||||
# CONFIG_EROFS_FS is not set
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
# CONFIG_NFS_FS is not set
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_NFS_FS=m
|
||||
CONFIG_NFS_V2=m
|
||||
CONFIG_NFS_V3=m
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=m
|
||||
CONFIG_NFS_SWAP=y
|
||||
CONFIG_NFS_V4_0=y
|
||||
CONFIG_NFS_V4_2=y
|
||||
CONFIG_PNFS_FILE_LAYOUT=m
|
||||
CONFIG_PNFS_BLOCK=m
|
||||
CONFIG_PNFS_FLEXFILE_LAYOUT=m
|
||||
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
|
||||
CONFIG_NFS_V4_1_MIGRATION=y
|
||||
CONFIG_NFS_V4_SECURITY_LABEL=y
|
||||
CONFIG_NFS_FSCACHE=y
|
||||
# CONFIG_NFS_USE_LEGACY_DNS is not set
|
||||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
|
||||
# CONFIG_NFS_V4_2_READ_PLUS is not set
|
||||
CONFIG_NFSD=m
|
||||
# CONFIG_NFSD_V2 is not set
|
||||
CONFIG_NFSD_V3_ACL=y
|
||||
CONFIG_NFSD_V4=y
|
||||
CONFIG_NFSD_PNFS=y
|
||||
CONFIG_NFSD_BLOCKLAYOUT=y
|
||||
CONFIG_NFSD_SCSILAYOUT=y
|
||||
CONFIG_NFSD_FLEXFILELAYOUT=y
|
||||
CONFIG_NFSD_V4_2_INTER_SSC=y
|
||||
CONFIG_NFSD_V4_SECURITY_LABEL=y
|
||||
# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
|
||||
# CONFIG_NFSD_V4_POSIX_ACLS is not set
|
||||
CONFIG_GRACE_PERIOD=m
|
||||
CONFIG_LOCKD=m
|
||||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_NFS_ACL_SUPPORT=m
|
||||
CONFIG_NFS_COMMON=y
|
||||
# CONFIG_NFS_LOCALIO is not set
|
||||
CONFIG_NFS_V4_2_SSC_HELPER=y
|
||||
CONFIG_SUNRPC=m
|
||||
CONFIG_SUNRPC_GSS=m
|
||||
CONFIG_SUNRPC_BACKCHANNEL=y
|
||||
CONFIG_SUNRPC_SWAP=y
|
||||
CONFIG_RPCSEC_GSS_KRB5=m
|
||||
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
|
||||
# CONFIG_SUNRPC_DEBUG is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
CONFIG_CIFS=m
|
||||
# CONFIG_CIFS_STATS2 is not set
|
||||
@@ -5454,8 +5514,12 @@ CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
|
||||
CONFIG_CRC16=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_CRC_ITU_T=m
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC_T10DIF_ARCH=y
|
||||
CONFIG_CRC32=y
|
||||
CONFIG_CRC32_ARCH=y
|
||||
CONFIG_CRC64=y
|
||||
CONFIG_CRC64_ARCH=y
|
||||
CONFIG_CRC_OPTIMIZATIONS=y
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
CONFIG_CRYPTO_LIB_UTILS=y
|
||||
@@ -5563,6 +5627,7 @@ CONFIG_CLZ_TAB=y
|
||||
CONFIG_IRQ_POLL=y
|
||||
CONFIG_MPILIB=y
|
||||
CONFIG_DIMLIB=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_OID_REGISTRY=y
|
||||
CONFIG_UCS2_STRING=y
|
||||
CONFIG_HAVE_GENERIC_VDSO=y
|
||||
@@ -5609,6 +5674,7 @@ CONFIG_UNION_FIND=y
|
||||
#
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_PRINTK_CALLER is not set
|
||||
CONFIG_PRINTK_EXECUTION_CTX=y
|
||||
# CONFIG_STACKTRACE_BUILD_ID is not set
|
||||
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
|
||||
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
|
||||
@@ -5918,7 +5984,7 @@ CONFIG_BPF_KPROBE_OVERRIDE=y
|
||||
CONFIG_FTRACE_MCOUNT_USE_CC=y
|
||||
CONFIG_TRACING_MAP=y
|
||||
CONFIG_SYNTH_EVENTS=y
|
||||
# CONFIG_USER_EVENTS is not set
|
||||
CONFIG_USER_EVENTS=y
|
||||
CONFIG_HIST_TRIGGERS=y
|
||||
CONFIG_TRACE_EVENT_INJECT=y
|
||||
# CONFIG_TRACEPOINT_BENCHMARK is not set
|
||||
@@ -5957,8 +6023,8 @@ CONFIG_EARLY_PRINTK_DBGP=y
|
||||
# CONFIG_DEBUG_TLBFLUSH is not set
|
||||
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
|
||||
# CONFIG_X86_DECODER_SELFTEST is not set
|
||||
CONFIG_IO_DELAY_0X80=y
|
||||
# CONFIG_IO_DELAY_0XED is not set
|
||||
# CONFIG_IO_DELAY_0X80 is not set
|
||||
CONFIG_IO_DELAY_0XED=y
|
||||
# CONFIG_IO_DELAY_UDELAY is not set
|
||||
# CONFIG_IO_DELAY_NONE is not set
|
||||
# CONFIG_DEBUG_BOOT_PARAMS is not set
|
||||
@@ -6010,6 +6076,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
|
||||
# CONFIG_TEST_FIRMWARE is not set
|
||||
# CONFIG_TEST_SYSCTL is not set
|
||||
# CONFIG_CONTEXT_ANALYSIS_TEST is not set
|
||||
# CONFIG_LIVEUPDATE_TEST is not set
|
||||
# CONFIG_TEST_UDELAY is not set
|
||||
# CONFIG_TEST_STATIC_KEYS is not set
|
||||
# CONFIG_TEST_DYNAMIC_DEBUG is not set
|
||||
@@ -6022,6 +6089,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
|
||||
# CONFIG_TEST_FPU is not set
|
||||
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
|
||||
# CONFIG_TEST_OBJPOOL is not set
|
||||
# CONFIG_TEST_KEXEC_HANDOVER is not set
|
||||
CONFIG_ARCH_USE_MEMTEST=y
|
||||
CONFIG_MEMTEST=y
|
||||
# end of Kernel Testing and Coverage
|
||||
|
||||
@@ -21,7 +21,7 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: self-hosted
|
||||
timeout-minutes: 120
|
||||
timeout-minutes: 720
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
@@ -29,6 +29,11 @@ jobs:
|
||||
CCACHE_DIR: /home/opc/ccache
|
||||
|
||||
steps:
|
||||
- name: Clean image workspace
|
||||
# Docker containers write to image/linux-bin/ as root; actions/checkout's
|
||||
# git clean runs as the runner user and skips root-owned files, so stale
|
||||
# .deb / .pkg.tar.zst from prior kernel versions leak into the release.
|
||||
run: sudo rm -rf image
|
||||
- name: Checkout image builder
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
@@ -43,17 +48,15 @@ jobs:
|
||||
bash image/build_image.sh --kernel-only \
|
||||
--distro "$FORMAT" \
|
||||
--patches-ref "$PATCHES_REF"
|
||||
# build_image.sh's --distro all skips the rpm packager, and each
|
||||
# kernel-build call wipes image/linux-bin/. Stash the deb + pkg.tar.zst
|
||||
# from the "all" run before firing the rpm-producing "fedora" run,
|
||||
# then restore so the release ships all three formats.
|
||||
# --distro all skips the rpm packager. Call the packager container
|
||||
# directly against the already-staged kernel (image/linux-bin/staging/)
|
||||
# instead of re-running build_image.sh, which wipes outputs and
|
||||
# rebuilds the kernel — that doubled CI time. This step is ~1 minute.
|
||||
if [ "$FORMAT" = "all" ]; then
|
||||
mkdir -p /tmp/kernel-stash
|
||||
cp image/linux-bin/*.deb image/linux-bin/*.pkg.tar.zst /tmp/kernel-stash/
|
||||
bash image/build_image.sh --kernel-only \
|
||||
--distro fedora \
|
||||
--patches-ref "$PATCHES_REF"
|
||||
cp /tmp/kernel-stash/*.deb /tmp/kernel-stash/*.pkg.tar.zst image/linux-bin/
|
||||
docker build -t ps5-kernel-packager-rpm \
|
||||
-f image/docker/kernel-builder-rpm/Dockerfile image/
|
||||
docker run --rm -v "$PWD/image/linux-bin":/out \
|
||||
ps5-kernel-packager-rpm
|
||||
fi
|
||||
|
||||
- name: Read kernel and patches version
|
||||
|
||||
@@ -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