Skip to content

[BUG] LPRO ext manifest is not part of firmware #3466

Closed

Description

@fredoh9

Describe the bug
I built with cnl firmware with CONFIG_CAVS_LPRO_ONLY=y. There is no LPRO information in ext manifest.

 .fw_metadata   0x220001a0      0x128 src/init/libext_manifest.a(ext_manifest.c.o)
                0x220001a0                ext_man_fw_ver
                0x220001f0                ext_man_cc_ver
                0x22000260                ext_man_probe
                0x22000290                ext_man_dbg_info
                0x220002b0                ext_man_config
                0x220002d0                . = ALIGN (_EXT_MAN_ALIGN_)
 *fill*         0x220002c8        0x8 

from the map file, this is only hit

LOAD src/platform/intel/cavs/libcavs_ext_manifest.a

To Reproduce

This fix is required
#3465

./scripts/xtensa-build-all.sh -d -c cnl
then select Platform->Use low power ring oscillator always
then check sof.map for .fw_metadata section

Reproduction Rate
100%

Expected behavior
LPRO information as cavs platform specifc data (EXT_MAN_ELEM_PLATFORM_CONFIG_DATA) in ext manifest

Impact
ICCMAX implementation for ICL is blocked

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel:40e44b3a8841e918493a4eb80a76c45007263ac9 (any of topic/sof-dev)
    • SOF: c59b513
  2. Name of the topology file
    • Topology: {FILE}
  3. Name of the platform(s) on which the bug is observed.
    • Platform: I'm using cml and icl

Activity

  1. added
    bugSomething isn't working as expected
    on Sep 25, 2020
  2. fredoh9 commented on Sep 25, 2020

    @fredoh9
    ContributorAuthor

    This is full section code of .fw_metadata

    .fw_metadata    0x22000000      0x2d0
     *(.fw_metadata)
     .fw_metadata   0x22000000      0x198 CMakeFiles/sof.dir/src/platform/intel/cavs/platform.c.o
     *fill*         0x22000198        0x8 
     .fw_metadata   0x220001a0      0x128 src/init/libext_manifest.a(ext_manifest.c.o)
                    0x220001a0                ext_man_fw_ver
                    0x220001f0                ext_man_cc_ver
                    0x22000260                ext_man_probe
                    0x22000290                ext_man_dbg_info
                    0x220002b0                ext_man_config
                    0x220002d0                . = ALIGN (_EXT_MAN_ALIGN_)
     *fill*         0x220002c8        0x8 
    OUTPUT(sof elf32-xtensa-le)
    

    Looks this the data I need to parse. Let me see what I can do.

     .fw_metadata   0x22000000      0x198 CMakeFiles/sof.dir/src/platform/intel/cavs/platform.c.o
     *fill*         0x22000198        0x8
    

    Update: nope. this isn't the data. I'm looking for ext_man_cavs_config

  3. added
    P2Critical bugs or normal features
    on Sep 25, 2020
  4. self-assigned this
    on Sep 25, 2020
  5. abonislawski commented on Sep 25, 2020

    @abonislawski
    Member

    I will prepare a fix, looks like LPRO define was not updated for ext_manifest
    EDIT: sorry, already fixed in your PR :)

  6. removed their assignment
    on Sep 25, 2020
  7. slawblauciak commented on Sep 29, 2020

    @slawblauciak
    Collaborator

    @fredoh9 the PR has been merged, good to close?

  8. abonislawski commented on Sep 29, 2020

    @abonislawski
    Member

    @slawblauciak #3473 is also needed

  9. fredoh9 commented on Sep 30, 2020

    @fredoh9
    ContributorAuthor

    Final piece is #2957, but we can close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Fix confirmedFix for the issue has been found and verifiedP2Critical bugs or normal featuresbugSomething isn't working as expected

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions