diff options
Diffstat (limited to 'SOURCES')
-rw-r--r-- | SOURCES/Patchlist.changelog | 18 | ||||
-rw-r--r-- | SOURCES/amd-gpu-handle-vnc-instances.patch | 66 | ||||
-rw-r--r-- | SOURCES/patch-5.13-redhat.patch | 158 |
3 files changed, 240 insertions, 2 deletions
diff --git a/SOURCES/Patchlist.changelog b/SOURCES/Patchlist.changelog index f58f96b..7411891 100644 --- a/SOURCES/Patchlist.changelog +++ b/SOURCES/Patchlist.changelog @@ -1,3 +1,21 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/478ca6c098cab88b5eaef871822b6a8ab7414235 + 478ca6c098cab88b5eaef871822b6a8ab7414235 bpf: Fix integer overflow involving bucket_size + +https://gitlab.com/cki-project/kernel-ark/-/commit/53c4c6b56f335cb97de78ede2e2f65c5ff90df2c + 53c4c6b56f335cb97de78ede2e2f65c5ff90df2c Fix up backport of Dell XPS 9710 quirk + +https://gitlab.com/cki-project/kernel-ark/-/commit/5b1edaedb12682b832f53893cb9665eafa7f5f5b + 5b1edaedb12682b832f53893cb9665eafa7f5f5b ASoC: Intel: sof_sdw_max98373: remove useless inits + +https://gitlab.com/cki-project/kernel-ark/-/commit/db2bd8b831d66f88d930d067545a2fcc93f5d166 + db2bd8b831d66f88d930d067545a2fcc93f5d166 ASoC: Intel: update sof_pcm512x quirks + +https://gitlab.com/cki-project/kernel-ark/-/commit/8e9c2b31fe9b0ee0a933c3e1944d0694406fda97 + 8e9c2b31fe9b0ee0a933c3e1944d0694406fda97 ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant + +https://gitlab.com/cki-project/kernel-ark/-/commit/4f3a5553af94326cbf4827c05adab57982bcf66f + 4f3a5553af94326cbf4827c05adab57982bcf66f ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 + https://gitlab.com/cki-project/kernel-ark/-/commit/be7c50290184920f63b093f429488cbffff13d8e be7c50290184920f63b093f429488cbffff13d8e drm/i915/dp: Use max params for older panels diff --git a/SOURCES/amd-gpu-handle-vnc-instances.patch b/SOURCES/amd-gpu-handle-vnc-instances.patch new file mode 100644 index 0000000..3d9bf08 --- /dev/null +++ b/SOURCES/amd-gpu-handle-vnc-instances.patch @@ -0,0 +1,66 @@ +From 7cbe08a930a132d84b4cf79953b00b074ec7a2a7 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Mon, 9 Aug 2021 11:22:20 -0400 +Subject: [PATCH] drm/amdgpu: handle VCN instances when harvesting (v2) + +There may be multiple instances and only one is harvested. + +v2: fix typo in commit message + +Fixes: 83a0b8639185 ("drm/amdgpu: add judgement when add ip blocks (v2)") +Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1673 +Reviewed-by: Guchun Chen <guchun.chen@amd.com> +Reviewed-by: James Zhu <James.Zhu@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Cc: stable@vger.kernel.org +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +index 43e7b61d1c5c..ada7bc19118a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +@@ -299,6 +299,9 @@ int amdgpu_discovery_reg_base_init(struct amdgpu_device *adev) + ip->major, ip->minor, + ip->revision); + ++ if (le16_to_cpu(ip->hw_id) == VCN_HWID) ++ adev->vcn.num_vcn_inst++; ++ + for (k = 0; k < num_base_address; k++) { + /* + * convert the endianness of base addresses in place, +@@ -385,7 +388,7 @@ void amdgpu_discovery_harvest_ip(struct amdgpu_device *adev) + { + struct binary_header *bhdr; + struct harvest_table *harvest_info; +- int i; ++ int i, vcn_harvest_count = 0; + + bhdr = (struct binary_header *)adev->mman.discovery_bin; + harvest_info = (struct harvest_table *)(adev->mman.discovery_bin + +@@ -397,8 +400,7 @@ void amdgpu_discovery_harvest_ip(struct amdgpu_device *adev) + + switch (le32_to_cpu(harvest_info->list[i].hw_id)) { + case VCN_HWID: +- adev->harvest_ip_mask |= AMD_HARVEST_IP_VCN_MASK; +- adev->harvest_ip_mask |= AMD_HARVEST_IP_JPEG_MASK; ++ vcn_harvest_count++; + break; + case DMU_HWID: + adev->harvest_ip_mask |= AMD_HARVEST_IP_DMU_MASK; +@@ -407,6 +409,10 @@ void amdgpu_discovery_harvest_ip(struct amdgpu_device *adev) + break; + } + } ++ if (vcn_harvest_count == adev->vcn.num_vcn_inst) { ++ adev->harvest_ip_mask |= AMD_HARVEST_IP_VCN_MASK; ++ adev->harvest_ip_mask |= AMD_HARVEST_IP_JPEG_MASK; ++ } + } + + int amdgpu_discovery_get_gfx_info(struct amdgpu_device *adev) +-- +GitLab + diff --git a/SOURCES/patch-5.13-redhat.patch b/SOURCES/patch-5.13-redhat.patch index bd91791..2e1778e 100644 --- a/SOURCES/patch-5.13-redhat.patch +++ b/SOURCES/patch-5.13-redhat.patch @@ -42,12 +42,18 @@ include/linux/rmi.h | 1 + include/linux/security.h | 5 + init/Kconfig | 2 +- + kernel/bpf/hashtab.c | 4 +- kernel/crash_core.c | 28 +- kernel/module_signing.c | 9 +- security/integrity/platform_certs/load_uefi.c | 6 +- security/lockdown/Kconfig | 13 + security/lockdown/lockdown.c | 1 + security/security.c | 6 + + sound/soc/intel/boards/sof_pcm512x.c | 13 +- + sound/soc/intel/boards/sof_rt5682.c | 14 + + sound/soc/intel/boards/sof_sdw.c | 12 + + sound/soc/intel/boards/sof_sdw_max98373.c | 4 +- + sound/soc/sof/sof-pci-dev.c | 9 + tools/testing/selftests/bpf/Makefile | 1 - tools/testing/selftests/bpf/prog_tests/atomics.c | 246 ---------- .../testing/selftests/bpf/prog_tests/bpf_tcp_ca.c | 280 ----------- @@ -68,7 +74,7 @@ tools/testing/selftests/bpf/progs/linked_vars2.c | 55 --- .../selftests/bpf/progs/test_static_linked1.c | 30 -- .../selftests/bpf/progs/test_static_linked2.c | 31 -- - 70 files changed, 907 insertions(+), 2360 deletions(-) + 76 files changed, 957 insertions(+), 2366 deletions(-) diff --git a/Documentation/admin-guide/kdump/kdump.rst b/Documentation/admin-guide/kdump/kdump.rst index 75a9dd98e76e..3ff3291551f9 100644 @@ -93,7 +99,7 @@ index 75a9dd98e76e..3ff3291551f9 100644 Boot into System Kernel diff --git a/Makefile b/Makefile -index 9d810e13a83f..bbf84537d849 100644 +index 4e9f877f513f..6123e12d63e2 100644 --- a/Makefile +++ b/Makefile @@ -508,6 +508,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE @@ -2155,6 +2161,21 @@ index a61c92066c2e..94107b1d0e3e 100644 select IO_WQ default y help +diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c +index d7ebb12ffffc..49857e8cd6ce 100644 +--- a/kernel/bpf/hashtab.c ++++ b/kernel/bpf/hashtab.c +@@ -1464,8 +1464,8 @@ __htab_map_lookup_and_delete_batch(struct bpf_map *map, + /* We cannot do copy_from_user or copy_to_user inside + * the rcu_read_lock. Allocate enough space here. + */ +- keys = kvmalloc(key_size * bucket_size, GFP_USER | __GFP_NOWARN); +- values = kvmalloc(value_size * bucket_size, GFP_USER | __GFP_NOWARN); ++ keys = kvmalloc_array(key_size, bucket_size, GFP_USER | __GFP_NOWARN); ++ values = kvmalloc_array(value_size, bucket_size, GFP_USER | __GFP_NOWARN); + if (!keys || !values) { + ret = -ENOMEM; + goto after_loop; diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 684a6061a13a..220579c0e963 100644 --- a/kernel/crash_core.c @@ -2318,6 +2339,139 @@ index b38155b2de83..b0a6711b4825 100644 #ifdef CONFIG_PERF_EVENTS int security_perf_event_open(struct perf_event_attr *attr, int type) { +diff --git a/sound/soc/intel/boards/sof_pcm512x.c b/sound/soc/intel/boards/sof_pcm512x.c +index 8620d4f38493..335c212c1961 100644 +--- a/sound/soc/intel/boards/sof_pcm512x.c ++++ b/sound/soc/intel/boards/sof_pcm512x.c +@@ -26,11 +26,16 @@ + + #define SOF_PCM512X_SSP_CODEC(quirk) ((quirk) & GENMASK(3, 0)) + #define SOF_PCM512X_SSP_CODEC_MASK (GENMASK(3, 0)) ++#define SOF_PCM512X_ENABLE_SSP_CAPTURE BIT(4) ++#define SOF_PCM512X_ENABLE_DMIC BIT(5) + + #define IDISP_CODEC_MASK 0x4 + + /* Default: SSP5 */ +-static unsigned long sof_pcm512x_quirk = SOF_PCM512X_SSP_CODEC(5); ++static unsigned long sof_pcm512x_quirk = ++ SOF_PCM512X_SSP_CODEC(5) | ++ SOF_PCM512X_ENABLE_SSP_CAPTURE | ++ SOF_PCM512X_ENABLE_DMIC; + + static bool is_legacy_cpu; + +@@ -245,8 +250,9 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev, + links[id].dpcm_playback = 1; + /* + * capture only supported with specific versions of the Hifiberry DAC+ +- * links[id].dpcm_capture = 1; + */ ++ if (sof_pcm512x_quirk & SOF_PCM512X_ENABLE_SSP_CAPTURE) ++ links[id].dpcm_capture = 1; + links[id].no_pcm = 1; + links[id].cpus = &cpus[id]; + links[id].num_cpus = 1; +@@ -381,6 +387,9 @@ static int sof_audio_probe(struct platform_device *pdev) + + ssp_codec = sof_pcm512x_quirk & SOF_PCM512X_SSP_CODEC_MASK; + ++ if (!(sof_pcm512x_quirk & SOF_PCM512X_ENABLE_DMIC)) ++ dmic_be_num = 0; ++ + /* compute number of dai links */ + sof_audio_card_pcm512x.num_links = 1 + dmic_be_num + hdmi_num; + +diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c +index 78262c659983..f4b25ae7fd5a 100644 +--- a/sound/soc/intel/boards/sof_rt5682.c ++++ b/sound/soc/intel/boards/sof_rt5682.c +@@ -155,6 +155,20 @@ static const struct dmi_system_id sof_rt5682_quirk_table[] = { + SOF_RT5682_SSP_AMP(2) | + SOF_RT5682_NUM_HDMIDEV(4)), + }, ++ { ++ .callback = sof_rt5682_quirk_cb, ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "Alder Lake Client Platform"), ++ DMI_MATCH(DMI_OEM_STRING, "AUDIO-ADL_MAX98373_ALC5682I_I2S"), ++ }, ++ .driver_data = (void *)(SOF_RT5682_MCLK_EN | ++ SOF_RT5682_SSP_CODEC(0) | ++ SOF_SPEAKER_AMP_PRESENT | ++ SOF_MAX98373_SPEAKER_AMP_PRESENT | ++ SOF_RT5682_SSP_AMP(2) | ++ SOF_RT5682_NUM_HDMIDEV(4)), ++ }, + {} + }; + +diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c +index 3ca7e1ab48ab..3635d8002ecf 100644 +--- a/sound/soc/intel/boards/sof_sdw.c ++++ b/sound/soc/intel/boards/sof_sdw.c +@@ -128,6 +128,18 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = { + SOF_RT711_JD_SRC_JD2 | + SOF_RT715_DAI_ID_FIX), + }, ++ { ++ /* Dell XPS 9710 */ ++ .callback = sof_sdw_quirk_cb, ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), ++ DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5D") ++ }, ++ .driver_data = (void *)(SOF_SDW_TGL_HDMI | ++ SOF_RT711_JD_SRC_JD2 | ++ SOF_RT715_DAI_ID_FIX | ++ SOF_SDW_FOUR_SPK), ++ }, + { + .callback = sof_sdw_quirk_cb, + .matches = { +diff --git a/sound/soc/intel/boards/sof_sdw_max98373.c b/sound/soc/intel/boards/sof_sdw_max98373.c +index 25daef910aee..25f9065b627c 100644 +--- a/sound/soc/intel/boards/sof_sdw_max98373.c ++++ b/sound/soc/intel/boards/sof_sdw_max98373.c +@@ -90,7 +90,7 @@ static int mx8373_enable_spk_pin(struct snd_pcm_substream *substream, bool enabl + + static int mx8373_sdw_prepare(struct snd_pcm_substream *substream) + { +- int ret = 0; ++ int ret; + + /* according to soc_pcm_prepare dai link prepare is called first */ + ret = sdw_prepare(substream); +@@ -102,7 +102,7 @@ static int mx8373_sdw_prepare(struct snd_pcm_substream *substream) + + static int mx8373_sdw_hw_free(struct snd_pcm_substream *substream) + { +- int ret = 0; ++ int ret; + + /* according to soc_pcm_hw_free dai link free is called first */ + ret = sdw_hw_free(substream); +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index 3489dc1b48f6..2bdf3cf37422 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -50,6 +50,15 @@ static const struct dmi_system_id sof_tplg_table[] = { + }, + .driver_data = "sof-tgl-rt5682-ssp0-max98373-ssp2.tplg", + }, ++ { ++ .callback = sof_tplg_cb, ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "Alder Lake Client Platform"), ++ DMI_MATCH(DMI_OEM_STRING, "AUDIO-ADL_MAX98373_ALC5682I_I2S"), ++ }, ++ .driver_data = "sof-adl-rt5682-ssp0-max98373-ssp2.tplg", ++ }, + {} + }; + diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index 511259c2c6c5..bd2ca0032883 100644 --- a/tools/testing/selftests/bpf/Makefile |