DMA2D_IRQHandler does not get called upon transfer complete
I have migrated code working fine on STM32F767 to STM32H7A3.
The strange thing is DMA2D_IRQHandler does not get called upon memory-to-memory transfer complete. I call HAL_DMA2D_Start_IT() function, it returns no error, it does what it should, I can even call it subsequently but DMA2D_IRQHandler is not fired.
What could be the reason? Below is what I have checked, all settings seem to be OK.
I am puzzled.
uint32_t isr = hdma2d.Instance->ISR; // interrupt status register [0]
uint32_t ifcr = hdma2d.Instance->IFCR; // interrupt flag clear register [0]
uint32_t cr = hdma2d.Instance->CR; // control register [8961]
uint32_t v1 = __NVIC_GetVector(DMA2D_IRQn); // [134227345]
auto v2 = DMA2D_IRQHandler; // [134227345]
uint32_t e = __NVIC_GetEnableIRQ(DMA2D_IRQn); // [1]