[PW_SID:1087340] [v2] ASoC: spacemit: fix RX DMA params not set when TX is running#1836
[PW_SID:1087340] [v2] ASoC: spacemit: fix RX DMA params not set when TX is running#1836linux-riscv-bot wants to merge 3 commits into
Conversation
…_TYPED_FUNC_START After commit 67bdd7b ("riscv: Split out measure_cycles() for reuse") and commit c03ad15 ("riscv: Reuse measure_cycles() in check_vector_unaligned_access()"), there are CFI failure when booting kernels with CONFIG_CFI=y: CFI failure at measure_cycles+0x38/0xe0 (target: __riscv_copy_words_unaligned+0x0/0x50; expected type: ...) CFI failure at measure_cycles+0x38/0xe0 (target: __riscv_copy_vec_words_unaligned+0x0/0x24; expected type: ...) The __riscv_copy_*_unaligned() functions are now called indirectly but they are not defined with SYM_TYPED_FUNC_START, which is required for assembly functions called indirectly from C to pass CFI checking. Switch to SYM_TYPED_FUNC_START to clear up the CFI failures. Fixes: 67bdd7b ("riscv: Split out measure_cycles() for reuse") Fixes: c03ad15 ("riscv: Reuse measure_cycles() in check_vector_unaligned_access()") Signed-off-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://patch.msgid.link/20260406-measure_cycles-cfi-failure-v1-1-03e0234ae02f@kernel.org Signed-off-by: Paul Walmsley <pjw@kernel.org>
When TX is already running (SSCR_SSE is set), the hw_params callback returns early before setting up DMA parameters for the RX stream. This prevents the capture path from configuring its DMA data properly. Move the SSCR_SSE check after DMA parameter setup and format constraints, so both TX and RX streams get their DMA configuration regardless of whether the hardware is already enabled. The early return now only skips the register writes that would disrupt an active stream. Fixes: fce2174 ("ASoC: spacemit: add i2s support for K1 SoC") Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
|
Patch 1: "[v2] ASoC: spacemit: fix RX DMA params not set when TX is running" |
01805bc to
94a07a2
Compare
PR for series 1087340 applied to workflow__riscv__fixes
Name: [v2] ASoC: spacemit: fix RX DMA params not set when TX is running
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1087340
Version: 2