mailman.alsa-project.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Sound-open-firmware

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
sound-open-firmware@alsa-project.org

January 2023

  • 9 participants
  • 12 discussions
Re: [Sound-open-firmware] Real hardware (boards) on which the SOF runs
by Pierre-Louis Bossart 13 Feb '23

13 Feb '23
On 1/31/23 04:26, Gerion Entrup wrote: > Hi Pierre, > > Am Montag, 30. Januar 2023, 15:55:47 CET schrieb Pierre-Louis Bossart: >> Hi Gerion, >> >> Zephyr support is still very new, if you want to start using it now it >> has to be clear that you'll have to follow the bleeding edge firmware >> development on TigerLake+ devices. All previous platforms will not have >> Zephyr support and have been parked on a long-term XTOS-based support >> branch. > That is good to know. > > >> The only Intel-based devices you can use for you own development are the >> Up Extreme i11 boards or TigerLake+ Chromebooks in developer mode. These >> two sets of devices use the community key and have the DSP configured. > The Extreme i11 boards look promising. > Regarding the Chrombooks: I'm not familiar with these devices. Is it > possible to use them as a "server"? So reboot and connect to them over SSH > while the developer mode stays active? yes, the 'developer mode' is something that you can set once and it can remain on over reboot cycles. It's not that straightforward but it's not the end of the world either. see here two examples of Chromebooks used for SOF CI with a Ubuntu setup and kernel/firmware updated for tests run over SSH. https://sof-ci.01.org/linuxpr/PR4163/build2911/devicetest/index.html?model=… https://sof-ci.01.org/linuxpr/PR4163/build2911/devicetest/index.html?model=… Note that our default test setup relies on a minimal kernel configuration based on 'make defconfig' + scripts to add what we need, see https://github.com/thesofproject/kconfig/blob/master/kconfig-sof-default.sh This may need to be improved with your own configurations depending on what you want to test. Hope this helps. -Pierre
4 3
0 0
Re: [Sound-open-firmware] Real hardware (boards) on which the SOF runs
by Pierre-Louis Bossart 30 Jan '23

30 Jan '23
Hi Gerion, Zephyr support is still very new, if you want to start using it now it has to be clear that you'll have to follow the bleeding edge firmware development on TigerLake+ devices. All previous platforms will not have Zephyr support and have been parked on a long-term XTOS-based support branch. The only Intel-based devices you can use for you own development are the Up Extreme i11 boards or TigerLake+ Chromebooks in developer mode. These two sets of devices use the community key and have the DSP configured. If you want to get access to the Cadence Tensilica compiler, things get complicated as well. Usually this requires an NDA. That means you may need to use GCC with a lower performance to be expected since HiFi3 instructions are not supported by GCC just yet. We should add this information in the 'Getting started' documentation. Hope this helps, -Pierre On 1/30/23 08:22, sound-open-firmware-owner(a)alsa-project.org wrote: > ForwardedMessage.eml > > Subject: > Real hardware (boards) on which the SOF runs > From: > Gerion Entrup <entrup(a)sra.uni-hannover.de> > Date: > 1/30/23, 08:22 > > To: > sound-open-firmware(a)alsa-project.org > > > Hi, > > we are doing operating systems research and think that the SOF is of > great value because of its usage of Zephyr. > > We therefore wanted to get some real hardware where SOF is running on. > However, that it kind of complicated. > We know of some Thinkpads (Intel 12th gen) that are running the SOF. > However, we also have access to another Intel 12th gen desktop PC on > which the vendor seems to have disabled the Intel DSP forever (at least > there is not setting in the BIOS/UEFI). > > Online, we only found the Minnowboard Turbot as a board that has an SOF > enabled DSP. However, the board seems to be discontinued so we cannot > buy it. > > Do you know of some (preferable low budget) boards on which the SOF runs? > Is there some kind of hardware matrix for whole PCs (laptops, single > board PCs) that are supported by the SOF? On the website, I have only > found a list of CPU platforms [1]. > > Best, > Gerion > > > [1] https://thesofproject.github.io/latest/platforms/index.html
1 0
0 0
[Sound-open-firmware] [linux-next:master] BUILD REGRESSION d514392f17fd4d386cfadde7f849d97db4ca1fb0
by kernel test robot 20 Jan '23

20 Jan '23
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master branch HEAD: d514392f17fd4d386cfadde7f849d97db4ca1fb0 Add linux-next specific files for 20230120 Error/Warning reports: https://lore.kernel.org/oe-kbuild-all/202301191616.R33Dvxk4-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202301192229.wL7iPJxS-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202301201120.aIaz7dT4-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202301202042.herfGxx6-lkp@intel.com Error/Warning: (recently discovered and may have been fixed) Documentation/virt/kvm/api.rst:5070: WARNING: Unexpected indentation. drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_dp_training.c:1585:38: warning: variable 'result' set but not used [-Wunused-but-set-variable] drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:5253:24: sparse: left side has type restricted __le16 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:5253:24: sparse: right side has type restricted __le32 idma64.c:(.text+0x6a): undefined reference to `devm_platform_ioremap_resource' Unverified Error/Warning (likely false positive, please contact us if interested): drivers/net/dsa/microchip/ksz_ptp.c:217 ksz_ptp_clock_register() warn: passing zero to 'PTR_ERR' drivers/nvmem/imx-ocotp.c:599:21: sparse: sparse: symbol 'imx_ocotp_layout' was not declared. Should it be static? drivers/nvmem/layouts/sl28vpd.c:143:21: sparse: sparse: symbol 'sl28vpd_layout' was not declared. Should it be static? mm/hugetlb.c:3101 alloc_hugetlb_folio() error: uninitialized symbol 'h_cg'. mm/zsmalloc.c:900:20: warning: unused function 'obj_allocated' [-Wunused-function] sound/soc/sof/sof-audio.c:329 sof_prepare_widgets_in_path() error: we previously assumed 'swidget' could be null (see line 306) Error/Warning ids grouped by kconfigs: gcc_recent_errors |-- alpha-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- arc-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- arm-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- arm-randconfig-s032-20230119 | `-- drivers-nvmem-imx-ocotp.c:sparse:sparse:symbol-imx_ocotp_layout-was-not-declared.-Should-it-be-static |-- arm64-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- csky-randconfig-m041-20230119 | |-- drivers-net-dsa-microchip-ksz_ptp.c-ksz_ptp_clock_register()-warn:passing-zero-to-PTR_ERR | `-- sound-soc-sof-sof-audio.c-sof_prepare_widgets_in_path()-error:we-previously-assumed-swidget-could-be-null-(see-line-) |-- csky-randconfig-r025-20230119 | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- csky-randconfig-s043-20230119 | |-- drivers-net-wireless-realtek-rtl8xxxu-rtl8xxxu_core.c:sparse:left-side-has-type-restricted-__le16 | |-- drivers-net-wireless-realtek-rtl8xxxu-rtl8xxxu_core.c:sparse:right-side-has-type-restricted-__le32 | `-- drivers-net-wireless-realtek-rtl8xxxu-rtl8xxxu_core.c:sparse:sparse:invalid-assignment: |-- i386-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- ia64-allmodconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- ia64-randconfig-c033-20230119 | `-- drivers-net-ethernet-microchip-vcap-vcap_api.c:WARNING-opportunity-for-kmemdup |-- ia64-randconfig-s052-20230119 | `-- drivers-nvmem-imx-ocotp.c:sparse:sparse:symbol-imx_ocotp_layout-was-not-declared.-Should-it-be-static |-- loongarch-randconfig-r024-20230119 | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- loongarch-randconfig-s042-20230119 | `-- drivers-nvmem-layouts-sl28vpd.c:sparse:sparse:symbol-sl28vpd_layout-was-not-declared.-Should-it-be-static |-- m68k-randconfig-c004-20230119 | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- mips-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- openrisc-randconfig-s033-20230119 | `-- drivers-nvmem-imx-ocotp.c:sparse:sparse:symbol-imx_ocotp_layout-was-not-declared.-Should-it-be-static |-- powerpc-allmodconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- riscv-randconfig-s041-20230119 | `-- drivers-nvmem-imx-ocotp.c:sparse:sparse:symbol-imx_ocotp_layout-was-not-declared.-Should-it-be-static |-- s390-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- sparc-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used |-- x86_64-allnoconfig | `-- Documentation-virt-kvm-api.rst:WARNING:Unexpected-indentation. |-- x86_64-allyesconfig | `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_dp_training.c:warning:variable-result-set-but-not-used `-- x86_64-randconfig-m001 clang_recent_errors |-- s390-randconfig-r044-20230119 | `-- idma64.c:(.text):undefined-reference-to-devm_platform_ioremap_resource `-- x86_64-randconfig-a012 `-- mm-zsmalloc.c:warning:unused-function-obj_allocated elapsed time: 882m configs tested: 79 configs skipped: 3 gcc tested configs: x86_64 allnoconfig um i386_defconfig i386 defconfig um x86_64_defconfig x86_64 defconfig x86_64 rhel-8.3 arc defconfig alpha defconfig arm defconfig i386 randconfig-a001 x86_64 rhel-8.3-func m68k allyesconfig x86_64 rhel-8.3-syz x86_64 rhel-8.3-kselftests x86_64 allyesconfig powerpc allnoconfig x86_64 rhel-8.3-kunit ia64 allmodconfig arm randconfig-r046-20230119 x86_64 randconfig-a002 arm allyesconfig arc randconfig-r043-20230119 m68k allmodconfig i386 randconfig-a003 arc allyesconfig arm64 allyesconfig alpha allyesconfig x86_64 rhel-8.3-kvm x86_64 randconfig-a006 i386 randconfig-a005 x86_64 rhel-8.3-bpf x86_64 randconfig-a004 sparc64 alldefconfig riscv allnoconfig sparc sparc32_defconfig m68k hp300_defconfig i386 allyesconfig powerpc mpc85xx_cds_defconfig parisc alldefconfig riscv nommu_virt_defconfig mips bigsur_defconfig arm keystone_defconfig sh secureedge5410_defconfig i386 randconfig-a014 riscv nommu_k210_defconfig s390 defconfig i386 randconfig-a012 x86_64 randconfig-a013 i386 randconfig-a016 riscv rv32_defconfig s390 allmodconfig sh allmodconfig i386 debian-10.3-kselftests x86_64 randconfig-a011 i386 debian-10.3 i386 randconfig-c001 mips allyesconfig x86_64 randconfig-a015 s390 allyesconfig powerpc allmodconfig clang tested configs: x86_64 rhel-8.3-rust x86_64 randconfig-a005 hexagon randconfig-r045-20230119 x86_64 randconfig-a001 i386 randconfig-a002 riscv randconfig-r042-20230119 x86_64 randconfig-a003 hexagon randconfig-r041-20230119 s390 randconfig-r044-20230119 i386 randconfig-a006 x86_64 randconfig-k001 i386 randconfig-a004 arm omap1_defconfig i386 randconfig-a013 i386 randconfig-a011 i386 randconfig-a015 x86_64 randconfig-a016 x86_64 randconfig-a012 x86_64 randconfig-a014 -- 0-DAY CI Kernel Test Service https://01.org/lkp
1 0
0 0
Re: [Sound-open-firmware] [PATCH] ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write()
by Mark Brown 20 Jan '23

20 Jan '23
On Thu, 19 Jan 2023 17:58:54 +0300, Dan Carpenter wrote: > The "id" comes from the user. Change the type to unsigned to prevent > an array underflow. > > Applied to broonie/sound.git for-next Thanks! [1/1] ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write() commit: ea57680af47587397f5005d7758022441ed66d54 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
1 0
0 0
Re: [Sound-open-firmware] [PATCH] ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write()
by Péter Ujfalusi 20 Jan '23

20 Jan '23
On 19/01/2023 16:58, Dan Carpenter wrote: > The "id" comes from the user. Change the type to unsigned to prevent > an array underflow. > > Fixes: f4ea22f7aa75 ("ASoC: SOF: ipc4: Add support for mtrace log extraction") > Signed-off-by: Dan Carpenter <error27(a)gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi(a)linux.intel.com> > --- > sound/soc/sof/ipc4-mtrace.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/sound/soc/sof/ipc4-mtrace.c b/sound/soc/sof/ipc4-mtrace.c > index 70dea8ae706e..0ec6ef681012 100644 > --- a/sound/soc/sof/ipc4-mtrace.c > +++ b/sound/soc/sof/ipc4-mtrace.c > @@ -344,9 +344,10 @@ static ssize_t sof_ipc4_priority_mask_dfs_write(struct file *file, > size_t count, loff_t *ppos) > { > struct sof_mtrace_priv *priv = file->private_data; > - int id, ret; > + unsigned int id; > char *buf; > u32 mask; > + int ret; > > /* > * To update Nth mask entry, write: > @@ -357,9 +358,9 @@ static ssize_t sof_ipc4_priority_mask_dfs_write(struct file *file, > if (IS_ERR(buf)) > return PTR_ERR(buf); > > - ret = sscanf(buf, "%d,0x%x", &id, &mask); > + ret = sscanf(buf, "%u,0x%x", &id, &mask); > if (ret != 2) { > - ret = sscanf(buf, "%d,%x", &id, &mask); > + ret = sscanf(buf, "%u,%x", &id, &mask); > if (ret != 2) { > ret = -EINVAL; > goto out; -- Péter
1 0
0 0
[Sound-open-firmware] [PATCH AUTOSEL 6.1 04/53] ASoC: SOF: Add FW state to debugfs
by Sasha Levin 16 Jan '23

16 Jan '23
From: Curtis Malainey <cujomalainey(a)chromium.org> [ Upstream commit 9a9134fd56f6ba614ff7b2b3b0bac0bf1d0dc0c9 ] Allow system health detection mechanisms to check the FW state, this will allow them to check if the FW is in its "crashed" state going forward to help automatically diagnose driver state. Signed-off-by: Curtis Malainey <cujomalainey(a)chromium.org> Reviewed-by: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi(a)linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi(a)linux.intel.com> Link: https://lore.kernel.org/r/20221220125629.8469-4-peter.ujfalusi@linux.intel.… Signed-off-by: Mark Brown <broonie(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> --- sound/soc/sof/debug.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sound/soc/sof/debug.c b/sound/soc/sof/debug.c index d9a3ce7b69e1..ade0507328af 100644 --- a/sound/soc/sof/debug.c +++ b/sound/soc/sof/debug.c @@ -353,7 +353,9 @@ int snd_sof_dbg_init(struct snd_sof_dev *sdev) return err; } - return 0; + return snd_sof_debugfs_buf_item(sdev, &sdev->fw_state, + sizeof(sdev->fw_state), + "fw_state", 0444); } EXPORT_SYMBOL_GPL(snd_sof_dbg_init); -- 2.35.1
1 0
0 0
[Sound-open-firmware] [PATCH AUTOSEL 6.1 03/53] ASoC: SOF: pm: Always tear down pipelines before DSP suspend
by Sasha Levin 16 Jan '23

16 Jan '23
From: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com> [ Upstream commit d185e0689abc98ef55fb7a7d75aa0c48a0ed5838 ] When the DSP is suspended while the firmware is in the crashed state, we skip tearing down the pipelines. This means that the widget reference counts will not get to reset to 0 before suspend. This will lead to errors with resuming audio after system resume. To fix this, invoke the tear_down_all_pipelines op before skipping to DSP suspend. Signed-off-by: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com> Reviewed-by: Curtis Malainey <cujomalainey(a)chromium.org> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao(a)linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi(a)linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi(a)linux.intel.com> Link: https://lore.kernel.org/r/20221220125629.8469-3-peter.ujfalusi@linux.intel.… Signed-off-by: Mark Brown <broonie(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> --- sound/soc/sof/pm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c index 5f88c4a01fa3..8722bbd7fd3d 100644 --- a/sound/soc/sof/pm.c +++ b/sound/soc/sof/pm.c @@ -192,6 +192,9 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) if (runtime_suspend && !sof_ops(sdev)->runtime_suspend) return 0; + if (tplg_ops && tplg_ops->tear_down_all_pipelines) + tplg_ops->tear_down_all_pipelines(sdev, false); + if (sdev->fw_state != SOF_FW_BOOT_COMPLETE) goto suspend; @@ -216,9 +219,6 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) goto suspend; } - if (tplg_ops->tear_down_all_pipelines) - tplg_ops->tear_down_all_pipelines(sdev, false); - /* suspend DMA trace */ sof_fw_trace_suspend(sdev, pm_state); -- 2.35.1
1 0
0 0
[Sound-open-firmware] [PATCH AUTOSEL 6.1 02/53] ASoC: SOF: pm: Set target state earlier
by Sasha Levin 16 Jan '23

16 Jan '23
From: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com> [ Upstream commit 6f95eec6fb89e195dbdf30de65553c7fc57d9372 ] If the DSP crashes before the system suspends, the setting of target state will be skipped because the firmware state will no longer be SOF_FW_BOOT_COMPLETE. This leads to the incorrect assumption that the DSP should suspend to D0I3 instead of suspending to D3. To fix this, set the target_state before we skip to DSP suspend even when the DSP has crashed. Signed-off-by: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com> Reviewed-by: Curtis Malainey <cujomalainey(a)chromium.org> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao(a)linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi(a)linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi(a)linux.intel.com> Link: https://lore.kernel.org/r/20221220125629.8469-2-peter.ujfalusi@linux.intel.… Signed-off-by: Mark Brown <broonie(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> --- sound/soc/sof/pm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c index df740be645e8..5f88c4a01fa3 100644 --- a/sound/soc/sof/pm.c +++ b/sound/soc/sof/pm.c @@ -182,7 +182,7 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) const struct sof_ipc_pm_ops *pm_ops = sdev->ipc->ops->pm; const struct sof_ipc_tplg_ops *tplg_ops = sdev->ipc->ops->tplg; pm_message_t pm_state; - u32 target_state = 0; + u32 target_state = snd_sof_dsp_power_target(sdev); int ret; /* do nothing if dsp suspend callback is not set */ @@ -206,7 +206,6 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) } } - target_state = snd_sof_dsp_power_target(sdev); pm_state.event = target_state; /* Skip to platform-specific suspend if DSP is entering D0 */ -- 2.35.1
1 0
0 0
[Sound-open-firmware] [PATCH] ASoC: SOF: sof-audio: Check snd_sof_widget pointer not NULL
by AngeloGioacchino Del Regno 12 Jan '23

12 Jan '23
In function sof_unprepare_widgets_in_path(), check if swidget is actually not NULL, as the widget may not have been initialized at all. This commit solves the following kernel panic seen on MediaTek MT8195: [ 18.025215] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000014 [ 18.034266] Mem abort info: [ 18.037314] ESR = 0x0000000096000004 [ 18.041314] EC = 0x25: DABT (current EL), IL = 32 bits [ 18.046876] SET = 0, FnV = 0 [ 18.050180] EA = 0, S1PTW = 0 [ 18.053572] FSC = 0x04: level 0 translation fault [ 18.058700] Data abort info: [ 18.061832] ISV = 0, ISS = 0x00000004 [ 18.065919] CM = 0, WnR = 0 [ 18.069137] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000115495000 [ 18.075826] [0000000000000014] pgd=0000000000000000, p4d=0000000000000000 [ 18.082867] Internal error: Oops: 0000000096000004 [#1] SMP [ 18.088688] Modules linked in: af_alg qrtr btusb btrtl btintel btmtk btbcm bluetooth 8021q garp uvcvideo mrp stp ecdh_generic llc ecc videobuf2_vmalloc mt7921e mt7921_common mt76_connac_lib mt76 mac80211 snd_sof_ipc_msg_injector snd_sof_ipc_flood_test cfg80211 snd_sof_mt8195 mtk_adsp_common snd_sof_xtensa_dsp snd_sof_of panfrost rfkill snd_sof crct10dif_ce cros_ec_sensors cros_ec_lid_angle gpu_sched sbs_battery cros_usbpd_logger cros_ec_sensors_core hid_multitouch snd_sof_utils fuse ipv6 [ 18.132109] CPU: 5 PID: 657 Comm: wireplumber Tainted: G W 6.2.0-rc3-next-20230111+ #230 [ 18.141834] Hardware name: Acer Tomato (rev2) board (DT) [ 18.147392] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 18.154600] pc : sof_unprepare_widgets_in_path.isra.0+0x28/0x10c [snd_sof] [ 18.161735] lr : sof_walk_widgets_in_order+0x198/0x1d0 [snd_sof] [ 18.167996] sp : ffff80000eb0b870 [ 18.171558] x29: ffff80000eb0b870 x28: 0000000000000001 x27: ffff5d8e178c4c00 [ 18.178939] x26: ffffbd50140fd758 x25: ffffbd50140fd760 x24: 0000000000000000 [ 18.186321] x23: 0000000000000000 x22: ffff5d8e109dd080 x21: ffff5d8e0a429280 [ 18.193702] x20: 0000000000000000 x19: ffff5d8e11fe4800 x18: 0000000000000000 [ 18.201083] x17: 0000000000000000 x16: ffffbd5073deabb0 x15: 0000000000000000 [ 18.208464] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 18.215846] x11: 0000000000000000 x10: 0000000000002780 x9 : ffffbd50140eb4bc [ 18.223228] x8 : ffff5d8e1b5327e0 x7 : 0000000000000000 x6 : ffff5d8e1b530000 [ 18.230610] x5 : 0000000000000003 x4 : 0000000000000001 x3 : 0000000000000000 [ 18.237991] x2 : 0000000000000000 x1 : ffff5d8e11fe4800 x0 : ffff5d8e0a429280 [ 18.245372] Call trace: [ 18.248066] sof_unprepare_widgets_in_path.isra.0+0x28/0x10c [snd_sof] [ 18.254847] sof_walk_widgets_in_order+0x198/0x1d0 [snd_sof] [ 18.260760] sof_widget_list_free+0x7c/0xbc [snd_sof] [ 18.266066] sof_pcm_hw_free+0x10c/0x1c0 [snd_sof] [ 18.271110] snd_soc_pcm_component_hw_free+0x8c/0xe0 [ 18.276327] soc_pcm_hw_clean+0x60/0x11c [ 18.280498] dpcm_fe_dai_hw_free+0x98/0x110 [ 18.284930] snd_pcm_common_ioctl+0xc48/0x1a2c [ 18.289624] snd_pcm_ioctl+0x38/0x50 [ 18.293448] __arm64_sys_ioctl+0xb0/0xf4 [ 18.297620] invoke_syscall+0x50/0x120 [ 18.301618] el0_svc_common.constprop.0+0x17c/0x1b0 [ 18.306744] do_el0_svc+0x40/0xc4 [ 18.310307] el0_svc+0x48/0xf0 [ 18.313611] el0t_64_sync_handler+0xb8/0xc0 [ 18.318041] el0t_64_sync+0x1a0/0x1a4 [ 18.321953] Code: aa0103f3 f90013f5 aa0003f5 f9406834 (39405280) [ 18.328293] ---[ end trace 0000000000000000 ]--- Fixes: 9862dcf70245 ("ASoC: SOF: don't unprepare widget used other pipelines") Fixes: ce59804d2643 ("ASoC: SOF: clear prepare state when widget is unprepared") Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno(a)collabora.com> --- sound/soc/sof/sof-audio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/sof/sof-audio.c b/sound/soc/sof/sof-audio.c index e1ab8380e7d8..1988717762b3 100644 --- a/sound/soc/sof/sof-audio.c +++ b/sound/soc/sof/sof-audio.c @@ -274,7 +274,7 @@ sof_unprepare_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widg struct snd_soc_dapm_path *p; /* return if the widget is in use or if it is already unprepared */ - if (!swidget->prepared || swidget->use_count > 1) + if (!swidget || !swidget->prepared || swidget->use_count > 1) return; widget_ops = tplg_ops ? tplg_ops->widget : NULL; -- 2.39.0
2 3
0 0
[Sound-open-firmware] [PATCH v2 0/3] Add support of MediaTek mt8188 to SOF
by Tinghan Shen 10 Jan '23

10 Jan '23
Add support of MediaTek mt8188 SoC DSP to SOF. The sof driver patches in this series are taken from thesofproject/linux/tree/topic/sof-dev-rebase. Tinghan Shen (3): dt-bindings: dsp: mediatek: Add mt8188 dsp compatible ASoC: SOF: mediatek: Support mt8188 platform ASoC: SOF: mediatek: Provide debugfs_add_region_item ops for core .../bindings/dsp/mediatek,mt8186-dsp.yaml | 4 +++- sound/soc/sof/mediatek/mt8186/mt8186.c | 20 +++++++++++++++++++ sound/soc/sof/mediatek/mt8186/mt8186.h | 10 +++++++++- sound/soc/sof/mediatek/mt8195/mt8195.c | 1 + 4 files changed, 33 insertions(+), 2 deletions(-) -- 2.18.0
3 5
0 0
  • ← Newer
  • 1
  • 2
  • Older →

HyperKitty Powered by HyperKitty version 1.3.8.