Merge pull request #298332 from K900/continued-kernel-shenanigans

linux/common-config: more tweaks, some repeated tweaks
This commit is contained in:
K900 2024-03-24 12:47:23 +03:00 committed by GitHub
commit edeff1bd7d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -55,7 +55,7 @@ let
DYNAMIC_DEBUG = yes; DYNAMIC_DEBUG = yes;
DEBUG_STACK_USAGE = no; DEBUG_STACK_USAGE = no;
RCU_TORTURE_TEST = no; RCU_TORTURE_TEST = no;
SCHEDSTATS = no; SCHEDSTATS = yes;
DETECT_HUNG_TASK = yes; DETECT_HUNG_TASK = yes;
CRASH_DUMP = option no; CRASH_DUMP = option no;
# Easier debugging of NFS issues. # Easier debugging of NFS issues.
@ -392,8 +392,8 @@ let
FRAMEBUFFER_CONSOLE_ROTATION = yes; FRAMEBUFFER_CONSOLE_ROTATION = yes;
FRAMEBUFFER_CONSOLE_DETECT_PRIMARY = yes; FRAMEBUFFER_CONSOLE_DETECT_PRIMARY = yes;
FB_GEODE = mkIf (stdenv.hostPlatform.system == "i686-linux") yes; FB_GEODE = mkIf (stdenv.hostPlatform.system == "i686-linux") yes;
# On 5.14 this conflicts with FB_SIMPLE. # Use simplefb on older kernels where we don't have simpledrm (enabled below)
DRM_SIMPLEDRM = whenAtLeast "5.14" no; FB_SIMPLE = whenOlder "5.15" yes;
DRM_FBDEV_EMULATION = yes; DRM_FBDEV_EMULATION = yes;
}; };
@ -409,10 +409,19 @@ let
video = let video = let
whenHasDevicePrivate = mkIf (!stdenv.isx86_32 && versionAtLeast version "5.1"); whenHasDevicePrivate = mkIf (!stdenv.isx86_32 && versionAtLeast version "5.1");
in { in {
# compile in DRM so simpledrm can load before initrd if necessary
AGP = yes;
DRM = yes;
DRM_LEGACY = whenOlder "6.8" no; DRM_LEGACY = whenOlder "6.8" no;
NOUVEAU_LEGACY_CTX_SUPPORT = whenBetween "5.2" "6.3" no; NOUVEAU_LEGACY_CTX_SUPPORT = whenBetween "5.2" "6.3" no;
# Enable simpledrm and use it for generic framebuffer
# Technically added in 5.14, but adding more complex configuration is not worth it
DRM_SIMPLEDRM = whenAtLeast "5.15" yes;
SYSFB_SIMPLEFB = whenAtLeast "5.15" yes;
# Allow specifying custom EDID on the kernel command line # Allow specifying custom EDID on the kernel command line
DRM_LOAD_EDID_FIRMWARE = yes; DRM_LOAD_EDID_FIRMWARE = yes;
VGA_SWITCHEROO = yes; # Hybrid graphics support VGA_SWITCHEROO = yes; # Hybrid graphics support
@ -450,6 +459,7 @@ let
DRM_NOUVEAU_SVM = whenHasDevicePrivate yes; DRM_NOUVEAU_SVM = whenHasDevicePrivate yes;
# Enable HDMI-CEC receiver support # Enable HDMI-CEC receiver support
RC_CORE = yes;
MEDIA_CEC_RC = whenAtLeast "5.10" yes; MEDIA_CEC_RC = whenAtLeast "5.10" yes;
# Enable CEC over DisplayPort # Enable CEC over DisplayPort
@ -1177,11 +1187,6 @@ let
CMA_DEBUGFS = yes; CMA_DEBUGFS = yes;
CMA_SYSFS = yes; CMA_SYSFS = yes;
# Many ARM SBCs hand off a pre-configured framebuffer.
# This always can can be replaced by the actual native driver.
# Keeping it a built-in ensures it will be used if possible.
FB_SIMPLE = yes;
# https://docs.kernel.org/arch/arm/mem_alignment.html # https://docs.kernel.org/arch/arm/mem_alignment.html
# tldr: # tldr:
# when buggy userspace code emits illegal misaligned LDM, STM, # when buggy userspace code emits illegal misaligned LDM, STM,