Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLEXT: fix failures and make DRC an LLEXT module by default on MTL #9116

Merged
merged 11 commits into from
Jul 16, 2024

Commits on Jul 16, 2024

  1. llext: fix Windows builds

    Under windows the Python interpreter has to be called explicitly.
    Without it an attempt to execute a Python script fails silently.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    Suggested-by: Marc Herbert <marc.herbert@intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    167c303 View commit details
    Browse the repository at this point in the history
  2. ipc4: a failure to find a driver might not be fatal

    When ipc4_get_drv() fails to find a driver, it might mean, that the
    driver needs to be linked dynamically. Printing an error in such a
    case wrongly fails CI testing.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    d6c2b5a View commit details
    Browse the repository at this point in the history
  3. samples: (cosmetic) clean up Kconfig spacing

    Use consistent TABs and spaces in src/samples/audio/Kconfig
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    1f3b74f View commit details
    Browse the repository at this point in the history
  4. llext: add maximum instance count support

    Maximum instance count cannot be zero, they have to be supplied by
    respective modules.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    ebdab32 View commit details
    Browse the repository at this point in the history
  5. rimage: don't overwrite maximum module instance counts

    Use maximum instance count from TOML when building a manifest.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    9cc1afb View commit details
    Browse the repository at this point in the history
  6. llext: remove logging during module freeing

    When pipelines are destroyed, component drivers' .reset() and .free()
    are called. If those drivers were loaded dynamically their memory is
    then unmapped. But logging takes place in a low priority task, so it
    is important that no logging is done from those methods.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    ccd41ba View commit details
    Browse the repository at this point in the history
  7. llext: disable when testing reproducible builds

    So far we cannot build identical LLEXT modules under Linux and
    Windows, build a monolithic firmware for this test.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    6e84874 View commit details
    Browse the repository at this point in the history
  8. llext: export symbols, required for modular DRC

    Export additional symbols, required for building DRC as an LLEXT
    object.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    6249a3b View commit details
    Browse the repository at this point in the history
  9. drc: enable building as an llext module

    Add support for LLEXT building to drc. Since multiband DRC calls
    functions from DRC, we cannot so far build it if DRC is configured as
    a module. In the future it should be possible to build both as
    modules and to export symbols between them.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    7015939 View commit details
    Browse the repository at this point in the history
  10. drc: make modular on MTL and LNL

    Export missing symbols for modular DRC builds and select it as a
    module on MTL and LNL. DRC isn't built by default, so we cannot
    use CONFIG_LIBRARY_DEFAULT_MODULAR for it.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    95517f8 View commit details
    Browse the repository at this point in the history
  11. kcps: fix 0 module CPC case

    If a module contains 0 as its CPC value, the consumption calculation
    routine will assign a "safe" maximum value to keep the DSP running at
    the maximum clock rate. This works when constructing a pipeline, but
    when a pipeline is torn down, returning the maximum clock rate leads
    to the clock being reduced to a small value. Fix this by detecting
    such cases in pipeline termination code.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    a529d61 View commit details
    Browse the repository at this point in the history