Skip to content

[BUG] sof-test scripts shall not assume settings based on kernel parameters #1166

@plbossart

Description

@plbossart

Filing this as a bug because I truly think there's a conceptual issue.

Overtime, sof-test has become dependent on kernel parameters, such as

  • ipc_type. This should ONLY be used for CAVS/IPC4 tests. In all 'normal' case the ipc_type is a given for each platform, e.g. anything MTL+ is ipc4
    the following snippet is completely wrong
is_ipc4()
{           
    local ipc_type
    ipc_file=/sys/module/snd_sof_pci/parameters/ipc_type
            
    # If /sys/module/snd_sof_pci/parameters/ipc_type does not exist
    # the DUT is running IPC3 mode <<< OF COURSE NOT ON MTL+!!!
    ipc_type=$(cat $ipc_file) || {
        return 1
    }
            
    # If /sys/module/snd_sof_pci/parameters/ipc_type exists
    # If the value of file ipc_type is:
    # -1: DUT runs IPC3 mode, is_ipc4 return 1(false)
    # 1: DUT runs IPC4 mode, is_ipc4 return 0(true)
    if [ "$ipc_type" -eq 1 ]; then
        return 0
    fi
    return 1
}
  • fw_path. the default is set for the kernel. overrides should only be used for things like debug key.
  • tplg_path

The premise of sof-test is that the test should run without any assumption on the environment, other than what is clearly described in env-check.sh

sof-test is used by CI, it shall not depend on CI settings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions