Skip to content

ipc: add complete task callback - #1887

Merged
tlauda merged 7 commits into
thesofproject:masterfrom
tlauda:topic/edf-fixes
Oct 1, 2019
Merged

tlauda merged 7 commits into
thesofproject:masterfrom
tlauda:topic/edf-fixes

Conversation

@tlauda

@tlauda tlauda commented Sep 30, 2019

Copy link
Copy Markdown
Contributor

Changes ipc task implementation, so it accepts new messages from
host in a complete task callback. This way we will avoid the
situation, where host will send another message before we
truly complete current ipc task.

Signed-off-by: Tomasz Lauda tomasz.lauda@linux.intel.com

Changes priority of IPC and IDC tasks. They are always scheduled
as EDF tasks, where order of scheduling is based on deadline
and priority is meant for special tasks e.g. IDLE or ALMOST_IDLE.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
@tlauda

tlauda commented Sep 30, 2019

Copy link
Copy Markdown
Contributor Author

@wenqingfu @mengdonglin @aiChaoSONG Should fix #1812 and #1830.

@lgirdwood lgirdwood left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dbaluta Can you give this a quick test as imx is not on CI yet.

@jajanusz jajanusz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dbaluta You can approve once you test it ;)

tlauda added 6 commits October 1, 2019 08:15
Renames task's func to run to better show intention of this callback.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Adds complete callback to task. Some EDF tasks will need to have
additional callback on task completion, which will be executed
in critical section along the setting task state to complete.
Doing it during regular execution is not enough, because it's done
on passive level and we want to avoid any race condition.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Change the waiti implementation to panic only if we're
lowering current interrupt level. In some rare cases
(like entering D3 for some platforms) we don't care,
because DSP will be disabled anyway.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Changes ipc task implementation, so it accepts new messages from
host in a complete task callback. This way we will avoid the
situation, where host will send another message before we
truly complete current ipc task.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Removes host_pending from ipc structure, because it's no
longer needed. Scheduler will automatically throw an error,
when we'll try to run not completed task.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups ipc functions, so we don't have many not needed
layers of execution.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
@dbaluta

dbaluta commented Oct 1, 2019

Copy link
Copy Markdown
Collaborator

@tlauda let me give it a try today

@tlauda

tlauda commented Oct 1, 2019

Copy link
Copy Markdown
Contributor Author

SOFCI TEST

@dbaluta

dbaluta commented Oct 1, 2019

Copy link
Copy Markdown
Collaborator

@dbaluta You can approve once you test it ;)

@jajanusz done.

@tlauda

tlauda commented Oct 1, 2019

Copy link
Copy Markdown
Contributor Author

SOFCI TEST

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants