From 53c0e2e5786d4cea83e37ccb91e7a7b3212ac93a Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 05:39:29 +0000 Subject: [PATCH 01/22] linux (Generic): update to linux-5.6-rc1 --- packages/linux/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index fcd725dd76..a0f68f0e72 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,9 +29,9 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.5.13" - PKG_SHA256="1f3b3614a06bffc9c621c82f98d8ca88c60538a8c6dd77f96f2e7fee310a4ee2" - PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/$PKG_NAME-$PKG_VERSION.tar.xz" + PKG_VERSION="5.6-rc1" + PKG_SHA256="90fe415a663ba182763ba0dd4153caf3aab512bdd5357a9499c7c6dc7fab27c7" + PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; esac From 02e65849bd177650cb675f9ef1c32c6fc527c509 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 06:15:55 +0000 Subject: [PATCH 02/22] linux (Generic): config options for 5.6-rc1 --- projects/Generic/linux/linux.x86_64.conf | 108 +++++++++++++++-------- 1 file changed, 71 insertions(+), 37 deletions(-) diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 8327284567..7fa0d13c94 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 5.5.0-rc3 Kernel Configuration +# Linux/x86_64 5.6.0-rc1 Kernel Configuration # # @@ -14,7 +14,7 @@ CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y # @@ -163,6 +163,7 @@ CONFIG_CGROUP_BPF=y CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y +CONFIG_TIME_NS=y CONFIG_IPC_NS=y # CONFIG_USER_NS is not set CONFIG_PID_NS=y @@ -181,7 +182,8 @@ CONFIG_INITRAMFS_ROOT_GID=0 # CONFIG_RD_XZ is not set # CONFIG_RD_LZO is not set # CONFIG_RD_LZ4 is not set -CONFIG_INITRAMFS_COMPRESSION="" +CONFIG_INITRAMFS_COMPRESSION_NONE=y +CONFIG_BOOT_CONFIG=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y @@ -218,6 +220,7 @@ CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_BPF_SYSCALL=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_RSEQ=y @@ -328,6 +331,8 @@ CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y +CONFIG_IA32_FEAT_CTL=y +CONFIG_X86_VMX_FEATURE_NAMES=y # CONFIG_PROCESSOR_SELECT is not set CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y @@ -399,7 +404,6 @@ CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y # CONFIG_X86_SMAP is not set CONFIG_X86_UMIP=y -# CONFIG_X86_INTEL_MPX is not set CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_X86_INTEL_TSX_MODE_OFF=y # CONFIG_X86_INTEL_TSX_MODE_ON is not set @@ -496,7 +500,6 @@ CONFIG_ACPI_PROCESSOR_AGGREGATOR=y CONFIG_ACPI_THERMAL=y CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_TABLE_UPGRADE=y -# CONFIG_ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD is not set # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_PCI_SLOT is not set CONFIG_ACPI_CONTAINER=y @@ -620,6 +623,7 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_APPLE_PROPERTIES=y # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_EFI_RCI2_TABLE is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set # end of EFI (Extensible Firmware Interface) Support CONFIG_EFI_DEV_PATH_PARSER=y @@ -677,7 +681,8 @@ CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y -CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_MMU_GATHER_TABLE_FREE=y +CONFIG_MMU_GATHER_RCU_TABLE_FREE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -976,6 +981,7 @@ CONFIG_IPV6_FOU=m # CONFIG_IPV6_MROUTE is not set # CONFIG_IPV6_SEG6_LWTUNNEL is not set # CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_MPTCP is not set # CONFIG_NETWORK_SECMARK is not set CONFIG_NET_PTP_CLASSIFY=y # CONFIG_NETWORK_PHY_TIMESTAMPING is not set @@ -1231,6 +1237,7 @@ CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_SCH_HHF is not set # CONFIG_NET_SCH_PIE is not set # CONFIG_NET_SCH_PLUG is not set +# CONFIG_NET_SCH_ETS is not set # CONFIG_NET_SCH_DEFAULT is not set # @@ -1387,6 +1394,7 @@ CONFIG_RFKILL_INPUT=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y CONFIG_FAILOVER=y +CONFIG_ETHTOOL_NETLINK=y CONFIG_HAVE_EBPF_JIT=y # @@ -1527,7 +1535,6 @@ CONFIG_BLK_DEV_RAM_SIZE=16384 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set CONFIG_VIRTIO_BLK=y -# CONFIG_VIRTIO_BLK_SCSI is not set # CONFIG_BLK_DEV_RBD is not set # CONFIG_BLK_DEV_RSXX is not set @@ -1822,6 +1829,8 @@ CONFIG_MII=y CONFIG_NET_CORE=y # CONFIG_BONDING is not set # CONFIG_DUMMY is not set +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set # CONFIG_EQUALIZER is not set # CONFIG_NET_FC is not set # CONFIG_NET_TEAM is not set @@ -2020,6 +2029,7 @@ CONFIG_AMD_PHY=y # CONFIG_BCM87XX_PHY is not set CONFIG_BCM_NET_PHYLIB=y CONFIG_BROADCOM_PHY=y +# CONFIG_BCM84881_PHY is not set # CONFIG_CICADA_PHY is not set # CONFIG_CORTINA_PHY is not set # CONFIG_DAVICOM_PHY is not set @@ -2321,7 +2331,6 @@ CONFIG_USB_NET_RNDIS_WLAN=m # CONFIG_WAN is not set # CONFIG_VMXNET3 is not set # CONFIG_FUJITSU_ES is not set -# CONFIG_THUNDERBOLT_NET is not set # CONFIG_NETDEVSIM is not set CONFIG_NET_FAILOVER=y # CONFIG_ISDN is not set @@ -2594,6 +2603,7 @@ CONFIG_DEVMEM=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set CONFIG_SERIAL_8250_PNP=y +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_FINTEK is not set # CONFIG_SERIAL_8250_CONSOLE is not set CONFIG_SERIAL_8250_DMA=y @@ -2732,7 +2742,6 @@ CONFIG_I2C_DESIGNWARE_BAYTRAIL=y # External I2C/SMBus adapter drivers # # CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_ROBOTFUZZ_OSIF is not set # CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_TINY_USB is not set @@ -2790,6 +2799,7 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_LYNXPOINT=y CONFIG_PINCTRL_INTEL=y CONFIG_PINCTRL_BROXTON=y CONFIG_PINCTRL_CANNONLAKE=y @@ -2815,7 +2825,6 @@ CONFIG_GPIO_SYSFS=y # CONFIG_GPIO_EXAR is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_ICH is not set -# CONFIG_GPIO_LYNXPOINT is not set # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_VX855 is not set # CONFIG_GPIO_XILINX is not set @@ -2912,6 +2921,7 @@ CONFIG_HWMON_VID=y # CONFIG_SENSORS_ADM1026 is not set # CONFIG_SENSORS_ADM1029 is not set # CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM1177 is not set # CONFIG_SENSORS_ADM9240 is not set # CONFIG_SENSORS_ADT7410 is not set # CONFIG_SENSORS_ADT7411 is not set @@ -2927,6 +2937,7 @@ CONFIG_SENSORS_FAM15H_POWER=m # CONFIG_SENSORS_ASB100 is not set # CONFIG_SENSORS_ASPEED is not set # CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DRIVETEMP is not set # CONFIG_SENSORS_DS620 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_DELL_SMM is not set @@ -2959,6 +2970,7 @@ CONFIG_SENSORS_IT87=m # CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_MAX1668 is not set # CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX6621 is not set # CONFIG_SENSORS_MAX6639 is not set # CONFIG_SENSORS_MAX6642 is not set @@ -3204,6 +3216,7 @@ CONFIG_REGULATOR=y # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MP8859 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -3900,10 +3913,7 @@ CONFIG_DRM_AMD_ACP=y # Display Engine Configuration # CONFIG_DRM_AMD_DC=y -CONFIG_DRM_AMD_DC_DCN1_0=y -CONFIG_DRM_AMD_DC_DCN2_0=y -CONFIG_DRM_AMD_DC_DCN2_1=y -CONFIG_DRM_AMD_DC_DSC_SUPPORT=y +CONFIG_DRM_AMD_DC_DCN=y # CONFIG_DRM_AMD_DC_HDCP is not set # CONFIG_DEBUG_KERNEL_DC is not set # end of Display Engine Configuration @@ -4216,7 +4226,7 @@ CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_EXT_CORE=m -CONFIG_SND_HDA_PREALLOC_SIZE=2048 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_INTEL_NHLT=y CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_USB=y @@ -4300,8 +4310,9 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y +# CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set # CONFIG_SND_SOC_INTEL_HASWELL_MACH is not set -# CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH is not set +# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set # CONFIG_SND_SOC_INTEL_BROADWELL_MACH is not set CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m @@ -4463,6 +4474,7 @@ CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_MAX9759 is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set # CONFIG_SND_SOC_NAU8822 is not set @@ -5018,7 +5030,9 @@ CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_ACPI=y # CONFIG_ALTERA_MSGDMA is not set CONFIG_INTEL_IDMA64=m +# CONFIG_INTEL_IDXD is not set CONFIG_INTEL_IOATDMA=m +# CONFIG_PLX_DMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set # CONFIG_QCOM_HIDMA is not set CONFIG_DW_DMAC_CORE=m @@ -5043,6 +5057,7 @@ CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set # CONFIG_DMABUF_SELFTESTS is not set +# CONFIG_DMABUF_HEAPS is not set # end of DMABUF options CONFIG_DCA=m @@ -5122,7 +5137,7 @@ CONFIG_STAGING_MEDIA=y # CONFIG_KPC2000 is not set # CONFIG_USB_WUSB_CBAF is not set # CONFIG_UWB is not set -# CONFIG_EXFAT_FS is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_QLGE is not set # CONFIG_NET_VENDOR_HP is not set # CONFIG_WFX is not set @@ -5189,6 +5204,7 @@ CONFIG_WMI_BMOF=y CONFIG_INTEL_ATOMISP2_PM=y # CONFIG_HUAWEI_WMI is not set # CONFIG_PCENGINES_APU2 is not set +# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set # # Intel Speed Select Technology interface support @@ -5303,6 +5319,7 @@ CONFIG_PCC=y # CONFIG_IPACK_BUS is not set CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_BRCMSTB_RESCAL is not set # CONFIG_RESET_TI_SYSCON is not set # @@ -5312,6 +5329,7 @@ CONFIG_RESET_CONTROLLER=y # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_INTEL_EMMC is not set # end of PHY Subsystem CONFIG_POWERCAP=y @@ -5326,7 +5344,7 @@ CONFIG_INTEL_RAPL=m # end of Performance monitor support CONFIG_RAS=y -CONFIG_THUNDERBOLT=m +# CONFIG_USB4 is not set # # Android @@ -5347,6 +5365,7 @@ CONFIG_NVMEM_SYSFS=y # end of HW tracing support # CONFIG_FPGA is not set +# CONFIG_TEE is not set # CONFIG_UNISYS_VISORBUS is not set # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set @@ -5402,6 +5421,7 @@ CONFIG_F2FS_STAT_FS=y CONFIG_F2FS_CHECK_FS=y # CONFIG_F2FS_IO_TRACE is not set # CONFIG_F2FS_FAULT_INJECTION is not set +# CONFIG_F2FS_FS_COMPRESSION is not set # CONFIG_FS_DAX is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y @@ -5534,6 +5554,7 @@ CONFIG_ROOT_NFS=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_NFSD is not set CONFIG_GRACE_PERIOD=y CONFIG_LOCKD=y @@ -5695,7 +5716,7 @@ CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m # CONFIG_CRYPTO_ECRDSA is not set # CONFIG_CRYPTO_CURVE25519 is not set -# CONFIG_CRYPTO_CURVE25519_X86 is not set +CONFIG_CRYPTO_CURVE25519_X86=m # # Authenticated Encryption with Associated Data @@ -5744,11 +5765,11 @@ CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_XXHASH=y CONFIG_CRYPTO_BLAKE2B=y # CONFIG_CRYPTO_BLAKE2S is not set -# CONFIG_CRYPTO_BLAKE2S_X86 is not set +CONFIG_CRYPTO_BLAKE2S_X86=m # CONFIG_CRYPTO_CRCT10DIF is not set CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_POLY1305_X86_64 is not set +CONFIG_CRYPTO_POLY1305_X86_64=m CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m @@ -5793,7 +5814,7 @@ CONFIG_CRYPTO_DES3_EDE_X86_64=y # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_SALSA20 is not set # CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_CHACHA20_X86_64 is not set +CONFIG_CRYPTO_CHACHA20_X86_64=m # CONFIG_CRYPTO_SEED is not set # CONFIG_CRYPTO_SERPENT is not set # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set @@ -5838,13 +5859,21 @@ CONFIG_CRYPTO_HASH_INFO=y # CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=y -# CONFIG_CRYPTO_LIB_BLAKE2S is not set -# CONFIG_CRYPTO_LIB_CHACHA is not set -# CONFIG_CRYPTO_LIB_CURVE25519 is not set +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m +CONFIG_CRYPTO_LIB_BLAKE2S=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m CONFIG_CRYPTO_LIB_DES=y -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=4 -# CONFIG_CRYPTO_LIB_POLY1305 is not set -# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m CONFIG_CRYPTO_LIB_SHA256=y # CONFIG_CRYPTO_HW is not set CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -5939,10 +5968,12 @@ CONFIG_NLATTR=y CONFIG_CLZ_TAB=y CONFIG_IRQ_POLL=y CONFIG_MPILIB=y +CONFIG_LIBXBC=y CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y CONFIG_HAVE_GENERIC_VDSO=y CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_VDSO_TIME_NS=y CONFIG_FONT_SUPPORT=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y @@ -6016,6 +6047,8 @@ CONFIG_DEBUG_MISC=y # CONFIG_PAGE_POISONING is not set # CONFIG_DEBUG_PAGE_REF is not set # CONFIG_DEBUG_RODATA_TEST is not set +CONFIG_GENERIC_PTDUMP=y +# CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set @@ -6139,19 +6172,25 @@ CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y CONFIG_FTRACE=y +CONFIG_BOOTTIME_TRACING=y CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_STACK_TRACER=y # CONFIG_PREEMPTIRQ_EVENTS is not set CONFIG_IRQSOFF_TRACER=y CONFIG_SCHED_TRACER=y # CONFIG_HWLAT_TRACER is not set +# CONFIG_MMIOTRACE is not set # CONFIG_FTRACE_SYSCALLS is not set CONFIG_TRACER_SNAPSHOT=y CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set # CONFIG_PROFILE_ALL_BRANCHES is not set -CONFIG_STACK_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set @@ -6159,21 +6198,17 @@ CONFIG_KPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y -CONFIG_DYNAMIC_FTRACE=y -CONFIG_DYNAMIC_FTRACE_WITH_REGS=y -CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y -# CONFIG_FUNCTION_PROFILER is not set # CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_MMIOTRACE is not set # CONFIG_HIST_TRIGGERS is not set # CONFIG_TRACE_EVENT_INJECT is not set # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_PREEMPTIRQ_DELAY_TEST is not set -# CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_SAMPLES is not set CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y @@ -6186,7 +6221,6 @@ CONFIG_STRICT_DEVMEM=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y # CONFIG_X86_VERBOSE_BOOTUP is not set # CONFIG_EARLY_PRINTK is not set -# CONFIG_X86_PTDUMP is not set # CONFIG_EFI_PGT_DUMP is not set # CONFIG_DEBUG_WX is not set CONFIG_DOUBLEFAULT=y From b85c4da4596ac54b75ee3468f7b04b2c1c921d11 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sat, 22 Feb 2020 07:23:39 +0000 Subject: [PATCH 03/22] linux (Generic): drop upstream binutils-2.34 compat patch --- ...x-perf-binutils-2.34-incompatability.patch | 132 ------------------ 1 file changed, 132 deletions(-) delete mode 100644 packages/linux/patches/default/linux-999-fix-perf-binutils-2.34-incompatability.patch diff --git a/packages/linux/patches/default/linux-999-fix-perf-binutils-2.34-incompatability.patch b/packages/linux/patches/default/linux-999-fix-perf-binutils-2.34-incompatability.patch deleted file mode 100644 index 526a8169fe..0000000000 --- a/packages/linux/patches/default/linux-999-fix-perf-binutils-2.34-incompatability.patch +++ /dev/null @@ -1,132 +0,0 @@ -From mboxrd@z Thu Jan 1 00:00:00 1970 -Return-Path: -X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on - aws-us-west-2-korg-lkml-1.web.codeaurora.org -X-Spam-Level: -X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, - DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, - HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, - SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no - version=3.4.0 -Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) - by smtp.lore.kernel.org (Postfix) with ESMTP id 15B3FC33CB2 - for ; Tue, 28 Jan 2020 15:29:57 +0000 (UTC) -Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) - by mail.kernel.org (Postfix) with ESMTP id DC2FA207FD - for ; Tue, 28 Jan 2020 15:29:56 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oudfIJtO" -Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand - id S1726687AbgA1P34 (ORCPT - ); - Tue, 28 Jan 2020 10:29:56 -0500 -Received: from mail-pj1-f68.google.com ([209.85.216.68]:52776 "EHLO - mail-pj1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org - with ESMTP id S1725881AbgA1P3z (ORCPT - ); - Tue, 28 Jan 2020 10:29:55 -0500 -Received: by mail-pj1-f68.google.com with SMTP id a6so1139461pjh.2 - for ; Tue, 28 Jan 2020 07:29:54 -0800 (PST) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20161025; - h=from:to:cc:subject:date:message-id:mime-version - :content-transfer-encoding; - bh=gYDQt040okirqe50Lrh3CEKmMOXPeZIYhDIO12JRm+M=; - b=oudfIJtO2XN4XvD+DQ8Ec3GIHqxMMk6ogkt8jzO33dudjAqdner4DPznSzh1Y7XrBd - ezD2ltpelFCHW3JRZgyfZqHAfW3s8KrKPaSSHQbDDQ7OXq3O+jtATKp0lwiThA4nB0uC - BigxCmlYdVAHdBtxBc59/KBRJsff1bIIF2ifAGCQEx7s/wndc9NORpanY5iLzy/VqDpT - Ja69ofWRIG1rsaAVpLA39lPLIkPyHjgG2/lirDlSXtlepON3OBYI/vPcMNV1OVcd5Maf - 8hFcwuDd5SEU+oue9keSK6X4vxGhivjKuT3Hz03+l8HEs3uZw+qK8Vd992Nm4wuWg47y - MbWQ== -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20161025; - h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version - :content-transfer-encoding; - bh=gYDQt040okirqe50Lrh3CEKmMOXPeZIYhDIO12JRm+M=; - b=A+s6wicuBVjcyP6oBJZcS0KkG8ps96rhnWKHa1DiKP6idYSTKnhlUlbHwRDnS45vY3 - EylYoM/iamGhD0lwUkgXn9y092J/xDRX81UC0xAivoh2XSrJ5QMoS26yAlLo+F6U7e97 - uYE2j5To+D+SwSdy78AwCLhcUALkraL7+IKkuLepgQ9CRqslm2ucLbMlsfen4ur6HzGv - hnGYhhI5Vr3RzUX/UYsfwMiT+klZsgtaKiXLiG/N+uKRPVbkfRYAA9jyv5EY9vtZHcMX - erWdta535FrzMEzbh1DSLezGLCbppqrpyRa48xixZSCwty4lZyD/lQ5GiGc2Eb6OBpH5 - yXJA== -X-Gm-Message-State: APjAAAWM554O6B18uKkyZR8xnKm0z5Pkt4u46QfadBN1BW++FYYtNsS/ - If4S1DoJJuqU2CuBGLwTQNk= -X-Google-Smtp-Source: APXvYqwBUq02rMUM31o3VOkfKkq08ooJejdl8gGvivEbHXaXtorSAN7XrAd3mphmADoU5Yi8R+kxTw== -X-Received: by 2002:a17:902:aa0b:: with SMTP id be11mr22410567plb.181.1580225394577; - Tue, 28 Jan 2020 07:29:54 -0800 (PST) -Received: from localhost.localdomain ([149.248.6.217]) - by smtp.gmail.com with ESMTPSA id y6sm20632148pgc.10.2020.01.28.07.29.51 - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Tue, 28 Jan 2020 07:29:54 -0800 (PST) -From: Changbin Du -To: Peter Zijlstra , - Ingo Molnar , - Arnaldo Carvalho de Melo , - Jiri Olsa -Cc: linux-kernel@vger.kernel.org, Changbin Du -Subject: [PATCH] perf: Make perf able to build with latest libbfd -Date: Tue, 28 Jan 2020 23:29:38 +0800 -Message-Id: <20200128152938.31413-1-changbin.du@gmail.com> -X-Mailer: git-send-email 2.24.0 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Sender: linux-kernel-owner@vger.kernel.org -Precedence: bulk -List-ID: -X-Mailing-List: linux-kernel@vger.kernel.org -Archived-At: -List-Archive: -List-Post: - -libbfd has changed the bfd_section_* macros to inline functions -bfd_section_ since 2019-09-18. See below two commits: - o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html - o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html - -This fix make perf able to build with both old and new libbfd. - -Signed-off-by: Changbin Du ---- - tools/perf/util/srcline.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c -index 6ccf6f6d09df..5b7d6c16d33f 100644 ---- a/tools/perf/util/srcline.c -+++ b/tools/perf/util/srcline.c -@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data) - bfd_vma pc, vma; - bfd_size_type size; - struct a2l_data *a2l = data; -+ flagword flags; - - if (a2l->found) - return; - -- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) -+#ifdef bfd_get_section_flags -+ flags = bfd_get_section_flags(abfd, section); -+#else -+ flags = bfd_section_flags(section); -+#endif -+ if ((flags & SEC_ALLOC) == 0) - return; - - pc = a2l->addr; -+#ifdef bfd_get_section_vma - vma = bfd_get_section_vma(abfd, section); -+#else -+ vma = bfd_section_vma(section); -+#endif -+#ifdef bfd_get_section_size - size = bfd_get_section_size(section); -+#else -+ size = bfd_section_size(section); -+#endif - - if (pc < vma || pc >= vma + size) - return; --- -2.24.0 - - From 7af74a28e1ef3a05418120992721a0359704a690 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 10:56:54 +0000 Subject: [PATCH 04/22] RTL8192DU: update to RTL8192DU-68ee70c --- packages/linux-drivers/RTL8192DU/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux-drivers/RTL8192DU/package.mk b/packages/linux-drivers/RTL8192DU/package.mk index 521e671faf..e7f15ad82d 100644 --- a/packages/linux-drivers/RTL8192DU/package.mk +++ b/packages/linux-drivers/RTL8192DU/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="RTL8192DU" -PKG_VERSION="54c95aaa23fe332afaa1ed4aacbb0db43aa3c7dd" -PKG_SHA256="63007fe5a19606303b4666ec54fe48527c9504e136c6e30f5f119a39517115cf" +PKG_VERSION="68ee70c46aeeb81220f5981f62a57916fd896cc8" +PKG_SHA256="f35aa7b832561a9d771cbb92acfe83498de05a985de94ec7acf995d5b244a10a" PKG_LICENSE="GPL" PKG_SITE="https://github.com/lwfinger/rtl8192du" PKG_URL="https://github.com/lwfinger/rtl8192du/archive/$PKG_VERSION.tar.gz" From 6c1c6604baeea79997a657e10333ffd066389551 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 10:57:18 +0000 Subject: [PATCH 05/22] RTL8812AU: update to RTL8812AU-45ea063 --- packages/linux-drivers/RTL8812AU/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux-drivers/RTL8812AU/package.mk b/packages/linux-drivers/RTL8812AU/package.mk index bdc6b9038a..89cae08244 100644 --- a/packages/linux-drivers/RTL8812AU/package.mk +++ b/packages/linux-drivers/RTL8812AU/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="RTL8812AU" -PKG_VERSION="4aaf486f7f758a1b5132552420773780efdf946e" -PKG_SHA256="fa8f55a1998f860c4629c6e5ccc79e01164fbcfd59fb511fd22027962dc2d36a" +PKG_VERSION="45ea063b03846e8a8c9fc04b2f9c2090bbe9b46b" +PKG_SHA256="99e407dac59bab34262f2f2f10db314a733c0644e940d7ed7759f65858db1dd9" PKG_LICENSE="GPL" PKG_SITE="https://github.com/MilhouseVH/RTL8812AU" PKG_URL="https://github.com/MilhouseVH/RTL8812AU/archive/$PKG_VERSION.tar.gz" From 10d19180fe1ccc533237df09bedad532d7a0e047 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 11:04:02 +0000 Subject: [PATCH 06/22] intel_nuc_led: update to intel_nuc_led-6a3850e --- .../linux-drivers/intel_nuc_led/package.mk | 6 +-- .../patches/intel_nuc_led-fix-5.6-rc1.patch | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 packages/linux-drivers/intel_nuc_led/patches/intel_nuc_led-fix-5.6-rc1.patch diff --git a/packages/linux-drivers/intel_nuc_led/package.mk b/packages/linux-drivers/intel_nuc_led/package.mk index eca8137174..1a533152a7 100644 --- a/packages/linux-drivers/intel_nuc_led/package.mk +++ b/packages/linux-drivers/intel_nuc_led/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="intel_nuc_led" -PKG_VERSION="637c07a" -PKG_SHA256="b6c3c6f8a1a306f853f521bd0b6ab3cc876cd10ae8f6d152a72056e93e2866d4" +PKG_VERSION="6a3850eadff554053ca7d95e830a624b28c53670" +PKG_SHA256="14313183b1ef547dcc43cf943695f227bb456b8acd634fe12b4345e471b53b36" PKG_ARCH="x86_64" PKG_LICENSE="GPL" PKG_SITE="https://github.com/milesp20/intel_nuc_led/" @@ -16,7 +16,7 @@ pre_make_target() { } make_target() { - kernel_make KDIR=$(kernel_path) + kernel_make KDIR=$(kernel_path) default } makeinstall_target() { diff --git a/packages/linux-drivers/intel_nuc_led/patches/intel_nuc_led-fix-5.6-rc1.patch b/packages/linux-drivers/intel_nuc_led/patches/intel_nuc_led-fix-5.6-rc1.patch new file mode 100644 index 0000000000..ee7392bb8b --- /dev/null +++ b/packages/linux-drivers/intel_nuc_led/patches/intel_nuc_led-fix-5.6-rc1.patch @@ -0,0 +1,43 @@ +From d8ceac3c27e55c39af6d6956479564682b466980 Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Mon, 10 Feb 2020 11:01:39 +0000 +Subject: [PATCH] fix build with kernel 5.6-rc1 + +--- + nuc_led.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/nuc_led.c b/nuc_led.c +index c975f22..1d9a272 100644 +--- a/nuc_led.c ++++ b/nuc_led.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + MODULE_AUTHOR("Miles Peterson"); + MODULE_DESCRIPTION("Intel NUC LED Control WMI Driver"); +@@ -443,11 +444,18 @@ static ssize_t acpi_proc_read(struct file *filp, char __user *buff, + return ret; + } + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)) ++static struct proc_ops proc_acpi_operations = { ++ .proc_read = acpi_proc_read, ++ .proc_write = acpi_proc_write, ++}; ++#else + static struct file_operations proc_acpi_operations = { + .owner = THIS_MODULE, + .read = acpi_proc_read, + .write = acpi_proc_write, + }; ++#endif + + /* Init & unload */ + static int __init init_nuc_led(void) +-- +2.20.1 + From 23e75fabcc4e3b9565ce7cea9e99a0a6962749aa Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 11:52:02 +0000 Subject: [PATCH 07/22] bcm_sta: fix 5.6-rc1 build --- .../bcm_sta-0300-kernel-5.6-rc1-fix.patch | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 packages/linux-drivers/bcm_sta/patches/bcm_sta-0300-kernel-5.6-rc1-fix.patch diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-0300-kernel-5.6-rc1-fix.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-0300-kernel-5.6-rc1-fix.patch new file mode 100644 index 0000000000..26d4392a85 --- /dev/null +++ b/packages/linux-drivers/bcm_sta/patches/bcm_sta-0300-kernel-5.6-rc1-fix.patch @@ -0,0 +1,101 @@ +From 5224fb9bcb82733be5f7d4e41134578f48399a9b Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Mon, 10 Feb 2020 11:34:46 +0000 +Subject: [PATCH 1/2] proc_create_data: fix 5.6-rc1 + d56c0d45f0e27f814e87a1676b6bdccccbc252e9 + +--- + x86-64/src/wl/sys/wl_linux.c | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +diff --git a/x86-64/src/wl/sys/wl_linux.c b/x86-64/src/wl/sys/wl_linux.c +index 0d05100..cbca645 100644 +--- a/x86-64/src/wl/sys/wl_linux.c ++++ b/x86-64/src/wl/sys/wl_linux.c +@@ -3334,7 +3334,12 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t + return length; + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++static const struct proc_ops wl_pops = { ++ .proc_read = wl_proc_read, ++ .proc_write = wl_proc_write, ++}; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) + static const struct file_operations wl_fops = { + .owner = THIS_MODULE, + .read = wl_proc_read, +@@ -3347,12 +3352,15 @@ wl_reg_proc_entry(wl_info_t *wl) + { + char tmp[32]; + sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit); +-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) +- if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) { +- WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp)); +-#else ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++ if ((wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_pops, wl)) == NULL) { ++ WL_ERROR(("%s: proc_create_data %s failed\n", __FUNCTION__, tmp)); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) + if ((wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_fops, wl)) == NULL) { + WL_ERROR(("%s: proc_create_data %s failed\n", __FUNCTION__, tmp)); ++#else ++ if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) { ++ WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp)); + #endif + ASSERT(0); + return -1; +-- +2.20.1 + + +From 8d32f5792ec56b0088d5b5e3b21d4cbc97389728 Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Mon, 10 Feb 2020 11:46:35 +0000 +Subject: [PATCH 2/2] ioremap_nocache: fix 5.6-rc1 + 6a1000bd27035bba17ede9dc915166276a811edb + +--- + x86-64/src/shared/linux_osl.c | 2 +- + x86-64/src/wl/sys/wl_linux.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/x86-64/src/shared/linux_osl.c b/x86-64/src/shared/linux_osl.c +index 6157d18..8237ec7 100644 +--- a/x86-64/src/shared/linux_osl.c ++++ b/x86-64/src/shared/linux_osl.c +@@ -942,7 +942,7 @@ osl_getcycles(void) + void * + osl_reg_map(uint32 pa, uint size) + { +- return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); ++ return (ioremap((unsigned long)pa, (unsigned long)size)); + } + + void +diff --git a/x86-64/src/wl/sys/wl_linux.c b/x86-64/src/wl/sys/wl_linux.c +index cbca645..4bb0162 100644 +--- a/x86-64/src/wl/sys/wl_linux.c ++++ b/x86-64/src/wl/sys/wl_linux.c +@@ -582,7 +582,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, + } + wl->bcm_bustype = bustype; + +- if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { ++ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { + WL_ERROR(("wl%d: ioremap() failed\n", unit)); + goto fail; + } +@@ -772,7 +772,7 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + if ((val & 0x0000ff00) != 0) + pci_write_config_dword(pdev, 0x40, val & 0xffff00ff); + bar1_size = pci_resource_len(pdev, 2); +- bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), ++ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), + bar1_size); + wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev, + pdev->irq, bar1_addr, bar1_size); +-- +2.20.1 + From 01a4f8ee77e237a412cd953487d25bd9d25a17c1 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 12:30:57 +0000 Subject: [PATCH 08/22] xf86-video-nvidia-legacy: fix 5.6-rc1 build --- ...video-nvidia-legacy-0001-fix-5.6-rc1.patch | 239 ++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch new file mode 100644 index 0000000000..fe8134a8ed --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch @@ -0,0 +1,239 @@ +From 6d84f13411a04e80d0ce78bddcdc3f2fb2047055 Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Mon, 10 Feb 2020 13:19:13 +0000 +Subject: [PATCH 1/3] iomap_nocache: drop _nocache + +--- + kernel/nv-linux.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h +index a1d2c68..37bc9f2 100644 +--- a/kernel/nv-linux.h ++++ b/kernel/nv-linux.h +@@ -690,8 +690,8 @@ extern nv_spinlock_t km_lock; + + #define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \ + { \ +- (ptr) = ioremap_nocache(physaddr, size); \ +- VM_ALLOC_RECORD(ptr, size, "vm_ioremap_nocache"); \ ++ (ptr) = ioremap(physaddr, size); \ ++ VM_ALLOC_RECORD(ptr, size, "vm_ioremap"); \ + } + + #if defined(NV_IOREMAP_CACHE_PRESENT) +-- +2.20.1 + + +From 198b5c13ae1e712aacaf20ecdf99cb7285eedd60 Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Mon, 10 Feb 2020 12:43:26 +0000 +Subject: [PATCH 2/3] proc/fs: fix file_operations -> proc_ops + +--- + kernel/nv-linux.h | 33 +++++++++++++++++++++++++++++++++ + kernel/nv-procfs.c | 20 ++++++++++++++++++++ + 2 files changed, 53 insertions(+) + +diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h +index 37bc9f2..b86156e 100644 +--- a/kernel/nv-linux.h ++++ b/kernel/nv-linux.h +@@ -1971,6 +1971,19 @@ extern NvU32 nv_assign_gpu_count; + }) + #endif + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ ++ ({ \ ++ struct proc_dir_entry *__entry; \ ++ int mode = (S_IFREG | S_IRUGO); \ ++ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \ ++ if (fops->proc_write != 0) \ ++ mode |= S_IWUSR; \ ++ __entry = NV_CREATE_PROC_ENTRY(filename, mode, parent, fops, \ ++ __data); \ ++ __entry; \ ++ }) ++#else + #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ + ({ \ + struct proc_dir_entry *__entry; \ +@@ -1982,6 +1995,7 @@ extern NvU32 nv_assign_gpu_count; + __data); \ + __entry; \ + }) ++#endif + + /* + * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0. +@@ -2023,6 +2037,24 @@ extern NvU32 nv_assign_gpu_count; + remove_proc_entry(entry->name, entry->parent); + #endif + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++#define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ ++ static int nv_procfs_open_##__name( \ ++ struct inode *inode, \ ++ struct file *filep \ ++ ) \ ++ { \ ++ return single_open(filep, nv_procfs_read_##__name, \ ++ NV_PDE_DATA(inode)); \ ++ } \ ++ \ ++ static const struct proc_ops nv_procfs_##__name##_fops = { \ ++ .proc_open = nv_procfs_open_##__name, \ ++ .proc_read = seq_read, \ ++ .proc_lseek = seq_lseek, \ ++ .proc_release = single_release, \ ++ }; ++#else + #define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ + static int nv_procfs_open_##__name( \ + struct inode *inode, \ +@@ -2040,6 +2072,7 @@ extern NvU32 nv_assign_gpu_count; + .llseek = seq_lseek, \ + .release = single_release, \ + }; ++#endif + + #endif /* CONFIG_PROC_FS */ + +diff --git a/kernel/nv-procfs.c b/kernel/nv-procfs.c +index ebca3e8..573f3fa 100644 +--- a/kernel/nv-procfs.c ++++ b/kernel/nv-procfs.c +@@ -409,6 +409,15 @@ done: + return ((status < 0) ? status : (int)count); + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++static struct proc_ops nv_procfs_registry_fops = { ++ .proc_open = nv_procfs_open_registry, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_registry, ++}; ++#else + static struct file_operations nv_procfs_registry_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_registry, +@@ -417,6 +426,7 @@ static struct file_operations nv_procfs_registry_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_registry, + }; ++#endif + + static int + nv_procfs_read_unbind_lock( +@@ -538,6 +548,15 @@ done: + return rc; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++static struct proc_ops nv_procfs_unbind_lock_fops = { ++ .proc_open = nv_procfs_open_unbind_lock, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_unbind_lock, ++}; ++#else + static struct file_operations nv_procfs_unbind_lock_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_unbind_lock, +@@ -546,6 +565,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_unbind_lock, + }; ++#endif + + static int + nv_procfs_read_text_file( +-- +2.20.1 + + +From 2170dee50efc40dc02e946e0ebf908a9603bb335 Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Mon, 10 Feb 2020 21:45:01 +0000 +Subject: [PATCH 3/3] drm/pci: restore drm_legacy_pci_init/exit support in + 5.6-rc1+ + +Credit: Isaak.Aleksandrov +https://devtalk.nvidia.com/default/topic/1071243/linux/patches-for-340-108-and-5-6-rc-need-help-with-driver-init-/post/5427214/#5427214 +--- + kernel/nv-drm.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 53 insertions(+) + +diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c +index 0d1cdbf..7e5c2aa 100644 +--- a/kernel/nv-drm.c ++++ b/kernel/nv-drm.c +@@ -50,6 +50,60 @@ + #if defined(NV_DRM_LEGACY_PCI_INIT_PRESENT) + #define nv_drm_pci_init drm_legacy_pci_init + #define nv_drm_pci_exit drm_legacy_pci_exit ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++int nv_drm_pci_init(struct drm_driver *driver, struct pci_driver *pdriver) ++{ ++ struct pci_dev *pdev = NULL; ++ const struct pci_device_id *pid; ++ int i; ++ ++ DRM_DEBUG("\n"); ++ ++ if (WARN_ON(!(driver->driver_features & DRIVER_LEGACY))) ++ return -EINVAL; ++ ++ /* If not using KMS, fall back to stealth mode manual scanning. */ ++ INIT_LIST_HEAD(&driver->legacy_dev_list); ++ for (i = 0; pdriver->id_table[i].vendor != 0; i++) { ++ pid = &pdriver->id_table[i]; ++ ++ /* Loop around setting up a DRM device for each PCI device ++ * matching our ID and device class. If we had the internal ++ * function that pci_get_subsys and pci_get_class used, we'd ++ * be able to just pass pid in instead of doing a two-stage ++ * thing. ++ */ ++ pdev = NULL; ++ while ((pdev = ++ pci_get_subsys(pid->vendor, pid->device, pid->subvendor, ++ pid->subdevice, pdev)) != NULL) { ++ if ((pdev->class & pid->class_mask) != pid->class) ++ continue; ++ ++ /* stealth mode requires a manual probe */ ++ pci_dev_get(pdev); ++ drm_get_pci_dev(pdev, pid, driver); ++ } ++ } ++ return 0; ++} ++ ++void nv_drm_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver) ++{ ++ struct drm_device *dev, *tmp; ++ DRM_DEBUG("\n"); ++ ++ if (!(driver->driver_features & DRIVER_LEGACY)) { ++ WARN_ON(1); ++ } else { ++ list_for_each_entry_safe(dev, tmp, &driver->legacy_dev_list, ++ legacy_dev_list) { ++ list_del(&dev->legacy_dev_list); ++ drm_put_dev(dev); ++ } ++ } ++ DRM_INFO("Module unloaded\n"); ++} + #else + #define nv_drm_pci_init drm_pci_init + #define nv_drm_pci_exit drm_pci_exit +-- +2.20.1 + From c88a83b8f1c7539fabe1e8e819a4f4d589a01505 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 10 Feb 2020 14:36:48 +0000 Subject: [PATCH 09/22] xf86-video-nvidia: fix 5.6-rc1 build Credit: Isaak I. Aleksandrov, https://gitlab.com/snippets/1937313 --- .../xf86-video-nvidia-0001-fix-5.6-rc1.patch | 336 ++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch new file mode 100644 index 0000000000..faaa3c3eee --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch @@ -0,0 +1,336 @@ +diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h +index e235842..805e525 100644 +--- a/kernel/common/inc/nv-linux.h ++++ b/kernel/common/inc/nv-linux.h +@@ -531,7 +531,11 @@ static inline void *nv_ioremap(NvU64 phys, NvU64 size) + + static inline void *nv_ioremap_nocache(NvU64 phys, NvU64 size) + { ++#if defined(NV_IOREMAP_NOCACHE_PRESENT) + void *ptr = ioremap_nocache(phys, size); ++#else ++ void *ptr = ioremap(phys, size); ++#endif + if (ptr) + NV_MEMDBG_ADD(ptr, size); + return ptr; +diff --git a/kernel/common/inc/nv-procfs.h b/kernel/common/inc/nv-procfs.h +index 8b53f86..4c5aceb 100644 +--- a/kernel/common/inc/nv-procfs.h ++++ b/kernel/common/inc/nv-procfs.h +@@ -28,6 +28,18 @@ + + #define IS_EXERCISE_ERROR_FORWARDING_ENABLED() (EXERCISE_ERROR_FORWARDING) + ++#if defined(NV_HAVE_PROC_OPS) ++#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ ++ ({ \ ++ struct proc_dir_entry *__entry; \ ++ int mode = (S_IFREG | S_IRUGO); \ ++ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \ ++ if (fops->proc_write != 0) \ ++ mode |= S_IWUSR; \ ++ __entry = proc_create_data(filename, mode, parent, fops, __data);\ ++ __entry; \ ++ }) ++#else + #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ + ({ \ + struct proc_dir_entry *__entry; \ +@@ -38,6 +50,7 @@ + __entry = proc_create_data(filename, mode, parent, fops, __data);\ + __entry; \ + }) ++#endif + + /* + * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0. +@@ -77,6 +90,44 @@ + remove_proc_entry(entry->name, entry->parent); + #endif + ++#if defined(NV_HAVE_PROC_OPS) ++#define NV_DEFINE_SINGLE_PROCFS_FILE(name, open_callback, close_callback) \ ++ static int nv_procfs_open_##name( \ ++ struct inode *inode, \ ++ struct file *filep \ ++ ) \ ++ { \ ++ int ret; \ ++ ret = single_open(filep, nv_procfs_read_##name, \ ++ NV_PDE_DATA(inode)); \ ++ if (ret < 0) \ ++ { \ ++ return ret; \ ++ } \ ++ ret = open_callback(); \ ++ if (ret < 0) \ ++ { \ ++ single_release(inode, filep); \ ++ } \ ++ return ret; \ ++ } \ ++ \ ++ static int nv_procfs_release_##name( \ ++ struct inode *inode, \ ++ struct file *filep \ ++ ) \ ++ { \ ++ close_callback(); \ ++ return single_release(inode, filep); \ ++ } \ ++ \ ++ static const struct proc_ops nv_procfs_##name##_fops = { \ ++ .proc_open = nv_procfs_open_##name, \ ++ .proc_read = seq_read, \ ++ .proc_lseek = seq_lseek, \ ++ .proc_release = nv_procfs_release_##name, \ ++ }; ++#else + #define NV_DEFINE_SINGLE_PROCFS_FILE(name, open_callback, close_callback) \ + static int nv_procfs_open_##name( \ + struct inode *inode, \ +@@ -114,6 +165,7 @@ + .llseek = seq_lseek, \ + .release = nv_procfs_release_##name, \ + }; ++#endif + + #endif /* CONFIG_PROC_FS */ + +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index 57d85a4..4902248 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -780,6 +780,22 @@ compile_test() { + compile_check_conftest "$CODE" "NV_IOREMAP_CACHE_PRESENT" "" "functions" + ;; + ++ ioremap_nocache) ++ # ++ # Determine if the ioremap_nocache() function is present. ++ # ++ # Removed by commit 4bdc0d676a64 ("remove ioremap_nocache and ++ # devm_ioremap_nocache") in v5.6 (2020-01-06) ++ # ++ CODE=" ++ #include ++ void conftest_ioremap_nocache(void) { ++ ioremap_nocache(); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_IOREMAP_NOCACHE_PRESENT" "" "functions" ++ ;; ++ + ioremap_wc) + # + # Determine if the ioremap_wc() function is present. +@@ -806,6 +822,16 @@ compile_test() { + compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_HAS_IOCTL" "" "types" + ;; + ++ proc_ops) ++ CODE=" ++ #include ++ int conftest_proc_ops(void) { ++ return offsetof(struct proc_ops, proc_open); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_HAVE_PROC_OPS" "" "types" ++ ;; ++ + sg_alloc_table) + # + # sg_alloc_table_from_pages added by commit efc42bc98058 +diff --git a/kernel/nvidia/nv-procfs.c b/kernel/nvidia/nv-procfs.c +index 064d727..a7308d3 100644 +--- a/kernel/nvidia/nv-procfs.c ++++ b/kernel/nvidia/nv-procfs.c +@@ -452,6 +452,15 @@ done: + return ((status < 0) ? status : (int)count); + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_registry_fops = { ++ .proc_open = nv_procfs_open_registry, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_registry, ++}; ++#else + static struct file_operations nv_procfs_registry_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_registry, +@@ -460,6 +469,7 @@ static struct file_operations nv_procfs_registry_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_registry, + }; ++#endif + + #if defined(CONFIG_PM) + static int +@@ -531,6 +541,15 @@ nv_procfs_open_suspend_depth( + return single_open(file, nv_procfs_show_suspend_depth, NULL); + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_suspend_depth_fops = { ++ .proc_open = nv_procfs_open_suspend_depth, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_suspend_depth, ++ .proc_lseek = seq_lseek, ++ .proc_release = single_release ++}; ++#else + static struct file_operations nv_procfs_suspend_depth_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_suspend_depth, +@@ -539,6 +558,7 @@ static struct file_operations nv_procfs_suspend_depth_fops = { + .llseek = seq_lseek, + .release = single_release + }; ++#endif + + static int + nv_procfs_show_suspend( +@@ -613,6 +633,15 @@ nv_procfs_open_suspend( + return single_open(file, nv_procfs_show_suspend, NULL); + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_suspend_fops = { ++ .proc_open = nv_procfs_open_suspend, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_suspend, ++ .proc_lseek = seq_lseek, ++ .proc_release = single_release ++}; ++#else + static struct file_operations nv_procfs_suspend_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_suspend, +@@ -622,6 +651,7 @@ static struct file_operations nv_procfs_suspend_fops = { + .release = single_release + }; + #endif ++#endif + + /* + * Forwards error to nv_log_error which exposes data to vendor callback +@@ -724,12 +754,20 @@ done: + return status; + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_exercise_error_forwarding_fops = { ++ .proc_open = nv_procfs_open_exercise_error_forwarding, ++ .proc_write = nv_procfs_write_file, ++ .proc_release = nv_procfs_close_exercise_error_forwarding, ++}; ++#else + static struct file_operations nv_procfs_exercise_error_forwarding_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_exercise_error_forwarding, + .write = nv_procfs_write_file, + .release = nv_procfs_close_exercise_error_forwarding, + }; ++#endif + + static int + nv_procfs_read_unbind_lock( +@@ -851,6 +889,15 @@ done: + return rc; + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_unbind_lock_fops = { ++ .proc_open = nv_procfs_open_unbind_lock, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_unbind_lock, ++}; ++#else + static struct file_operations nv_procfs_unbind_lock_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_unbind_lock, +@@ -859,6 +906,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_unbind_lock, + }; ++#endif + + static const char* + numa_status_describe(nv_numa_status_t state) +@@ -1187,6 +1235,22 @@ done: + return retval; + } + ++#if defined(NV_HAVE_PROC_OPS) ++static const struct proc_ops nv_procfs_numa_status_fops = { ++ .proc_open = nv_procfs_open_numa_status, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_numa_status, ++}; ++ ++static const struct proc_ops nv_procfs_offline_pages_fops = { ++ .proc_open = nv_procfs_open_offline_pages, ++ .proc_read = seq_read, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_offline_pages, ++}; ++#else + static const struct file_operations nv_procfs_numa_status_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_numa_status, +@@ -1203,6 +1267,7 @@ static const struct file_operations nv_procfs_offline_pages_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_offline_pages, + }; ++#endif + + static int + nv_procfs_read_text_file( +diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild +index 5ec3e65..2897e31 100644 +--- a/kernel/nvidia/nvidia.Kbuild ++++ b/kernel/nvidia/nvidia.Kbuild +@@ -104,6 +104,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += set_memory_array_uc + NV_CONFTEST_FUNCTION_COMPILE_TESTS += acquire_console_sem + NV_CONFTEST_FUNCTION_COMPILE_TESTS += console_lock + NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_cache ++NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_nocache + NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_wc + NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_walk_namespace + NV_CONFTEST_FUNCTION_COMPILE_TESTS += sg_alloc_table +@@ -150,6 +151,7 @@ NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_swiotlb_dma_ops + NV_CONFTEST_TYPE_COMPILE_TESTS += acpi_op_remove + NV_CONFTEST_TYPE_COMPILE_TESTS += outer_flush_all + NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations ++NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops + NV_CONFTEST_TYPE_COMPILE_TESTS += file_inode + NV_CONFTEST_TYPE_COMPILE_TESTS += kuid_t + NV_CONFTEST_TYPE_COMPILE_TESTS += dma_ops +diff --git a/kernel/nvidia/os-interface.c b/kernel/nvidia/os-interface.c +index 07f1b77..a8f1d85 100644 +--- a/kernel/nvidia/os-interface.c ++++ b/kernel/nvidia/os-interface.c +@@ -477,9 +477,15 @@ NV_STATUS NV_API_CALL os_get_current_time( + + void NV_API_CALL os_get_current_tick(NvU64 *nseconds) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) ++ struct timespec64 ts; ++ ++ jiffies_to_timespec64(jiffies, &ts); ++#else + struct timespec ts; + + jiffies_to_timespec(jiffies, &ts); ++#endif + + *nseconds = ((NvU64)ts.tv_sec * NSEC_PER_SEC + (NvU64)ts.tv_nsec); + } From 8c2ccf33f6c6e6c66144f1a1c1ed871b776baa43 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 17 Feb 2020 21:40:32 +0000 Subject: [PATCH 10/22] linux (Generic): update to linux-5.6-rc2 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index a0f68f0e72..490606ca7f 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,8 +29,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc1" - PKG_SHA256="90fe415a663ba182763ba0dd4153caf3aab512bdd5357a9499c7c6dc7fab27c7" + PKG_VERSION="5.6-rc2" + PKG_SHA256="37cbd2341d7d27188ae2de4c676bf614d1d55b42467e36187189e5b21bd26dac" PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; From fd1a20e0eebf0875412c179bf8841ab8bab6cc9e Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 17 Feb 2020 22:00:18 +0000 Subject: [PATCH 11/22] linux (Generic): config options for 5.6-rc2 --- projects/Generic/linux/linux.x86_64.conf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 7fa0d13c94..2f88c83911 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 5.6.0-rc1 Kernel Configuration +# Linux/x86_64 5.6.0-rc2 Kernel Configuration # # @@ -5968,7 +5968,6 @@ CONFIG_NLATTR=y CONFIG_CLZ_TAB=y CONFIG_IRQ_POLL=y CONFIG_MPILIB=y -CONFIG_LIBXBC=y CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y CONFIG_HAVE_GENERIC_VDSO=y From df53e9c2fae9f1fde8ac8ccd161642890800033a Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 24 Feb 2020 02:28:29 +0000 Subject: [PATCH 12/22] linux (Generic): update to linux-5.6-rc3 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 490606ca7f..f5579d3896 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,8 +29,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc2" - PKG_SHA256="37cbd2341d7d27188ae2de4c676bf614d1d55b42467e36187189e5b21bd26dac" + PKG_VERSION="5.6-rc3" + PKG_SHA256="b37a722be6f70f268977d1b820ef5692f89e43369e19afeacce95d9dd32c46f0" PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; From d94a58604a5f261a495275beaf205f6f18ae14d1 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 25 Feb 2020 12:47:35 +0000 Subject: [PATCH 13/22] xf86-video-nvidia-legacy: fix 5.6-rc3 build https://gitlab.com/snippets/1943779 --- ...video-nvidia-legacy-0001-fix-5.6-rc1.patch | 592 +++++++++++++----- 1 file changed, 420 insertions(+), 172 deletions(-) diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch index fe8134a8ed..eb34358dd2 100644 --- a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch +++ b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-fix-5.6-rc1.patch @@ -1,176 +1,117 @@ -From 6d84f13411a04e80d0ce78bddcdc3f2fb2047055 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 10 Feb 2020 13:19:13 +0000 -Subject: [PATCH 1/3] iomap_nocache: drop _nocache - ---- - kernel/nv-linux.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h -index a1d2c68..37bc9f2 100644 ---- a/kernel/nv-linux.h -+++ b/kernel/nv-linux.h -@@ -690,8 +690,8 @@ extern nv_spinlock_t km_lock; +diff --git a/kernel/Makefile b/kernel/Makefile +index 125a690..a36cc63 100644 +--- a/kernel/Makefile ++++ b/kernel/Makefile +@@ -108,12 +108,14 @@ COMPILE_TESTS = \ + acquire_console_sem \ + console_lock \ + kmem_cache_create \ ++ kmem_cache_create_usercopy \ + outer_flush_all \ + on_each_cpu \ + smp_call_function \ + nvmap_support \ + acpi_evaluate_integer \ + ioremap_cache \ ++ ioremap_nocache \ + ioremap_wc \ + proc_dir_entry \ + INIT_WORK \ +@@ -122,6 +124,7 @@ COMPILE_TESTS = \ + pci_domain_nr \ + pci_dma_mapping_error \ + file_operations \ ++ proc_ops \ + sg_alloc_table \ + sg_init_table \ + pci_get_domain_bus_and_slot \ +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index b7a85f0..83700ad 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -914,6 +914,21 @@ compile_test() { + fi + ;; - #define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \ - { \ -- (ptr) = ioremap_nocache(physaddr, size); \ -- VM_ALLOC_RECORD(ptr, size, "vm_ioremap_nocache"); \ -+ (ptr) = ioremap(physaddr, size); \ -+ VM_ALLOC_RECORD(ptr, size, "vm_ioremap"); \ - } ++ kmem_cache_create_usercopy) ++ # ++ # Determine if the kmem_cache_create_usercopy function exists. ++ # ++ # This function was added by: ++ # 2017-06-10 8eb8284b412906181357c2b0110d879d5af95e52 ++ CODE=" ++ #include ++ void kmem_cache_create_usercopy(void) { ++ kmem_cache_create_usercopy(); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_KMEM_CACHE_CREATE_USERCOPY_PRESENT" "" "functions" ++ ;; ++ + smp_call_function) + # + # Determine if the smp_call_function() function is +@@ -1188,6 +1203,22 @@ compile_test() { + compile_check_conftest "$CODE" "NV_IOREMAP_CACHE_PRESENT" "" "functions" + ;; - #if defined(NV_IOREMAP_CACHE_PRESENT) --- -2.20.1 - - -From 198b5c13ae1e712aacaf20ecdf99cb7285eedd60 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 10 Feb 2020 12:43:26 +0000 -Subject: [PATCH 2/3] proc/fs: fix file_operations -> proc_ops - ---- - kernel/nv-linux.h | 33 +++++++++++++++++++++++++++++++++ - kernel/nv-procfs.c | 20 ++++++++++++++++++++ - 2 files changed, 53 insertions(+) - -diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h -index 37bc9f2..b86156e 100644 ---- a/kernel/nv-linux.h -+++ b/kernel/nv-linux.h -@@ -1971,6 +1971,19 @@ extern NvU32 nv_assign_gpu_count; - }) - #endif ++ ioremap_nocache) ++ # ++ # Determine if the ioremap_nocache() function is present. ++ # ++ # Removed by commit 4bdc0d676a64 ("remove ioremap_nocache and ++ # devm_ioremap_nocache") in v5.6 (2020-01-06) ++ # ++ CODE=" ++ #include ++ void conftest_ioremap_nocache(void) { ++ ioremap_nocache(); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_IOREMAP_NOCACHE_PRESENT" "" "functions" ++ ;; ++ + ioremap_wc) + # + # Determine if the ioremap_wc() function is present. +@@ -1371,6 +1402,16 @@ compile_test() { + compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_HAS_COMPAT_IOCTL" "" "types" + ;; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ -+ ({ \ -+ struct proc_dir_entry *__entry; \ -+ int mode = (S_IFREG | S_IRUGO); \ -+ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \ -+ if (fops->proc_write != 0) \ -+ mode |= S_IWUSR; \ -+ __entry = NV_CREATE_PROC_ENTRY(filename, mode, parent, fops, \ -+ __data); \ -+ __entry; \ -+ }) -+#else - #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ - ({ \ - struct proc_dir_entry *__entry; \ -@@ -1982,6 +1995,7 @@ extern NvU32 nv_assign_gpu_count; - __data); \ - __entry; \ - }) -+#endif - - /* - * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0. -@@ -2023,6 +2037,24 @@ extern NvU32 nv_assign_gpu_count; - remove_proc_entry(entry->name, entry->parent); - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+#define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ -+ static int nv_procfs_open_##__name( \ -+ struct inode *inode, \ -+ struct file *filep \ -+ ) \ -+ { \ -+ return single_open(filep, nv_procfs_read_##__name, \ -+ NV_PDE_DATA(inode)); \ -+ } \ -+ \ -+ static const struct proc_ops nv_procfs_##__name##_fops = { \ -+ .proc_open = nv_procfs_open_##__name, \ -+ .proc_read = seq_read, \ -+ .proc_lseek = seq_lseek, \ -+ .proc_release = single_release, \ -+ }; -+#else - #define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ - static int nv_procfs_open_##__name( \ - struct inode *inode, \ -@@ -2040,6 +2072,7 @@ extern NvU32 nv_assign_gpu_count; - .llseek = seq_lseek, \ - .release = single_release, \ - }; -+#endif - - #endif /* CONFIG_PROC_FS */ - -diff --git a/kernel/nv-procfs.c b/kernel/nv-procfs.c -index ebca3e8..573f3fa 100644 ---- a/kernel/nv-procfs.c -+++ b/kernel/nv-procfs.c -@@ -409,6 +409,15 @@ done: - return ((status < 0) ? status : (int)count); - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+static struct proc_ops nv_procfs_registry_fops = { -+ .proc_open = nv_procfs_open_registry, -+ .proc_read = seq_read, -+ .proc_write = nv_procfs_write_file, -+ .proc_lseek = seq_lseek, -+ .proc_release = nv_procfs_close_registry, -+}; -+#else - static struct file_operations nv_procfs_registry_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_registry, -@@ -417,6 +426,7 @@ static struct file_operations nv_procfs_registry_fops = { - .llseek = seq_lseek, - .release = nv_procfs_close_registry, - }; -+#endif - - static int - nv_procfs_read_unbind_lock( -@@ -538,6 +548,15 @@ done: - return rc; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+static struct proc_ops nv_procfs_unbind_lock_fops = { -+ .proc_open = nv_procfs_open_unbind_lock, -+ .proc_read = seq_read, -+ .proc_write = nv_procfs_write_file, -+ .proc_lseek = seq_lseek, -+ .proc_release = nv_procfs_close_unbind_lock, -+}; -+#else - static struct file_operations nv_procfs_unbind_lock_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_unbind_lock, -@@ -546,6 +565,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = { - .llseek = seq_lseek, - .release = nv_procfs_close_unbind_lock, - }; -+#endif - - static int - nv_procfs_read_text_file( --- -2.20.1 - - -From 2170dee50efc40dc02e946e0ebf908a9603bb335 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 10 Feb 2020 21:45:01 +0000 -Subject: [PATCH 3/3] drm/pci: restore drm_legacy_pci_init/exit support in - 5.6-rc1+ - -Credit: Isaak.Aleksandrov -https://devtalk.nvidia.com/default/topic/1071243/linux/patches-for-340-108-and-5-6-rc-need-help-with-driver-init-/post/5427214/#5427214 ---- - kernel/nv-drm.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 53 insertions(+) - ++ proc_ops) ++ CODE=" ++ #include ++ int conftest_proc_ops(void) { ++ return offsetof(struct proc_ops, proc_open); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_HAVE_PROC_OPS" "" "types" ++ ;; ++ + sg_init_table) + # + # Determine if the sg_init_table() function is present. +diff --git a/kernel/dkms.conf b/kernel/dkms.conf +index 79a02ae..3140f03 100644 +--- a/kernel/dkms.conf ++++ b/kernel/dkms.conf +@@ -1,7 +1,13 @@ ++if [ -x /usr/bin/nproc ]; then ++ num_cpu_cores=$(nproc) ++else ++ num_cpu_cores=1 ++fi ++ + PACKAGE_NAME="nvidia" + PACKAGE_VERSION="340.108" + BUILT_MODULE_NAME[0]="$PACKAGE_NAME" + DEST_MODULE_LOCATION[0]="/kernel/drivers/video" +-MAKE[0]="make module KERNEL_UNAME=${kernelver}" ++MAKE[0]="make -j$num_cpu_cores module KERNEL_UNAME=${kernelver}" + CLEAN="make clean" + AUTOINSTALL="yes" diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c -index 0d1cdbf..7e5c2aa 100644 +index 0d1cdbf..2e4b867 100644 --- a/kernel/nv-drm.c +++ b/kernel/nv-drm.c @@ -50,6 +50,60 @@ @@ -234,6 +175,313 @@ index 0d1cdbf..7e5c2aa 100644 #else #define nv_drm_pci_init drm_pci_init #define nv_drm_pci_exit drm_pci_exit --- -2.20.1 - +diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h +index a1d2c68..83e6433 100644 +--- a/kernel/nv-linux.h ++++ b/kernel/nv-linux.h +@@ -688,11 +688,16 @@ extern nv_spinlock_t km_lock; + VM_ALLOC_RECORD(ptr, size, "vm_ioremap"); \ + } + ++#if defined(NV_IOREMAP_NOCACHE_PRESENT) + #define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \ + { \ + (ptr) = ioremap_nocache(physaddr, size); \ + VM_ALLOC_RECORD(ptr, size, "vm_ioremap_nocache"); \ + } ++#else ++#define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \ ++ NV_IOREMAP(ptr, physaddr, size) ++#endif + + #if defined(NV_IOREMAP_CACHE_PRESENT) + #define NV_IOREMAP_CACHE(ptr, physaddr, size) \ +@@ -774,6 +779,17 @@ extern nv_spinlock_t km_lock; + #error "NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!" + #endif + ++#if defined(NV_KMEM_CACHE_CREATE_USERCOPY_PRESENT) ++#define NV_KMEM_CACHE_CREATE_USERCOPY(kmem_cache, name, type) \ ++ { \ ++ kmem_cache = kmem_cache_create_usercopy(name, sizeof(type), \ ++ 0, 0, 0, sizeof(type), NULL); \ ++ } ++#else ++#define NV_KMEM_CACHE_CREATE_USERCOPY(kmem_cache, name, type) \ ++ NV_KMEM_CACHE_CREATE(kmem_cache, name, type) ++#endif ++ + #define NV_KMEM_CACHE_ALLOC(ptr, kmem_cache, type) \ + { \ + (ptr) = kmem_cache_alloc(kmem_cache, GFP_KERNEL); \ +@@ -1971,6 +1987,19 @@ extern NvU32 nv_assign_gpu_count; + }) + #endif + ++#if defined(NV_HAVE_PROC_OPS) ++#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ ++ ({ \ ++ struct proc_dir_entry *__entry; \ ++ int mode = (S_IFREG | S_IRUGO); \ ++ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \ ++ if (fops->proc_write != 0) \ ++ mode |= S_IWUSR; \ ++ __entry = NV_CREATE_PROC_ENTRY(filename, mode, parent, fops, \ ++ __data); \ ++ __entry; \ ++ }) ++#else + #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ + ({ \ + struct proc_dir_entry *__entry; \ +@@ -1982,6 +2011,7 @@ extern NvU32 nv_assign_gpu_count; + __data); \ + __entry; \ + }) ++#endif + + /* + * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0. +@@ -2023,6 +2053,24 @@ extern NvU32 nv_assign_gpu_count; + remove_proc_entry(entry->name, entry->parent); + #endif + ++#if defined(NV_HAVE_PROC_OPS) ++#define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ ++ static int nv_procfs_open_##__name( \ ++ struct inode *inode, \ ++ struct file *filep \ ++ ) \ ++ { \ ++ return single_open(filep, nv_procfs_read_##__name, \ ++ NV_PDE_DATA(inode)); \ ++ } \ ++ \ ++ static const struct proc_ops nv_procfs_##__name##_fops = { \ ++ .proc_open = nv_procfs_open_##__name, \ ++ .proc_read = seq_read, \ ++ .proc_lseek = seq_lseek, \ ++ .proc_release = single_release, \ ++ }; ++#else + #define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ + static int nv_procfs_open_##__name( \ + struct inode *inode, \ +@@ -2040,6 +2088,7 @@ extern NvU32 nv_assign_gpu_count; + .llseek = seq_lseek, \ + .release = single_release, \ + }; ++#endif + + #endif /* CONFIG_PROC_FS */ + +diff --git a/kernel/nv-procfs.c b/kernel/nv-procfs.c +index ebca3e8..9365c3c 100644 +--- a/kernel/nv-procfs.c ++++ b/kernel/nv-procfs.c +@@ -409,6 +409,15 @@ done: + return ((status < 0) ? status : (int)count); + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_registry_fops = { ++ .proc_open = nv_procfs_open_registry, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_registry, ++}; ++#else + static struct file_operations nv_procfs_registry_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_registry, +@@ -417,6 +426,7 @@ static struct file_operations nv_procfs_registry_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_registry, + }; ++#endif + + static int + nv_procfs_read_unbind_lock( +@@ -538,6 +548,15 @@ done: + return rc; + } + ++#if defined(NV_HAVE_PROC_OPS) ++static struct proc_ops nv_procfs_unbind_lock_fops = { ++ .proc_open = nv_procfs_open_unbind_lock, ++ .proc_read = seq_read, ++ .proc_write = nv_procfs_write_file, ++ .proc_lseek = seq_lseek, ++ .proc_release = nv_procfs_close_unbind_lock, ++}; ++#else + static struct file_operations nv_procfs_unbind_lock_fops = { + .owner = THIS_MODULE, + .open = nv_procfs_open_unbind_lock, +@@ -546,6 +565,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = { + .llseek = seq_lseek, + .release = nv_procfs_close_unbind_lock, + }; ++#endif + + static int + nv_procfs_read_text_file( +diff --git a/kernel/nv-time.h b/kernel/nv-time.h +index a34ceb2..780f8bc 100644 +--- a/kernel/nv-time.h ++++ b/kernel/nv-time.h +@@ -28,7 +28,12 @@ + #include + #endif + +-static inline void nv_gettimeofday(struct timeval *tv) ++struct nv_timeval { ++ __kernel_long_t tv_sec; ++ __kernel_suseconds_t tv_usec; ++}; ++ ++static inline void nv_gettimeofday(struct nv_timeval *tv) + { + #ifdef NV_DO_GETTIMEOFDAY_PRESENT + do_gettimeofday(tv); +@@ -37,7 +42,7 @@ static inline void nv_gettimeofday(struct timeval *tv) + + ktime_get_real_ts64(&now); + +- *tv = (struct timeval) { ++ *tv = (struct nv_timeval) { + .tv_sec = now.tv_sec, + .tv_usec = now.tv_nsec/1000, + }; +diff --git a/kernel/nv.c b/kernel/nv.c +index a167be9..a218f83 100644 +--- a/kernel/nv.c ++++ b/kernel/nv.c +@@ -752,7 +752,7 @@ int __init nvidia_init_module(void) + NV_SPIN_LOCK_INIT(&km_lock); + #endif + +- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t); ++ NV_KMEM_CACHE_CREATE_USERCOPY(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t); + if (nv_stack_t_cache == NULL) + { + nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n"); +diff --git a/kernel/os-interface.c b/kernel/os-interface.c +index 7190b26..0c0dc05 100644 +--- a/kernel/os-interface.c ++++ b/kernel/os-interface.c +@@ -439,7 +439,7 @@ RM_STATUS NV_API_CALL os_get_current_time( + NvU32 *useconds + ) + { +- struct timeval tm; ++ struct nv_timeval tm; + + nv_gettimeofday(&tm); + +@@ -474,7 +474,7 @@ RM_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds) + unsigned long usec; + + #ifdef NV_CHECK_DELAY_ACCURACY +- struct timeval tm1, tm2; ++ struct nv_timeval tm1, tm2; + + nv_gettimeofday(&tm1); + #endif +@@ -514,9 +514,9 @@ RM_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds) + unsigned long MicroSeconds; + unsigned long jiffies; + unsigned long mdelay_safe_msec; +- struct timeval tm_end, tm_aux; ++ struct nv_timeval tm_end, tm_aux; + #ifdef NV_CHECK_DELAY_ACCURACY +- struct timeval tm_start; ++ struct nv_timeval tm_start; + #endif + + nv_gettimeofday(&tm_aux); +diff --git a/kernel/uvm/Makefile b/kernel/uvm/Makefile +index 0cad8ff..043a08d 100644 +--- a/kernel/uvm/Makefile ++++ b/kernel/uvm/Makefile +@@ -207,6 +207,7 @@ ccflags-y += $(EXTRA_CFLAGS) + + RM_MODULE_SYMVERS:= $(RM_OUT_DIR)/Module.symvers + UVM_MODULE_SYMVERS:= $(obj)/Module.symvers ++KBUILD_EXTRA_SYMBOLS:= $(UVM_MODULE_SYMVERS) + + module $(MODULE_NAME).ko: $(UVM_MODULE_SYMVERS) debug_diagnostics_printing + +diff --git a/kernel/uvm/nvidia_uvm_lite.c b/kernel/uvm/nvidia_uvm_lite.c +index 6943e7c..9a7e3b6 100644 +--- a/kernel/uvm/nvidia_uvm_lite.c ++++ b/kernel/uvm/nvidia_uvm_lite.c +@@ -131,8 +131,8 @@ static + RM_STATUS _preexisting_error_on_channel(UvmGpuMigrationTracking *pMigTracker, + UvmCommitRecord *pRecord); + +-static void _set_timeout_in_usec(struct timeval *src, +- struct timeval *result, ++static void _set_timeout_in_usec(struct nv_timeval *src, ++ struct nv_timeval *result, + unsigned long timeoutInUsec) + { + if (!src || !result) +@@ -820,7 +820,13 @@ done: + } + + #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) ++vm_fault_t _fault(struct vm_fault *vmf) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++int _fault(struct vm_fault *vmf) ++#else + int _fault(struct vm_area_struct *vma, struct vm_fault *vmf) ++#endif + { + #if defined(NV_VM_FAULT_HAS_ADDRESS) + unsigned long vaddr = vmf->address; +@@ -828,8 +834,15 @@ int _fault(struct vm_area_struct *vma, struct vm_fault *vmf) + unsigned long vaddr = (unsigned long)vmf->virtual_address; + #endif + struct page *page = NULL; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) ++ vm_fault_t retval; ++#else + int retval; + ++#endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++ struct vm_area_struct *vma = vmf->vma; ++#endif + retval = _fault_common(vma, vaddr, &page, vmf->flags); + + vmf->page = page; +@@ -868,7 +881,13 @@ static struct vm_operations_struct uvmlite_vma_ops = + // it's dealing with anonymous mapping (see handle_pte_fault). + // + #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) ++vm_fault_t _sigbus_fault(struct vm_fault *vmf) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++int _sigbus_fault(struct vm_fault *vmf) ++#else + int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf) ++#endif + { + vmf->page = NULL; + return VM_FAULT_SIGBUS; +@@ -1992,9 +2011,9 @@ void umvlite_destroy_per_process_gpu_resources(UvmGpuUuid *gpuUuidStruct) + static RM_STATUS _check_ecc_errors(UvmGpuMigrationTracking *pMigTracker, + NvBool *pIsEccErrorSet) + { +- struct timeval eccErrorStartTime = {0}; +- struct timeval eccErrorCurrentTime = {0}; +- struct timeval eccTimeout = {0}; ++ struct nv_timeval eccErrorStartTime = {0}; ++ struct nv_timeval eccErrorCurrentTime = {0}; ++ struct nv_timeval eccTimeout = {0}; + NvBool bEccErrorTimeout = NV_FALSE; + NvBool bEccIncomingError = NV_FALSE; + unsigned rmInterruptSet = 0; From 43c75c4ec684f59b937c5a876ed6045d8b0e14e7 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 25 Feb 2020 12:47:19 +0000 Subject: [PATCH 14/22] xf86-video-nvidia: fix 5.6-rc3 build https://gitlab.com/snippets/1937313 --- .../xf86-video-nvidia-0001-fix-5.6-rc1.patch | 224 +++++++++++++++++- 1 file changed, 219 insertions(+), 5 deletions(-) diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch index faaa3c3eee..2cda31845a 100644 --- a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch +++ b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch @@ -98,8 +98,35 @@ index 8b53f86..4c5aceb 100644 #endif /* CONFIG_PROC_FS */ +diff --git a/kernel/common/inc/nv-time.h b/kernel/common/inc/nv-time.h +index 968b873..f03c7b0 100644 +--- a/kernel/common/inc/nv-time.h ++++ b/kernel/common/inc/nv-time.h +@@ -27,7 +27,12 @@ + + #include + +-static inline void nv_gettimeofday(struct timeval *tv) ++struct nv_timeval { ++ __kernel_long_t tv_sec; ++ __kernel_suseconds_t tv_usec; ++}; ++ ++static inline void nv_gettimeofday(struct nv_timeval *tv) + { + #ifdef NV_DO_GETTIMEOFDAY_PRESENT + do_gettimeofday(tv); +@@ -36,7 +41,7 @@ static inline void nv_gettimeofday(struct timeval *tv) + + ktime_get_real_ts64(&now); + +- *tv = (struct timeval) { ++ *tv = (struct nv_timeval) { + .tv_sec = now.tv_sec, + .tv_usec = now.tv_nsec/1000, + }; diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index 57d85a4..4902248 100755 +index 57d85a4..b491aa3 100755 --- a/kernel/conftest.sh +++ b/kernel/conftest.sh @@ -780,6 +780,22 @@ compile_test() { @@ -125,7 +152,7 @@ index 57d85a4..4902248 100755 ioremap_wc) # # Determine if the ioremap_wc() function is present. -@@ -806,6 +822,16 @@ compile_test() { +@@ -806,6 +822,46 @@ compile_test() { compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_HAS_IOCTL" "" "types" ;; @@ -138,10 +165,106 @@ index 57d85a4..4902248 100755 + + compile_check_conftest "$CODE" "NV_HAVE_PROC_OPS" "" "types" + ;; ++ ++ ktime_get_raw_ts64) ++ # ++ # Determine if the ktime_get_raw_ts64() function is present. ++ # ++ CODE=" ++ #include ++ int conftest_ktime_get_raw_ts64(void) { ++ struct timespec64 ts = {0}; ++ ++ ktime_get_raw_ts64(&ts64); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_KTIME_GET_RAW_TS64_PRESENT" "" "functions" ++ ;; ++ ++ ktime_get_real_ts64) ++ # ++ # Determine if the ktime_get_real_ts64() function is present. ++ # ++ CODE=" ++ #include ++ int conftest_ktime_get_raw_ts64(void) { ++ struct timespec64 ts = {0}; ++ ++ ktime_get_real_ts64(&ts64); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions" ++ ;; + sg_alloc_table) # # sg_alloc_table_from_pages added by commit efc42bc98058 +diff --git a/kernel/nvidia-modeset/nvidia-modeset-linux.c b/kernel/nvidia-modeset/nvidia-modeset-linux.c +index 0ca2c7d..8902143 100644 +--- a/kernel/nvidia-modeset/nvidia-modeset-linux.c ++++ b/kernel/nvidia-modeset/nvidia-modeset-linux.c +@@ -266,7 +266,7 @@ void NVKMS_API_CALL nvkms_usleep(NvU64 usec) + + NvU64 NVKMS_API_CALL nvkms_get_usec(void) + { +- struct timeval tv; ++ struct nv_timeval tv; + + nv_gettimeofday(&tv); + +diff --git a/kernel/nvidia-uvm/uvm_linux.h b/kernel/nvidia-uvm/uvm_linux.h +index 661ec55..0d24282 100644 +--- a/kernel/nvidia-uvm/uvm_linux.h ++++ b/kernel/nvidia-uvm/uvm_linux.h +@@ -295,7 +295,16 @@ static inline uint64_t NV_DIV64(uint64_t dividend, uint64_t divisor, uint64_t *r + } + #endif + +-#if defined(CLOCK_MONOTONIC_RAW) ++#if defined(NV_KTIME_GET_RAW_TS64_PRESENT) ++static inline NvU64 NV_GETTIME(void) ++{ ++ struct timespec64 ts; ++ ++ ktime_get_raw_ts64(&ts); ++ ++ return (ts.tv_sec * 1000000000ULL + ts.tv_nsec); ++} ++#elif defined(CLOCK_MONOTONIC_RAW) + /* Return a nanosecond-precise value */ + static inline NvU64 NV_GETTIME(void) + { +@@ -311,7 +320,7 @@ static inline NvU64 NV_GETTIME(void) + * available non-GPL symbols. */ + static inline NvU64 NV_GETTIME(void) + { +- struct timeval tv = {0}; ++ struct nv_timeval tv = {0}; + + nv_gettimeofday(&tv); + +diff --git a/kernel/nvidia/linux_nvswitch.c b/kernel/nvidia/linux_nvswitch.c +index 1d2c1bc..0a0b4e8 100644 +--- a/kernel/nvidia/linux_nvswitch.c ++++ b/kernel/nvidia/linux_nvswitch.c +@@ -1578,10 +1578,17 @@ nvswitch_os_get_platform_time + void + ) + { ++#if defined(NV_KTIME_GET_REAL_TS64_PRESENT) ++ struct timespec64 ts64; ++ ++ ktime_get_real_ts64(&ts64); ++ return ((NvU64)(ts64.tv_sec * NSEC_PER_SEC) + ts64.tv_nsec); ++#else + struct timespec ts; + + getnstimeofday(&ts); + return ((NvU64) timespec_to_ns(&ts)); ++#endif + } + + void diff --git a/kernel/nvidia/nv-procfs.c b/kernel/nvidia/nv-procfs.c index 064d727..a7308d3 100644 --- a/kernel/nvidia/nv-procfs.c @@ -295,7 +418,7 @@ index 064d727..a7308d3 100644 static int nv_procfs_read_text_file( diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild -index 5ec3e65..2897e31 100644 +index 5ec3e65..56f9b3e 100644 --- a/kernel/nvidia/nvidia.Kbuild +++ b/kernel/nvidia/nvidia.Kbuild @@ -104,6 +104,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += set_memory_array_uc @@ -306,18 +429,79 @@ index 5ec3e65..2897e31 100644 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_wc NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_walk_namespace NV_CONFTEST_FUNCTION_COMPILE_TESTS += sg_alloc_table -@@ -150,6 +151,7 @@ NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_swiotlb_dma_ops +@@ -150,6 +151,9 @@ NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_swiotlb_dma_ops NV_CONFTEST_TYPE_COMPILE_TESTS += acpi_op_remove NV_CONFTEST_TYPE_COMPILE_TESTS += outer_flush_all NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations +NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops ++NV_CONFTEST_TYPE_COMPILE_TESTS += ktime_get_raw_ts64 ++NV_CONFTEST_TYPE_COMPILE_TESTS += ktime_get_real_ts64 NV_CONFTEST_TYPE_COMPILE_TESTS += file_inode NV_CONFTEST_TYPE_COMPILE_TESTS += kuid_t NV_CONFTEST_TYPE_COMPILE_TESTS += dma_ops +diff --git a/kernel/nvidia/nvlink_linux.c b/kernel/nvidia/nvlink_linux.c +index c84b36a..54fe244 100644 +--- a/kernel/nvidia/nvlink_linux.c ++++ b/kernel/nvidia/nvlink_linux.c +@@ -513,8 +513,8 @@ int NVLINK_API_CALL nvlink_memcmp(const void *s1, const void *s2, NvLength size) + + static NvBool nv_timer_less_than + ( +- const struct timeval *a, +- const struct timeval *b ++ const struct nv_timeval *a, ++ const struct nv_timeval *b + ) + { + return (a->tv_sec == b->tv_sec) ? (a->tv_usec < b->tv_usec) +@@ -523,9 +523,9 @@ static NvBool nv_timer_less_than + + static void nv_timeradd + ( +- const struct timeval *a, +- const struct timeval *b, +- struct timeval *result ++ const struct nv_timeval *a, ++ const struct nv_timeval *b, ++ struct nv_timeval *result + ) + { + result->tv_sec = a->tv_sec + b->tv_sec; +@@ -539,9 +539,9 @@ static void nv_timeradd + + static void nv_timersub + ( +- const struct timeval *a, +- const struct timeval *b, +- struct timeval *result ++ const struct nv_timeval *a, ++ const struct nv_timeval *b, ++ struct nv_timeval *result + ) + { + result->tv_sec = a->tv_sec - b->tv_sec; +@@ -561,7 +561,7 @@ void NVLINK_API_CALL nvlink_sleep(unsigned int ms) + unsigned long us; + unsigned long jiffies; + unsigned long mdelay_safe_msec; +- struct timeval tm_end, tm_aux; ++ struct nv_timeval tm_end, tm_aux; + + nv_gettimeofday(&tm_aux); + diff --git a/kernel/nvidia/os-interface.c b/kernel/nvidia/os-interface.c -index 07f1b77..a8f1d85 100644 +index 07f1b77..239be58 100644 --- a/kernel/nvidia/os-interface.c +++ b/kernel/nvidia/os-interface.c +@@ -463,7 +463,7 @@ NV_STATUS NV_API_CALL os_get_current_time( + NvU32 *useconds + ) + { +- struct timeval tm; ++ struct nv_timeval tm; + + nv_gettimeofday(&tm); + @@ -477,9 +477,15 @@ NV_STATUS NV_API_CALL os_get_current_time( void NV_API_CALL os_get_current_tick(NvU64 *nseconds) @@ -334,3 +518,33 @@ index 07f1b77..a8f1d85 100644 *nseconds = ((NvU64)ts.tv_sec * NSEC_PER_SEC + (NvU64)ts.tv_nsec); } +@@ -549,7 +555,7 @@ NV_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds) + unsigned long usec; + + #ifdef NV_CHECK_DELAY_ACCURACY +- struct timeval tm1, tm2; ++ struct nv_timeval tm1, tm2; + + nv_gettimeofday(&tm1); + #endif +@@ -589,9 +595,9 @@ NV_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds) + unsigned long MicroSeconds; + unsigned long jiffies; + unsigned long mdelay_safe_msec; +- struct timeval tm_end, tm_aux; ++ struct nv_timeval tm_end, tm_aux; + #ifdef NV_CHECK_DELAY_ACCURACY +- struct timeval tm_start; ++ struct nv_timeval tm_start; + #endif + + nv_gettimeofday(&tm_aux); +@@ -1954,7 +1960,7 @@ static NV_STATUS NV_API_CALL _os_ipmi_receive_resp + { + struct ipmi_recv_msg *rx_msg; + int err_no; +- struct timeval tv; ++ struct nv_timeval tv; + NvU64 start_time; + + nv_gettimeofday(&tv); From abc9b8141b6aaf037676e2d882af6314b4fd8ba4 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sat, 29 Feb 2020 23:54:25 +0000 Subject: [PATCH 15/22] xf86-video-nvidia: fix 5.6-rc3 build + 440.64 https://gitlab.com/snippets/1945940 --- .../xf86-video-nvidia-0001-fix-5.6-rc1.patch | 61 +++---------------- 1 file changed, 7 insertions(+), 54 deletions(-) diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch index 2cda31845a..1fc5b31bd8 100644 --- a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch +++ b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-fix-5.6-rc1.patch @@ -1,19 +1,3 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index e235842..805e525 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -531,7 +531,11 @@ static inline void *nv_ioremap(NvU64 phys, NvU64 size) - - static inline void *nv_ioremap_nocache(NvU64 phys, NvU64 size) - { -+#if defined(NV_IOREMAP_NOCACHE_PRESENT) - void *ptr = ioremap_nocache(phys, size); -+#else -+ void *ptr = ioremap(phys, size); -+#endif - if (ptr) - NV_MEMDBG_ADD(ptr, size); - return ptr; diff --git a/kernel/common/inc/nv-procfs.h b/kernel/common/inc/nv-procfs.h index 8b53f86..4c5aceb 100644 --- a/kernel/common/inc/nv-procfs.h @@ -126,33 +110,10 @@ index 968b873..f03c7b0 100644 .tv_usec = now.tv_nsec/1000, }; diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index 57d85a4..b491aa3 100755 +index 57d85a4..4eb703f 100755 --- a/kernel/conftest.sh +++ b/kernel/conftest.sh -@@ -780,6 +780,22 @@ compile_test() { - compile_check_conftest "$CODE" "NV_IOREMAP_CACHE_PRESENT" "" "functions" - ;; - -+ ioremap_nocache) -+ # -+ # Determine if the ioremap_nocache() function is present. -+ # -+ # Removed by commit 4bdc0d676a64 ("remove ioremap_nocache and -+ # devm_ioremap_nocache") in v5.6 (2020-01-06) -+ # -+ CODE=" -+ #include -+ void conftest_ioremap_nocache(void) { -+ ioremap_nocache(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_IOREMAP_NOCACHE_PRESENT" "" "functions" -+ ;; -+ - ioremap_wc) - # - # Determine if the ioremap_wc() function is present. -@@ -806,6 +822,46 @@ compile_test() { +@@ -806,6 +806,46 @@ compile_test() { compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_HAS_IOCTL" "" "types" ;; @@ -213,10 +174,10 @@ index 0ca2c7d..8902143 100644 nv_gettimeofday(&tv); diff --git a/kernel/nvidia-uvm/uvm_linux.h b/kernel/nvidia-uvm/uvm_linux.h -index 661ec55..0d24282 100644 +index 30a9dea..1a20eff 100644 --- a/kernel/nvidia-uvm/uvm_linux.h +++ b/kernel/nvidia-uvm/uvm_linux.h -@@ -295,7 +295,16 @@ static inline uint64_t NV_DIV64(uint64_t dividend, uint64_t divisor, uint64_t *r +@@ -301,7 +301,16 @@ static inline uint64_t NV_DIV64(uint64_t dividend, uint64_t divisor, uint64_t *r } #endif @@ -234,7 +195,7 @@ index 661ec55..0d24282 100644 /* Return a nanosecond-precise value */ static inline NvU64 NV_GETTIME(void) { -@@ -311,7 +320,7 @@ static inline NvU64 NV_GETTIME(void) +@@ -317,7 +326,7 @@ static inline NvU64 NV_GETTIME(void) * available non-GPL symbols. */ static inline NvU64 NV_GETTIME(void) { @@ -418,18 +379,10 @@ index 064d727..a7308d3 100644 static int nv_procfs_read_text_file( diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild -index 5ec3e65..56f9b3e 100644 +index 5ec3e65..339a757 100644 --- a/kernel/nvidia/nvidia.Kbuild +++ b/kernel/nvidia/nvidia.Kbuild -@@ -104,6 +104,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += set_memory_array_uc - NV_CONFTEST_FUNCTION_COMPILE_TESTS += acquire_console_sem - NV_CONFTEST_FUNCTION_COMPILE_TESTS += console_lock - NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_cache -+NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_nocache - NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_wc - NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_walk_namespace - NV_CONFTEST_FUNCTION_COMPILE_TESTS += sg_alloc_table -@@ -150,6 +151,9 @@ NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_swiotlb_dma_ops +@@ -150,6 +150,9 @@ NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_swiotlb_dma_ops NV_CONFTEST_TYPE_COMPILE_TESTS += acpi_op_remove NV_CONFTEST_TYPE_COMPILE_TESTS += outer_flush_all NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations From 84d566b998c5957ddd4c23a27f601597d393fe96 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 2 Mar 2020 10:11:35 +0000 Subject: [PATCH 16/22] linux (Generic): update to linux-5.6-rc4 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index f5579d3896..d875976120 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,8 +29,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc3" - PKG_SHA256="b37a722be6f70f268977d1b820ef5692f89e43369e19afeacce95d9dd32c46f0" + PKG_VERSION="5.6-rc4" + PKG_SHA256="5246e3effa35675e647366ea613dfb08844274653d4e95ff69b56303a879e037" PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; From f342df6667e3d22f965fe64f239cc69dc574fa68 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 9 Mar 2020 08:41:42 +0000 Subject: [PATCH 17/22] linux (Generic): update to linux-5.6-rc5 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index d875976120..73fbdabd56 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,8 +29,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc4" - PKG_SHA256="5246e3effa35675e647366ea613dfb08844274653d4e95ff69b56303a879e037" + PKG_VERSION="5.6-rc5" + PKG_SHA256="19724240b49466f85dbef60807ca9ee8bd2bbcd7c606ad32d43bb91c76e3447b" PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; From ce4a4ecacca46d932f73c071e8b110fe77af312e Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sun, 15 Mar 2020 22:45:20 +0000 Subject: [PATCH 18/22] linux (Generic): update to linux-5.6-rc6 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 73fbdabd56..f2f121022d 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,8 +29,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc5" - PKG_SHA256="19724240b49466f85dbef60807ca9ee8bd2bbcd7c606ad32d43bb91c76e3447b" + PKG_VERSION="5.6-rc6" + PKG_SHA256="d37d25c7de5dc40a7cd6823fff57c7fc5fe098563b195b3708acd577e5e40248" PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; From d3d4153224fbd5263adb6c9d9286713489e3c90f Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 23 Mar 2020 02:23:20 +0000 Subject: [PATCH 19/22] linux (Generic): update to linux-5.6-rc7 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index f2f121022d..9369ed48c7 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,8 +29,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc6" - PKG_SHA256="d37d25c7de5dc40a7cd6823fff57c7fc5fe098563b195b3708acd577e5e40248" + PKG_VERSION="5.6-rc7" + PKG_SHA256="d18c846ef07a699561d3884a34f10941aed4e079c5f2a6fc151e9c54dd8d6373" PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_PATCH_DIRS="default" ;; From d9ae11183e03a8d14fa44538d5b92c8d2356977d Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 30 Mar 2020 03:29:55 +0100 Subject: [PATCH 20/22] linux (Generic): update to linux-5.6 --- packages/linux/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 9369ed48c7..504bf30d16 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -29,9 +29,9 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; *) - PKG_VERSION="5.6-rc7" - PKG_SHA256="d18c846ef07a699561d3884a34f10941aed4e079c5f2a6fc151e9c54dd8d6373" - PKG_URL="https://git.kernel.org/torvalds/t/$PKG_NAME-$PKG_VERSION.tar.gz" + PKG_VERSION="5.6" + PKG_SHA256="e342b04a2aa63808ea0ef1baab28fc520bd031ef8cf93d9ee4a31d4058fcb622" + PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; esac From 72a21de70fc12ad9738fef6711c7a11af2fb2a97 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 30 Mar 2020 15:48:51 +0100 Subject: [PATCH 21/22] linux (default): fix iwlwifi in 5.6 --- .../default/linux-999-5.6-iwlwifi-fix.patch | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 packages/linux/patches/default/linux-999-5.6-iwlwifi-fix.patch diff --git a/packages/linux/patches/default/linux-999-5.6-iwlwifi-fix.patch b/packages/linux/patches/default/linux-999-5.6-iwlwifi-fix.patch new file mode 100644 index 0000000000..1b7de3ab6e --- /dev/null +++ b/packages/linux/patches/default/linux-999-5.6-iwlwifi-fix.patch @@ -0,0 +1,35 @@ +From be8c827f50a0bcd56361b31ada11dc0a3c2fd240 Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Sun, 29 Mar 2020 22:50:06 +0200 +Subject: mac80211: fix authentication with iwlwifi/mvm + +The original patch didn't copy the ieee80211_is_data() condition +because on most drivers the management frames don't go through +this path. However, they do on iwlwifi/mvm, so we do need to keep +the condition here. + +Cc: stable@vger.kernel.org +Fixes: ce2e1ca70307 ("mac80211: Check port authorization in the ieee80211_tx_dequeue() case") +Signed-off-by: Johannes Berg +Signed-off-by: David S. Miller +--- + net/mac80211/tx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index d9cca6dbd870..efe4c1fc68e5 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -3610,7 +3610,8 @@ begin: + * Drop unicast frames to unauthorised stations unless they are + * EAPOL frames from the local station. + */ +- if (unlikely(!ieee80211_vif_is_mesh(&tx.sdata->vif) && ++ if (unlikely(ieee80211_is_data(hdr->frame_control) && ++ !ieee80211_vif_is_mesh(&tx.sdata->vif) && + tx.sdata->vif.type != NL80211_IFTYPE_OCB && + !is_multicast_ether_addr(hdr->addr1) && + !test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) && +-- +cgit 1.2-0.3.lf.el7 + From 97b12ad4a4f82d28c1ba1ad6c9c318e286cdad60 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 31 Mar 2020 16:21:39 +0100 Subject: [PATCH 22/22] wireguard-linux-compat: update to wireguard-linux-compat-v1.0.20200330 --- packages/network/wireguard-linux-compat/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/network/wireguard-linux-compat/package.mk b/packages/network/wireguard-linux-compat/package.mk index 05a22db928..f4b1e968bf 100644 --- a/packages/network/wireguard-linux-compat/package.mk +++ b/packages/network/wireguard-linux-compat/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="wireguard-linux-compat" -PKG_VERSION="v0.0.20200215" -PKG_SHA256="0ae4d63e93e94a8953209c547416d84470816d152cdb8df4f36f3169cf3f43a6" +PKG_VERSION="v1.0.20200330" +PKG_SHA256="eb39820e1898b268653178fc05a101e6ace25b00a6cc89f9cb03ef77cb1cc23e" PKG_LICENSE="GPLv2" PKG_SITE="https://www.wireguard.com" PKG_URL="https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-$PKG_VERSION.tar.xz"