diff options
| -rw-r--r-- | 0004-btrfs-Fix-500-2000-performance-regression-w-5.10.patch (renamed from 0005-btrfs-Fix-500-2000-performance-regression-w-5.10.patch) | 0 | ||||
| -rw-r--r-- | 0004-drm-amd-display-Add-get_dig_frontend-implementation-for-DCEx.patch | 111 | ||||
| -rw-r--r-- | 0005-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch (renamed from 0006-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch) | 0 | ||||
| -rw-r--r-- | 0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch | 36 | ||||
| -rw-r--r-- | 0007-Revert-drm-amd-display-Fix-memory-leaks-in-S3-resume.patch | 40 | ||||
| -rw-r--r-- | PKGBUILD | 35 | ||||
| -rw-r--r-- | config | 14 | 
7 files changed, 97 insertions, 139 deletions
diff --git a/0005-btrfs-Fix-500-2000-performance-regression-w-5.10.patch b/0004-btrfs-Fix-500-2000-performance-regression-w-5.10.patch index 088a340..088a340 100644 --- a/0005-btrfs-Fix-500-2000-performance-regression-w-5.10.patch +++ b/0004-btrfs-Fix-500-2000-performance-regression-w-5.10.patch diff --git a/0004-drm-amd-display-Add-get_dig_frontend-implementation-for-DCEx.patch b/0004-drm-amd-display-Add-get_dig_frontend-implementation-for-DCEx.patch deleted file mode 100644 index a64902d..0000000 --- a/0004-drm-amd-display-Add-get_dig_frontend-implementation-for-DCEx.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 39136f88e40628ff112fa5efd035e7707750d1a9 Mon Sep 17 00:00:00 2001 -From: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> -Date: Tue, 15 Dec 2020 10:33:34 -0500 -Subject: drm/amd/display: Add get_dig_frontend implementation for DCEx - -Some old ASICs might not implement/require get_dig_frontend helper; in -this scenario, we can have a NULL pointer exception when we try to call -it inside vbios disable operation. For example, this situation might -happen when using Polaris12 with an eDP panel. This commit avoids this -situation by adding a specific get_dig_frontend implementation for DCEx. - -Cc: Alex Deucher <alexander.deucher@amd.com> -Cc: Borislav Petkov <bp@alien8.de> -Cc: Harry Wentland <Harry.Wentland@amd.com> -Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com> -Cc: Chiawen Huang <chiawen.huang@amd.com> -Reported-and-tested-by: Borislav Petkov <bp@suse.de> -Acked-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> -Cc: stable@vger.kernel.org ---- - .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c  | 44 +++++++++++++++++++++- - .../gpu/drm/amd/display/dc/dce/dce_link_encoder.h  |  2 + - 2 files changed, 44 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c b/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c -index b409f6b2bfd8..56bc401536c5 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c -+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c -@@ -119,7 +119,8 @@ static const struct link_encoder_funcs dce110_lnk_enc_funcs = { - 	.disable_hpd = dce110_link_encoder_disable_hpd, - 	.is_dig_enabled = dce110_is_dig_enabled, - 	.destroy = dce110_link_encoder_destroy, --	.get_max_link_cap = dce110_link_encoder_get_max_link_cap -+	.get_max_link_cap = dce110_link_encoder_get_max_link_cap, -+	.get_dig_frontend = dce110_get_dig_frontend - }; -  - static enum bp_result link_transmitter_control( -@@ -235,6 +236,44 @@ static void set_link_training_complete( -  - } -  -+unsigned int dce110_get_dig_frontend(struct link_encoder *enc) -+{ -+	struct dce110_link_encoder *enc110 = TO_DCE110_LINK_ENC(enc); -+	u32 value; -+	enum engine_id result; -+ -+	REG_GET(DIG_BE_CNTL, DIG_FE_SOURCE_SELECT, &value); -+ -+	switch (value) { -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGA: -+		result = ENGINE_ID_DIGA; -+		break; -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGB: -+		result = ENGINE_ID_DIGB; -+		break; -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGC: -+		result = ENGINE_ID_DIGC; -+		break; -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGD: -+		result = ENGINE_ID_DIGD; -+		break; -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGE: -+		result = ENGINE_ID_DIGE; -+		break; -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGF: -+		result = ENGINE_ID_DIGF; -+		break; -+	case DCE110_DIG_FE_SOURCE_SELECT_DIGG: -+		result = ENGINE_ID_DIGG; -+		break; -+	default: -+		// invalid source select DIG -+		result = ENGINE_ID_UNKNOWN; -+	} -+ -+	return result; -+} -+ - void dce110_link_encoder_set_dp_phy_pattern_training_pattern( - 	struct link_encoder *enc, - 	uint32_t index) -@@ -1665,7 +1704,8 @@ static const struct link_encoder_funcs dce60_lnk_enc_funcs = { - 	.disable_hpd = dce110_link_encoder_disable_hpd, - 	.is_dig_enabled = dce110_is_dig_enabled, - 	.destroy = dce110_link_encoder_destroy, --	.get_max_link_cap = dce110_link_encoder_get_max_link_cap -+	.get_max_link_cap = dce110_link_encoder_get_max_link_cap, -+	.get_dig_frontend = dce110_get_dig_frontend - }; -  - void dce60_link_encoder_construct( -diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h b/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h -index cb714a48b171..fc6ade824c23 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h -+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h -@@ -295,6 +295,8 @@ void dce110_link_encoder_connect_dig_be_to_fe( - 	enum engine_id engine, - 	bool connect); -  -+unsigned int dce110_get_dig_frontend(struct link_encoder *enc); -+ - void dce110_link_encoder_set_dp_phy_pattern_training_pattern( - 	struct link_encoder *enc, - 	uint32_t index); ---  -cgit v1.2.3-1-gf6bb5 - diff --git a/0006-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch b/0005-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch index 2a46e8c..2a46e8c 100644 --- a/0006-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch +++ b/0005-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch diff --git a/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch b/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch new file mode 100644 index 0000000..8de04e9 --- /dev/null +++ b/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch @@ -0,0 +1,36 @@ +From 3d5c5fdcee0f9a94deb0472e594706018b00aa31 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Fri, 1 Jan 2021 09:38:52 +0100 +Subject: ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable() + +The silent_stream_disable() function introduced by the commit +b1a5039759cb ("ALSA: hda/hdmi: fix silent stream for first playback to +DP") takes the per_pin->lock mutex, but it unlocks the wrong one, +spec->pcm_lock, which causes a deadlock.  This patch corrects it. + +Fixes: b1a5039759cb ("ALSA: hda/hdmi: fix silent stream for first playback to DP") +Reported-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org> +Cc: <stable@vger.kernel.org> +Acked-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Link: https://lore.kernel.org/r/20210101083852.12094-1-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + sound/pci/hda/patch_hdmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index 1e4a4b83fbf6f..74d246a0dc6de 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -1733,7 +1733,7 @@ static void silent_stream_disable(struct hda_codec *codec, + 	per_pin->silent_stream = false; +  +  unlock_out: +-	mutex_unlock(&spec->pcm_lock); ++	mutex_unlock(&per_pin->lock); + } +  + /* update ELD and jack state via audio component */ +--  +cgit 1.2.3-1.el7 + diff --git a/0007-Revert-drm-amd-display-Fix-memory-leaks-in-S3-resume.patch b/0007-Revert-drm-amd-display-Fix-memory-leaks-in-S3-resume.patch new file mode 100644 index 0000000..0d0381f --- /dev/null +++ b/0007-Revert-drm-amd-display-Fix-memory-leaks-in-S3-resume.patch @@ -0,0 +1,40 @@ +From a70000cd95f7d55a8df0a7f5e0ed41c5656a0f53 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexdeucher@gmail.com> +Date: Tue, 5 Jan 2021 11:45:45 -0500 +Subject: Revert "drm/amd/display: Fix memory leaks in S3 resume" + +This reverts commit a135a1b4c4db1f3b8cbed9676a40ede39feb3362. + +This leads to blank screens on some boards after replugging a +display.  Revert until we understand the root cause and can +fix both the leak and the blank screen after replug. + +Cc: Stylon Wang <stylon.wang@amd.com> +Cc: Harry Wentland <harry.wentland@amd.com> +Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> +Cc: Andre Tomt <andre@tomt.net> +Cc: Oleksandr Natalenko <oleksandr@natalenko.name> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Cc: stable@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +index 30c6b9edddb5..0f7749e9424d 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -2278,8 +2278,7 @@ void amdgpu_dm_update_connector_after_detect( +  + 			drm_connector_update_edid_property(connector, + 							   aconnector->edid); +-			aconnector->num_modes = drm_add_edid_modes(connector, aconnector->edid); +-			drm_connector_list_update(connector); ++			drm_add_edid_modes(connector, aconnector->edid); +  + 			if (aconnector->dc_link->aux_mode) + 				drm_dp_cec_set_edid(&aconnector->dm_dp_aux.aux, +--  +cgit v1.2.3-1-gf6bb5 + @@ -12,15 +12,15 @@  # Parabola version is 300 Hz  # Parabola version does not disable lockdown eee  # Parabola version does not disable hdcp -# Arch version does not disable IME/PSP/TEE/SEV -# Parabola version does not disable VMware and HyperV +# Parabola version does not disable IME/PSP/TEE/SEV  # Parabola version does not disable insecure filesystems +# Parabola version does not disable VMware and HyperV  _pkgbase=linux-hardened  pkgbase=linux-libre-hardened  _supver=5  _majver=10 -_minver=4 +_minver=5  _hardenedver=a  _gccpatchver='20201113'  _gccpatchger='10.1' @@ -52,9 +52,10 @@ source=(    config         # the main kernel config file    0002-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-unsupported.patch    0003-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_special_driver-list.patch -  0004-drm-amd-display-Add-get_dig_frontend-implementation-for-DCEx.patch -  0005-btrfs-Fix-500-2000-performance-regression-w-5.10.patch -  0006-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch +  0004-btrfs-Fix-500-2000-performance-regression-w-5.10.patch +  0005-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch +  0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch +  0007-Revert-drm-amd-display-Fix-memory-leaks-in-S3-resume.patch    kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz    ath9k-regdom-hack.patch    raid6-default-algo.patch @@ -68,18 +69,19 @@ validpgpkeys=(  )  b2sums=('86103699a6bc906e85429430df098b0ddb7cfc8c887f98b37f994498388d634554e119eadb1b15f591bdf4f463e7efb7420e3e370af0029b7ed9e988a5f26b01'          'SKIP' -        'fc04cb39662435ffd1e44493bd62690dfac28f422984c194c8970ce61cb40cd69a6c054f57f8b9ccfe1a2388f5e71922366454d85b15db850e800fab66810a0c' +        '2789952a07877b9cfca1395b6d6ea247affa01e6570a93b767993e0d1641548214b27c6c763a014aa4a576b0e77f16898d14f7769844374764dac2dc8b60750d'          'SKIP' -        'a282b849812249dc835b72afc09f9d22f684f72a10fd59bb9fb3c07c660bd65d813e5d7b818e7d5ebf8db581ad28c08be38d59add7ba6e9b13a7dcc7fe414cab' +        '07d524ad5cd6470c55f9b3d09939436e8a1649cc142d66ae746d80ae58d09c887519049ee7106e35b3f43ab883d330c1c7a9829d1a913be75ec307f90d181e03'          '92b212fc863b86e795ce4b122372ebe7feae04e31a39b7edcf9f7f25552f936ad1de4b2c7a226feab9d61868a8590550c39c2bd893f4bdabc62a750fab9cc391'          'd8297e09f552a2d6bb24c2ba10481fd2b407057f3b24278e72a89233473460d339c83838791989773623178b5af80588fb4c484da2931f1040e313cce7ceca00' -        '67735bed50180fc9145ea5fb59f8b404eb71d3a356378eddf04cdc29be0f0031d4666bcb2f2e70de3775f3c1859f9e550f083178fb9d6bea8b437d9f0f12c53f'          'b00c189e803e9469cece5906af28f086b10cfb228eec694b95a47625ecbd345a443609349f4fda5b340ef5e9834a41c5cae60400cf8fbdd1c23b6cb24e17dbe3'          '15d9b32ff1ad4c897b097173de259cdb89bbbf6ab0230faf4557eca511a59c1f2c76b85be30d25cf9534f91e1af43e72d072bc82dbf2219eadf772822f573d38' +        'f5cebaad0bc7188a88444ce3b07f80e98414422d2cc18c251698f8694772ed39a4e22b3fe6702aa21dc4764ff727e4fbebafb501e260b52a36c9feef0fe8537a' +        '6db620d44c908f14fec4dd74b345ee2829fff1fad8783deb3c31cc9c4e298c269711dcc478dfd72c72a5d8b36447d6ff892589eb322bf0811810cd861805d3eb'          '7f1eb5938472f57748216bd00e0c875feab99fc1c5cb89babfea467ee30ca5c8e9fc5a691efe2e602bef1ea79820c5383822d7cec354b48d23321ccda8ee8127'          'b6ef77035611139fa9a6d5b8d30570e2781bb4da483bb569884b0bd0129b62e0b82a5a6776fefe43fee801c70d39de1ea4d4c177f7cedd5ac135e3c64f7b895a'          'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a' -        'd72f8660c1233e82a47d6eef9fc0b9cd69366fef7d27bcd8f308f1ece1652717e202a7e531ce8a660e315f7f4d2540c163f65b7c766cba2e8a24971058ec7fc7' +        '32bee208f2692952f3d2d4c9edd312b1d3a6612fa0e041336c81c934e98e59fa5108ebc955482d1b0d9220dd78e74521bd382eb634d15636829783c7f697d7b3'          'SKIP')  export KBUILD_BUILD_HOST=arc4linux @@ -100,9 +102,10 @@ prepare() {    echo "Applying hotfixes"    patch -p1 -i ../0002-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-unsupported.patch    patch -p1 -i ../0003-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_special_driver-list.patch -  patch -p1 -i ../0004-drm-amd-display-Add-get_dig_frontend-implementation-for-DCEx.patch -  patch -p1 -i ../0005-btrfs-Fix-500-2000-performance-regression-w-5.10.patch -  patch -p1 -i ../0006-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch +  patch -p1 -i ../0004-btrfs-Fix-500-2000-performance-regression-w-5.10.patch +  patch -p1 -i ../0005-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch +  patch -p1 -i ../0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch +  patch -p1 -i ../0007-Revert-drm-amd-display-Fix-memory-leaks-in-S3-resume.patch    # linux hardened patch @@ -136,12 +139,12 @@ prepare() {  #  if [ -f ${SRCDEST}/config.libre-hardened.previous ]; then  #    cp ${SRCDEST}/config.libre-hardened.previous .config  #  else -  cp ../config .config +    cp ../config .config  #  fi    make olddefconfig -  #make menuconfig +#  make menuconfig    # Remove sublevel when no sublevel exists    if [ "$_minver" == "0" ]; then @@ -216,7 +219,7 @@ _package-headers() {    # add objtool for external module building and enabled VALIDATION_STACK option    if [[ -e tools/objtool/objtool ]]; then -  install -Dt "$builddir/tools/objtool" tools/objtool/objtool +    install -Dt "$builddir/tools/objtool" tools/objtool/objtool    fi    # add xfs and shmem for aufs building @@ -1,6 +1,6 @@  #  # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.10.4 Kernel Configuration +# Linux/x86 5.10.5 Kernel Configuration  #  CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.0"  CONFIG_CC_IS_GCC=y @@ -255,9 +255,7 @@ CONFIG_BPF_SYSCALL=y  CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y  CONFIG_BPF_JIT_ALWAYS_ON=y  CONFIG_BPF_JIT_DEFAULT_ON=y -CONFIG_USERMODE_DRIVER=y -CONFIG_BPF_PRELOAD=y -CONFIG_BPF_PRELOAD_UMD=y +# CONFIG_BPF_PRELOAD is not set  # CONFIG_USERFAULTFD is not set  CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y  CONFIG_RSEQ=y @@ -4498,7 +4496,6 @@ CONFIG_GPIO_SYSFS=y  CONFIG_GPIO_CDEV=y  CONFIG_GPIO_CDEV_V1=y  CONFIG_GPIO_GENERIC=m -CONFIG_GPIO_REGMAP=m  CONFIG_GPIO_MAX730X=m  # @@ -4559,7 +4556,6 @@ CONFIG_GPIO_MADERA=m  CONFIG_GPIO_MSIC=y  CONFIG_GPIO_PALMAS=y  CONFIG_GPIO_RC5T583=y -CONFIG_GPIO_SL28CPLD=m  CONFIG_GPIO_TPS65086=m  CONFIG_GPIO_TPS6586X=y  CONFIG_GPIO_TPS65910=y @@ -4862,7 +4858,6 @@ CONFIG_SENSORS_UCD9000=m  CONFIG_SENSORS_UCD9200=m  CONFIG_SENSORS_XDPE122=m  CONFIG_SENSORS_ZL6100=m -CONFIG_SENSORS_SL28CPLD=m  CONFIG_SENSORS_SHT15=m  CONFIG_SENSORS_SHT21=m  CONFIG_SENSORS_SHT3x=m @@ -4995,7 +4990,6 @@ CONFIG_XILINX_WATCHDOG=m  CONFIG_ZIIRAVE_WATCHDOG=m  CONFIG_RAVE_SP_WATCHDOG=m  CONFIG_MLX_WDT=m -CONFIG_SL28CPLD_WATCHDOG=m  CONFIG_CADENCE_WATCHDOG=m  CONFIG_DW_WATCHDOG=m  CONFIG_TWL4030_WATCHDOG=m @@ -5153,8 +5147,6 @@ CONFIG_MFD_RT5033=m  CONFIG_MFD_RC5T583=y  CONFIG_MFD_SEC_CORE=y  CONFIG_MFD_SI476X_CORE=m -CONFIG_MFD_SIMPLE_MFD_I2C=m -CONFIG_MFD_SL28CPLD=m  CONFIG_MFD_SM501=m  CONFIG_MFD_SM501_GPIO=y  CONFIG_MFD_SKY81452=m @@ -7221,7 +7213,6 @@ CONFIG_USB_FTDI_ELAN=m  CONFIG_USB_APPLEDISPLAY=m  CONFIG_APPLE_MFI_FASTCHARGE=m  CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y  CONFIG_USB_LD=m  CONFIG_USB_TRANCEVIBRATOR=m  CONFIG_USB_IOWARRIOR=m @@ -8786,7 +8777,6 @@ CONFIG_PWM_LPSS=m  CONFIG_PWM_LPSS_PCI=m  CONFIG_PWM_LPSS_PLATFORM=m  CONFIG_PWM_PCA9685=m -CONFIG_PWM_SL28CPLD=m  CONFIG_PWM_TWL=m  CONFIG_PWM_TWL_LED=m  | 
