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

Manually disabling ethernet MAC MMC counter interrupts #462

Merged
merged 4 commits into from
Nov 10, 2021

Conversation

ryan-summers
Copy link
Member

@ryan-summers ryan-summers commented Nov 10, 2021

This PR fixes #450 by manually disabling the ethernet MAC MMC counter interrupts. These interrupts were causing the ETHERNET ISR to continually execute (because the flag wasn't getting cleared).

Specifically, an interrupt was being generated for 2^31 good packets transmitted, which is why #450 indicates fault after heavy usage of the streaming interface.

TODO:

  • Verify that manual modification of the MMC LPI mask sticks in hardware

Sorry, something went wrong.

src/hardware/setup.rs Outdated Show resolved Hide resolved
@ryan-summers ryan-summers requested a review from jordens November 10, 2021 11:57
@ryan-summers
Copy link
Member Author

bors merge

@bors
Copy link
Contributor

bors bot commented Nov 10, 2021

Build succeeded:

@bors bors bot merged commit 5ec185f into master Nov 10, 2021
@bors bors bot deleted the rs/issue-450/network-stuck branch November 10, 2021 12:17
richardeoin added a commit to richardeoin/stm32h7xx-hal that referenced this pull request Dec 13, 2021
Patch from quartiq/stabilizer#462

Tested that the expected registers are indeed set on a STM32H747I-DISCO

> MMC_RX_INTERRUPT_MASK:               0x0C020060  MMC Rx interrupt mask register
> MMC_TX_INTERRUPT_MASK:               0x0C20C000  MMC Tx interrupt mask register

Closes stm32-rs#275
richardeoin added a commit to richardeoin/stm32h7xx-hal that referenced this pull request Dec 13, 2021
Patch from quartiq/stabilizer#462

Tested that the expected registers are indeed set on a STM32H747I-DISCO

> MMC_RX_INTERRUPT_MASK:               0x0C020060  MMC Rx interrupt mask register
> MMC_TX_INTERRUPT_MASK:               0x0C20C000  MMC Tx interrupt mask register

Closes stm32-rs#275
bors bot added a commit to stm32-rs/stm32h7xx-hal that referenced this pull request Dec 13, 2021
295: Disable ethernet MAC MMC counter interrupts r=jordens a=richardeoin

Patch from quartiq/stabilizer#462

Tested that the expected registers are indeed set on a STM32H747I-DISCO

> MMC_RX_INTERRUPT_MASK:               0x0C020060  MMC Rx interrupt mask register
> MMC_TX_INTERRUPT_MASK:               0x0C20C000  MMC Tx interrupt mask register

Closes #275

Co-authored-by: Richard Meadows <962920+richardeoin@users.noreply.github.com>
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.

Network stuck
2 participants