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

[sysrst_ctrl, adc_ctrl] Convert collated edge based interrupt to level #21832

Closed
2 tasks done
msfschaffner opened this issue Mar 5, 2024 · 0 comments · Fixed by #21934
Closed
2 tasks done

[sysrst_ctrl, adc_ctrl] Convert collated edge based interrupt to level #21832

msfschaffner opened this issue Mar 5, 2024 · 0 comments · Fixed by #21934

Comments

@msfschaffner
Copy link
Contributor

msfschaffner commented Mar 5, 2024

Description

Both sysrst_ctrl and adc_ctrl have collated interrupt registers, where all local causes are reported and then sent out via one interrupt signal.

This is not ideal from an API perspective, since multiple IRQ registers have to be cleared for the same cause, potentially leading to a race.

The recommendation is thus to convert the collated IRQs to status type for both IPs.

@msfschaffner msfschaffner self-assigned this Mar 5, 2024
@msfschaffner msfschaffner added this to the Earlgrey-PROD.M2 milestone Mar 5, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 6, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 6, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 6, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 6, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 6, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 6, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 7, 2024
Addresses part of lowRISC#21832

Signed-off-by: Michael Schaffner <[email protected]>
This was referenced Mar 8, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

In particular, it moves tracking of the IRQs into the bus domain
so that a status interrupt can be created more readily.

This is done by:
1) moving the collated IRQ status regs into the bus domain
2) creating a similar IRQ synchronization module as in adc_ctrl

Note that the wakeup request is still created and tracked in the AON
domain as before.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 8, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

In particular, it moves tracking of the IRQs into the bus domain
so that a status interrupt can be created more readily.

This is done by:
1) moving the collated IRQ status regs into the bus domain
2) creating a similar IRQ synchronization module as in adc_ctrl

Note that the wakeup request is still created and tracked in the AON
domain as before.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

In particular, it moves tracking of the IRQs into the bus domain
so that a status interrupt can be created more readily.

This is done by:
1) moving the collated IRQ status regs into the bus domain
2) creating a similar IRQ synchronization module as in adc_ctrl

Note that the wakeup request is still created and tracked in the AON
domain as before.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

In particular, it moves tracking of the IRQs into the bus domain
so that a status interrupt can be created more readily.

This is done by:
1) moving the collated IRQ status regs into the bus domain
2) creating a similar IRQ synchronization module as in adc_ctrl

Note that the wakeup request is still created and tracked in the AON
domain as before.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 9, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see lowRISC#21832.

In particular, it moves tracking of the IRQs into the bus domain
so that a status interrupt can be created more readily.

This is done by:
1) moving the collated IRQ status regs into the bus domain
2) creating a similar IRQ synchronization module as in adc_ctrl

Note that the wakeup request is still created and tracked in the AON
domain as before.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
msfschaffner added a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
a-will pushed a commit to msfschaffner/opentitan that referenced this issue Mar 11, 2024
msfschaffner added a commit that referenced this issue Mar 12, 2024
This reworks the IRQ event synchronization in preparation for
converting the IRQ to status type, see #21832.

In particular, it moves tracking of the IRQs into the bus domain
so that a status interrupt can be created more readily.

This is done by:
1) moving the collated IRQ status regs into the bus domain
2) creating a similar IRQ synchronization module as in adc_ctrl

Note that the wakeup request is still created and tracked in the AON
domain as before.

Signed-off-by: Michael Schaffner <[email protected]>
msfschaffner added a commit that referenced this issue Mar 12, 2024
Fixes #21832

Signed-off-by: Michael Schaffner <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant