Skip to content

[NOT FOR UPSTREAM]ASoC: SOF: Intel: hda: switch to use legacy IRQ mode - #1002

Closed
keyonjie wants to merge 1 commit into
thesofproject:topic/sof-devfrom
keyonjie:topic/sof-dev
Closed

keyonjie wants to merge 1 commit into
thesofproject:topic/sof-devfrom
keyonjie:topic/sof-dev

Conversation

@keyonjie

@keyonjie keyonjie commented Jun 3, 2019

Copy link
Copy Markdown

Hi @plbossart, we found that switching back to use legacy IRQ fixes kinds of IPC time out issue, especially on HDA/HDMI platforms, we haven't found the explanation about that yet, that's why I make it [NOT FOR UPSTREAM].

There is IPC IRQ missing issues during our stress test with MSI mode,
here switch back to use legacy IRQ mode before we can verify that MSI
is reliable.

Signed-off-by: Keyon Jie yang.jie@linux.intel.com

There is IPC IRQ missing issues during our stress test with MSI mode,
let's switch back to use legacy IRQ mode before we can verify that MSI
is reliable.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>

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

I'm not convinced about "[NOT FOR UPSTREAM]". I think we should make a patch to disable MSI at least for HDA platforms and sent it to upstream as well, as without this patch, there are lot of issues on cavs1.8 platforms (of which there are many).

@plbossart

Copy link
Copy Markdown
Member

@kv2019i Even with the legacy IRQ @RanderWang reports there are timeout issues with the wake-enable set, so this PR does not look like a silver bullet. I'd rather have more testing than send this upstream directly.

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

you can switch to legacy with a kernel parameter for now.

Comment thread sound/soc/sof/intel/hda.c
*/
hdev->irq = pci->irq;
sdev->ipc_irq = pci->irq;
sdev->msi_enabled = 0;

@plbossart plbossart Jun 3, 2019 •

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.

it'd make more sense to have a kernel parameter for now than remove code that works fine on cAVS1.5.

@RanderWang

Copy link
Copy Markdown

@plbossart

@kv2019i Even with the legacy IRQ @RanderWang reports there are timeout issues with the wake-enable set, so this PR does not look like a silver bullet. I'd rather have more testing than send this upstream directly.

@plbossart With wake-enable set, when SOF is resuming, I found unexpected IPC interrupt and other unknown interrupt, which is not described in HW spec. Our IRQ function would process this interrupt but found the value of IPC registers was not correct, then we got hda stream reset failed, IPC timeout, FW loading failed. Keyon gave a patch to filter out this unexpected IPC interrupt and I and QA tested it on a few devices. The patch can fix all errors.

@plbossart

Copy link
Copy Markdown
Member

closing, we want to keep the MSI and fix things the right way

@plbossart plbossart closed this Jun 7, 2019
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