Skip to content

[FEATURE] IPC 2.0 #1212

Closed
Closed

Description

@lgirdwood

Current IPC survives MINOR and PATCH semantic ABI version updates but needs to be fully future proof. We need a fully future proof IPC where structure additions and changes are non fatal to every structure and substructure.

Activity

  1. plbossart commented on May 30, 2019

    @plbossart
    Member

    @lgirdwood I have zero cycles to work on this until Q4.

  2. lgirdwood commented on May 30, 2019

    @lgirdwood
    MemberAuthor

    IPC 2.0 should have the following requirements.

    1. Support IPC deprecation
    2. Support IPC growth
    3. Support IPC discoverability.
    4. Support multiple classes of features (not just audio).

    Requirements can be met if :

    1. IPC "ID space" is split into several classes like audio, debug, sensors, etc
    2. Each IPC class has a set of supported IPC commands (with GUID).
    3. Each IPC command is tightly coupled to a C structure.
    4. Supported IPC classes and IPC command GUIDs are sent to the host using the FW ready message.
    5. All IPC C structures use the same small header.

    All the above means that host drivers will receive a list of IPC classes and IPC command GUIDs at FW boot time and can map commands to the correct IPC function that deals with that GUID. i..e the IPC audio class and IPC audio command GUIDs will be parsed by audio driver, likewise for sensor driver etc.

  3. lgirdwood commented on May 30, 2019

    @lgirdwood
    MemberAuthor

    @plbossart I know, it's to keep you in the loop.

  4. added
    NotableEnhancement is significant or notable for release.
    on Jun 21, 2019
  5. added this to the TBD milestone on Jun 21, 2019
  6. kv2019i commented on Dec 17, 2025

    @kv2019i
    Collaborator

    No activity in 5 years, closing. Please reopen if still relevant.

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

Metadata

Metadata

Labels

NotableEnhancement is significant or notable for release.enhancementNew feature or request

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions