Skip to content

Add TDM DAI and DMA support for the AMD ACP 7X platform with three instances. #17667

Add TDM DAI and DMA support for the AMD ACP 7X platform with three instances.

Add TDM DAI and DMA support for the AMD ACP 7X platform with three instances. #17667

Workflow file for this run

---
name: IPC fuzzing
# 'workflow_dispatch' allows running this workflow manually from the
# 'Actions' tab
# yamllint disable-line rule:truthy
on:
workflow_call:
inputs:
fuzzing_duration_s:
type: number
default: 300 # 5 minutes
workflow_dispatch:
inputs:
fuzzing_duration_s:
type: number
default: 300
pull_request:
# TODO: can we provide a default inputs here too?
permissions:
contents: read
jobs:
simple-IPC-fuzz_sh:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
# Keep these names short due to questionable Github UI choices
IPC: [3, 4]
steps:
- name: add i386 arch
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
- name: apt-get install i386 packages
run: |
# We don't know why Github requires us to explicit all these i386
# dependencies. On a vanilla Ubuntu 22.04 the last apt-get is
# enough.
# Also, it does not seem possible to download Github images for
# local testing which means trial and error for this requires a
# force-push every time: excruciatingly slow!
sudo apt-get -y install \
libgcc-s1:i386 libc6-dev:i386 libstdc++6:i386 \
libgomp1:i386 libitm1:i386 libatomic1:i386 \
libasan8:i386 libubsan1:i386 libquadmath0:i386 \
sudo apt-get -y install \
libc6-dev-i386 libstdc++-14-dev:i386
- name: apt-get install build tools
run:
sudo apt-get -y install
clang llvm ninja-build device-tree-compiler python3-pyelftools
- uses: actions/checkout@v4
with:
path: ./workspace/sof
filter: 'tree:0'
- name: west update
run: |
cd workspace/sof
pip3 install west
west init -l
west update --narrow --fetch-opt=--filter=tree:0
- name: build and run fuzzer for a few minutes
run: |
cd workspace
clang --verbose
set -x
duration="${{inputs.fuzzing_duration_s}}"
duration="${duration:-301}" # pull_request has not 'inputs.' :-(
# Note libFuzzer makes a difference between -jobs and -workers (capped at nproc/2)
sof/scripts/fuzz.sh -i '${{ matrix.IPC }}' -o fuzz-stdout.txt -t "$duration" -j"$(nproc)"
- name: Upload stdout
uses: actions/upload-artifact@v4
if: failure()
with:
name: ${{ matrix.IPC }} logs
path: |
workspace/crash-*
workspace/fuzz-stdout.txt
workspace/fuzz-*.log