[Sound-open-firmware] Question about scheduling IPC task vs pipeline task

Daniel Baluta daniel.baluta at gmail.com
Tue Apr 21 22:55:20 CEST 2020


Hi Tomasz,

Running aplay I get this timeout, on kernel side:

sof-audio-of 3b6e8000.dsp: error: ipc timed out for 0x60040000 size 12
This is the command for SOF_IPC_STREAM_TRIG_START.

What I notice on SOF side is:

-> irq_handle (new message from SOF arrives)
  -> ipc_schedule_process
    -> schedule_ipc_task
       -> run: ipc_platform_do_cmd
           -> pipeline_trigger()
            -> schedule pipe_task
              -> then pipeline_copy starts to RUN

Now the problem is that even if pipeline_copy() runs in a separate
schedulable task, ipc_task doesn't get a chance to run so the reply
for TRIGGER command isn't sent back to host hence the timeout.

My question:

Does pipeline_copy() runs in some special context so that normal EDF tasks
can meet their deadline?

I do have a slightly new firmware then the kernel, not sure about what recent
changes have been done to firmware.

thanks,
Daniel.


More information about the Sound-open-firmware mailing list