Skip to content

dmic: don't decrement active FIFO count below 0 - #4159

Merged
lgirdwood merged 1 commit into
thesofproject:mainfrom
lyakh:dmic-irq
May 10, 2021
Merged

lgirdwood merged 1 commit into
thesofproject:mainfrom
lyakh:dmic-irq

Conversation

@lyakh

@lyakh lyakh commented May 10, 2021

Copy link
Copy Markdown
Collaborator

In case of a spurious DMIC interrupt flood the active FIFO count will decrement below 0. Prevent it by checking the current DAI state.

As a matter of fact this seems to also actually fix the spurious IRQ flood from the DMIC, although the reason is unclear.

In case of a spurious DMIC interrupt flood the active FIFO count
will decrement below 0. Prevent it by checking the current DAI state.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
@lyakh
lyakh requested a review from singalsu as a code owner May 10, 2021 12:42
@paulstelian97

Copy link
Copy Markdown
Collaborator

Could it be possible that the hardware doesn't like getting too many stops?

@singalsu

Copy link
Copy Markdown
Collaborator

The common HW resources for producing output FIFOs A and B are set up when active fifos == 0. If it went negative the initialization was skipped and data pushed to FIFOs is likely at rate that is not matching timer based scheduling and cause those overrun IRQs.

@singalsu singalsu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks correct to me. Thanks!

@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.

One for rc2

@lgirdwood lgirdwood added this to the v1.8 milestone May 10, 2021
@lgirdwood
lgirdwood merged commit 2273174 into thesofproject:main May 10, 2021
@lyakh
lyakh deleted the dmic-irq branch May 10, 2021 14:39
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.

5 participants