Skip to content

SSP: need to support MCLK/BCLK/LRCLK on-demand on/off capabilities #629

Open

Description

@plbossart

Some codecs need the MCLK/BCLK/LRCLK to be on before streaming starts (typically 10s of ms to avoid clicks/pops), see e.g. https://elixir.bootlin.com/linux/latest/source/sound/soc/intel/boards/kbl_rt5663_max98927.c#L86 for RT5663

The SSP IPC supports keeping the clock on a boot via the clks_control field, but it's not currently implemented. We would also miss IPC support for on/off requests on-demand (new IPC required?)

Adding @lgirdwood and @mmaka1 as assignees mainly to get comments on what IPC changes would be needed, the implementation can be done later.

Activity

  1. lgirdwood commented on Nov 28, 2018

    @lgirdwood
    Member

    This could be done with another optional IPC sent during prepare() and before trigger.

  2. dbaluta commented on Feb 22, 2019

    @dbaluta
    Collaborator

    @plbossart @lgirdwood
    So the clocks handling is done on the host side and DSP sends requests for various operations on the clocks, right?

  3. plbossart commented on Feb 22, 2019

    @plbossart
    MemberAuthor
  4. dbaluta commented on Feb 22, 2019

    @dbaluta
    Collaborator

    @plbossart Thanks, I understand! On i.MX clock handling would be really fun to implement :). That's because the clock handling is taken care by a separate firmware (running on an M4) and now is handled with commands from the host (Linux) side. So for this reason I've asked about the direction.

  5. lgirdwood commented on Feb 25, 2019

    @lgirdwood
    Member

    @dbaluta looks like your i.MX SOF driver will need to program M4 ? There are PCM callbacks in the SOF HW abstraction layer so you could add your M4 programming to the hw_params() or prepare() callback ? Btw, if you need other callbacks, then feel free to send a PR.

  6. added this to the TBD milestone on Jun 6, 2019
  7. added
    IPC4Issues observed with IPC4 (same IPC as Windows)
    on Feb 16, 2022
  8. mengdonglin commented on Feb 22, 2022

    @mengdonglin
    Collaborator

    Comments from Pierre "These features will be enabled with IPC4, in fact I am working on them at the moment since the way to control them is via a gateway configuration in addition to the binary blobs coming from NHLT.

    The activation of clocks is handled with a 'gateway configuration', which is made of the 'SSP blob' along with additional commands to configure clocks early.

    This capability is handled by the cAVS firmware... I am thinking this is part of the plan for the converged firmware."

    @mwasko @lgirdwood Can you please confirm this capability will be supported by the converged firmware?

  9. lgirdwood commented on Feb 22, 2022

    @lgirdwood
    Member
  10. mwasko commented on Feb 28, 2022

    @mwasko
    Contributor

    Comments from Pierre "These features will be enabled with IPC4, in fact I am working on them at the moment since the way to control them is via a gateway configuration in addition to the binary blobs coming from NHLT.

    The activation of clocks is handled with a 'gateway configuration', which is made of the 'SSP blob' along with additional commands to configure clocks early.

    This capability is handled by the cAVS firmware... I am thinking this is part of the plan for the converged firmware."

    @mwasko @lgirdwood Can you please confirm this capability will be supported by the converged firmware?

    yes

  11. added
    P2Critical bugs or normal features
    and removed
    P1Blocker bugs or important features
    on Jan 3, 2025
  12. kv2019i commented on Jan 3, 2025

    @kv2019i
    Collaborator

    Lowering to P2. FYI @lgirdwood @abonislawski

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

Metadata

Metadata

Labels

IPC4Issues observed with IPC4 (same IPC as Windows)P2Critical bugs or normal featuresenhancementNew feature or request

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions