Merge pull request #2486 from cesanta/st_v307

Post-IRQ DMASR flags cleanup
This commit is contained in:
Sergey Lyubka 2023-11-25 07:49:32 +00:00 committed by GitHub
commit 36748ee406
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 12 deletions

View File

@ -9308,12 +9308,10 @@ void ETH_IRQHandler(void) {
if (++s_rxno >= ETH_DESC_CNT) s_rxno = 0;
}
}
#ifdef __riscv
ETH->DMASR = ~0; // TODO: do more fine-grained flag cleanup
#else
ETH->DMASR = MG_BIT(7); // Clear possible RBUS while processing
#endif
ETH->DMARPDR = 0; // and resume RX
// Cleanup flags
ETH->DMASR = MG_BIT(16) // NIS, normal interrupt summary
| MG_BIT(7); // Clear possible RBUS while processing
ETH->DMARPDR = 0; // and resume RX
}
struct mg_tcpip_driver mg_tcpip_driver_stm32 = {mg_tcpip_driver_stm32_init,

View File

@ -216,12 +216,10 @@ void ETH_IRQHandler(void) {
if (++s_rxno >= ETH_DESC_CNT) s_rxno = 0;
}
}
#ifdef __riscv
ETH->DMASR = ~0; // TODO: do more fine-grained flag cleanup
#else
ETH->DMASR = MG_BIT(7); // Clear possible RBUS while processing
#endif
ETH->DMARPDR = 0; // and resume RX
// Cleanup flags
ETH->DMASR = MG_BIT(16) // NIS, normal interrupt summary
| MG_BIT(7); // Clear possible RBUS while processing
ETH->DMARPDR = 0; // and resume RX
}
struct mg_tcpip_driver mg_tcpip_driver_stm32 = {mg_tcpip_driver_stm32_init,