Skip to content

Mask USB interrupt to avoid hardware bug in OpenTitan#2100

Merged
bors[bot] merged 3 commits into
masterfrom
usb-interrupt-fix
Sep 10, 2020
Merged

Mask USB interrupt to avoid hardware bug in OpenTitan#2100
bors[bot] merged 3 commits into
masterfrom
usb-interrupt-fix

Conversation

@phil-levis

@phil-levis phil-levis commented Sep 8, 2020

Copy link
Copy Markdown
Contributor

Pull Request Overview

USB hardware on current OT master branch seems to have interrupt bugs: running Alarms causes persistent USB CONNECTED interrupts that can't be masked from USBDEV and cause the system to hang. So this PR modifies the PLIC to enable all interrupts except for the USB ones. Some open PRs on OT fix this, we'll re-enable USB interrupts when they are merged.

To observe this behavior, take a look at the opentitan-alarm-causes-usb-failures branch.

This bug report came from the alarm redesign branch; separating USB interrupt handling into a separate PR seems advisable.

I've entered this as an issue for OpenTitan: lowRISC/opentitan#3388

Testing Strategy

Compiling and running the multi alarm test.

TODO or Help Wanted

None

Documentation Updated

  • Updated the relevant files in /docs, or no updates are required.

Formatting

  • Ran make prepush.

@phil-levis phil-levis changed the title Mask USB interrupt to avoid seemin Mask USB interrupt to avoid hardware bug Sep 8, 2020
@alistair23

Copy link
Copy Markdown
Contributor

Can we link this with an OT issue? Otherwise I'm worried we'll loose track of it.

@phil-levis

Copy link
Copy Markdown
Contributor Author

Working on it.

@phil-levis

phil-levis commented Sep 8, 2020

Copy link
Copy Markdown
Contributor Author

Done. lowRISC/opentitan#3388

I put it in the desc, thought that would be better than requiring people to read through comments?

@alistair23

Copy link
Copy Markdown
Contributor

Cool. Can you link to the issue in the comment?

@hudson-ayers hudson-ayers added the WG-OpenTitan In the purview of the OpenTitan working group. label Sep 8, 2020
@phil-levis phil-levis changed the title Mask USB interrupt to avoid hardware bug Mask USB interrupt to avoid hardware bug in OpenTitan Sep 8, 2020
@phil-levis phil-levis mentioned this pull request Sep 8, 2020
9 tasks
bradjc
bradjc previously approved these changes Sep 10, 2020
Comment thread chips/earlgrey/src/plic.rs
@bradjc

bradjc commented Sep 10, 2020

Copy link
Copy Markdown
Contributor

bors r+

@bors

bors Bot commented Sep 10, 2020

Copy link
Copy Markdown
Contributor

@bors bors Bot merged commit bc6c837 into master Sep 10, 2020
@bors bors Bot deleted the usb-interrupt-fix branch September 10, 2020 16:43
sirchnik pushed a commit to sirchnik/tock that referenced this pull request May 12, 2026
2100: Mask USB interrupt to avoid hardware bug in OpenTitan r=bradjc a=phil-levis

### Pull Request Overview

USB hardware on current OT master branch seems to have interrupt bugs: running Alarms causes persistent USB CONNECTED interrupts that can't be masked from USBDEV and cause the system to hang. So this PR modifies the PLIC to enable all interrupts *except* for the USB ones. Some open PRs on OT fix this, we'll re-enable USB interrupts when they are merged.
 
To observe this behavior, take a look at the  `opentitan-alarm-causes-usb-failures` branch.

This bug report came from the alarm redesign branch; separating USB interrupt handling into a separate PR seems advisable.

I've entered this as an issue for OpenTitan: lowRISC/opentitan#3388

### Testing Strategy

Compiling and running the multi alarm test. 


### TODO or Help Wanted

None


### Documentation Updated

- [X] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [X] Ran `make prepush`.


Co-authored-by: Philip Levis <pal@cs.stanford.edu>
Co-authored-by: Brad Campbell <bradjc5@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WG-OpenTitan In the purview of the OpenTitan working group.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants