Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add interrupt-related changes for arm64-based platforms #7459

Merged
merged 1 commit into from
Apr 24, 2023

Conversation

LaurentiuM1234
Copy link
Contributor

@LaurentiuM1234 LaurentiuM1234 commented Apr 19, 2023

This PR introduces all required interrupt-related changes for ARM64 platforms.

Please see #7192 for PR dependency graph.

Copy link
Collaborator

@paulstelian97 paulstelian97 left a comment

Choose a reason for hiding this comment

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

For the first commit, things are getting unwieldy so they might need to be changed in the future. Approve overall though, that's the subject of a future refactor.

#else
void interrupt_clear_mask(uint32_t irq, uint32_t mask);
#endif /* CONFIG_ARM64 */

Copy link
Collaborator

Choose a reason for hiding this comment

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

And this is really only needed with XTOS. With native Zephyr SOF build, the interrupt interface for drivers is all on Zephyr side. SOF app side only needs primitives to disable interrupts, but that can be done with generic OS interface.

But alas, if you want to maintain XTOS support with ARM64, then you need this.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This looks like there's not going to be any XTOS support on ARM64, but correct me if I'm wrong Laurentiu.

We do want to eventually phase out XTOS for the older i.MX platforms as well, but that's not happening yet.

Copy link
Contributor Author

@LaurentiuM1234 LaurentiuM1234 Apr 19, 2023

Choose a reason for hiding this comment

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

This was required because of some compilation errors caused by these symbols not existing (e.g: for zephyr_dma_domain which is also used for Zephyr+xtensa).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Aforementioned issue should be fixed by #7470 and #7462. Although not necessarily related to i.MX93 driver support I've added the last commit over there to avoid adding an extra PR dependency as it's already somewhat hard to keep track of them.

…RM64 platforms

ARM64's GIC doesn't utilize cascaded interrupts so interrupt_get_irq
will have to return the given INTID.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
@kv2019i kv2019i merged commit f6d8439 into thesofproject:main Apr 24, 2023
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