diff --git a/linux-tkg-config/6.0/config.x86_64 b/linux-tkg-config/6.0/config.x86_64 index d97f22e..e9709e2 100644 --- a/linux-tkg-config/6.0/config.x86_64 +++ b/linux-tkg-config/6.0/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.0.0-arch1 Kernel Configuration +# Linux/x86 6.0.3-arch2 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y @@ -7596,6 +7596,7 @@ CONFIG_HID_SMARTJOYPLUS=m CONFIG_SMARTJOYPLUS_FF=y CONFIG_HID_TIVO=m CONFIG_HID_TOPSEED=m +CONFIG_HID_TOPRE=m CONFIG_HID_THINGM=m CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y @@ -10374,6 +10375,7 @@ CONFIG_LSM="landlock,lockdown,yama,integrity,bpf" # Memory initialization # CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y # CONFIG_INIT_STACK_NONE is not set # CONFIG_INIT_STACK_ALL_PATTERN is not set @@ -10849,6 +10851,7 @@ CONFIG_DEBUG_KERNEL=y # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y +CONFIG_AS_HAS_NON_CONST_LEB128=y # CONFIG_DEBUG_INFO_NONE is not set # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set diff --git a/linux-tkg-patches/6.0/0012-misc-additions.patch b/linux-tkg-patches/6.0/0012-misc-additions.patch index 2bc1e18..26c875f 100644 --- a/linux-tkg-patches/6.0/0012-misc-additions.patch +++ b/linux-tkg-patches/6.0/0012-misc-additions.patch @@ -522,3 +522,214 @@ index 1fd3cbca20a2..c7bf189d50de 100644 -- 2.25.1 +From fb23dad87a0bfb6fdfde3dc1d18104da631d050a Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Sat, 8 Oct 2022 21:57:51 +0200 +Subject: [PATCH] soundwire: intel: Initialize clock stop timeout + +The bus->clk_stop_timeout member is only initialized to a non-zero value +during the codec driver probe. This can lead to corner cases where this +value remains pegged at zero when the bus suspends, which results in an +endless loop in sdw_bus_wait_for_clk_prep_deprep(). + +Corner cases include configurations with no codecs described in the +firmware, or delays in probing codec drivers. + +Initializing the default timeout to the smallest non-zero value avoid this +problem and allows for the existing logic to be preserved: the +bus->clk_stop_timeout is set as the maximum required by all codecs +connected on the bus. + +Signed-off-by: Sjoerd Simons +--- + drivers/soundwire/intel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c +index af6c1a93372d90..002bc26b525e87 100644 +--- a/drivers/soundwire/intel.c ++++ b/drivers/soundwire/intel.c +@@ -1307,6 +1307,7 @@ static int intel_link_probe(struct auxiliary_device *auxdev, + cdns->msg_count = 0; + + bus->link_id = auxdev->id; ++ bus->clk_stop_timeout = 1; + + sdw_cdns_probe(cdns); + +From 785699dbc7041b99e0027bff27ffe17eba202e96 Mon Sep 17 00:00:00 2001 +From: Arunpravin Paneer Selvam +Date: Tue, 4 Oct 2022 07:33:39 -0700 +Subject: [PATCH] drm/amdgpu: Fix VRAM BO swap issue +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +DRM buddy manager allocates the contiguous memory requests in +a single block or multiple blocks. So for the ttm move operation +(incase of low vram memory) we should consider all the blocks to +compute the total memory size which compared with the struct +ttm_resource num_pages in order to verify that the blocks are +contiguous for the eviction process. + +v2: Added a Fixes tag +v3: Rewrite the code to save a bit of calculations and + variables (Christian) + +Fixes: c9cad937c0c5 ("drm/amdgpu: add drm buddy support to amdgpu") +Signed-off-by: Arunpravin Paneer Selvam +Reviewed-by: Christian König +Signed-off-by: Alex Deucher +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 134575a3893c53..794062ab57fca4 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -424,8 +424,9 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo, + static bool amdgpu_mem_visible(struct amdgpu_device *adev, + struct ttm_resource *mem) + { +- uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT; ++ u64 mem_size = (u64)mem->num_pages << PAGE_SHIFT; + struct amdgpu_res_cursor cursor; ++ u64 end; + + if (mem->mem_type == TTM_PL_SYSTEM || + mem->mem_type == TTM_PL_TT) +@@ -434,12 +435,18 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, + return false; + + amdgpu_res_first(mem, 0, mem_size, &cursor); ++ end = cursor.start + cursor.size; ++ while (cursor.remaining) { ++ amdgpu_res_next(&cursor, cursor.size); + +- /* ttm_resource_ioremap only supports contiguous memory */ +- if (cursor.size != mem_size) +- return false; ++ /* ttm_resource_ioremap only supports contiguous memory */ ++ if (end != cursor.start) ++ return false; ++ ++ end = cursor.start + cursor.size; ++ } + +- return cursor.start + cursor.size <= adev->gmc.visible_vram_size; ++ return end <= adev->gmc.visible_vram_size; + } + + /* +From 6df3912f64cea68409b08d282ffbccf0af7f8d8e Mon Sep 17 00:00:00 2001 +From: Arunpravin Paneer Selvam +Date: Mon, 17 Oct 2022 13:15:21 -0700 +Subject: [PATCH] drm/amdgpu: Fix for BO move issue + +If there are no blocks to compare then exit +the loop. + +Signed-off-by: Arunpravin Paneer Selvam +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 794062ab57fca4..9e6c23266a1a0f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -439,6 +439,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, + while (cursor.remaining) { + amdgpu_res_next(&cursor, cursor.size); + ++ if (!cursor.remaining) ++ break; ++ + /* ttm_resource_ioremap only supports contiguous memory */ + if (end != cursor.start) + return false; + + +From 74ad906a96a249b134a26bb12049ac72c91af977 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sat, 22 Oct 2022 01:48:17 +0200 +Subject: [PATCH 9/9] Revert "ALSA: hda: Fix page fault in + snd_hda_codec_shutdown()" + +This reverts commit 7494e2e6c55ed192f2b91c821fd6832744ba8741. + +This patch depends on others from its series, which were not +backported, causing probing to fail due to missing initialization. + +See: https://github.com/thesofproject/linux/issues/3764 +--- + sound/pci/hda/hda_codec.c | 41 ++++++++++++++++++++------------------- + 1 file changed, 21 insertions(+), 20 deletions(-) + +diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c +index 4ae8b9574..384426d7e 100644 +--- a/sound/pci/hda/hda_codec.c ++++ b/sound/pci/hda/hda_codec.c +@@ -931,28 +931,8 @@ snd_hda_codec_device_init(struct hda_bus *bus, unsigned int codec_addr, + } + + codec->bus = bus; +- codec->depop_delay = -1; +- codec->fixup_id = HDA_FIXUP_ID_NOT_SET; +- codec->core.dev.release = snd_hda_codec_dev_release; +- codec->core.exec_verb = codec_exec_verb; + codec->core.type = HDA_DEV_LEGACY; + +- mutex_init(&codec->spdif_mutex); +- mutex_init(&codec->control_mutex); +- snd_array_init(&codec->mixers, sizeof(struct hda_nid_item), 32); +- snd_array_init(&codec->nids, sizeof(struct hda_nid_item), 32); +- snd_array_init(&codec->init_pins, sizeof(struct hda_pincfg), 16); +- snd_array_init(&codec->driver_pins, sizeof(struct hda_pincfg), 16); +- snd_array_init(&codec->cvt_setups, sizeof(struct hda_cvt_setup), 8); +- snd_array_init(&codec->spdif_out, sizeof(struct hda_spdif_out), 16); +- snd_array_init(&codec->jacktbl, sizeof(struct hda_jack_tbl), 16); +- snd_array_init(&codec->verbs, sizeof(struct hda_verb *), 8); +- INIT_LIST_HEAD(&codec->conn_list); +- INIT_LIST_HEAD(&codec->pcm_list_head); +- INIT_DELAYED_WORK(&codec->jackpoll_work, hda_jackpoll_work); +- refcount_set(&codec->pcm_ref, 1); +- init_waitqueue_head(&codec->remove_sleep); +- + return codec; + } + EXPORT_SYMBOL_GPL(snd_hda_codec_device_init); +@@ -1005,8 +985,29 @@ int snd_hda_codec_device_new(struct hda_bus *bus, struct snd_card *card, + if (snd_BUG_ON(codec_addr > HDA_MAX_CODEC_ADDRESS)) + return -EINVAL; + ++ codec->core.dev.release = snd_hda_codec_dev_release; ++ codec->core.exec_verb = codec_exec_verb; ++ + codec->card = card; + codec->addr = codec_addr; ++ mutex_init(&codec->spdif_mutex); ++ mutex_init(&codec->control_mutex); ++ snd_array_init(&codec->mixers, sizeof(struct hda_nid_item), 32); ++ snd_array_init(&codec->nids, sizeof(struct hda_nid_item), 32); ++ snd_array_init(&codec->init_pins, sizeof(struct hda_pincfg), 16); ++ snd_array_init(&codec->driver_pins, sizeof(struct hda_pincfg), 16); ++ snd_array_init(&codec->cvt_setups, sizeof(struct hda_cvt_setup), 8); ++ snd_array_init(&codec->spdif_out, sizeof(struct hda_spdif_out), 16); ++ snd_array_init(&codec->jacktbl, sizeof(struct hda_jack_tbl), 16); ++ snd_array_init(&codec->verbs, sizeof(struct hda_verb *), 8); ++ INIT_LIST_HEAD(&codec->conn_list); ++ INIT_LIST_HEAD(&codec->pcm_list_head); ++ refcount_set(&codec->pcm_ref, 1); ++ init_waitqueue_head(&codec->remove_sleep); ++ ++ INIT_DELAYED_WORK(&codec->jackpoll_work, hda_jackpoll_work); ++ codec->depop_delay = -1; ++ codec->fixup_id = HDA_FIXUP_ID_NOT_SET; + + #ifdef CONFIG_PM + codec->power_jiffies = jiffies; +-- +2.38.0.rc1.6.g4fd6c5e444 +