raiden00pl commented on issue #12653:
URL: https://github.com/apache/nuttx/issues/12653#issuecomment-2219758230

   Hi @LuchianMihai, improvements to stm32 are welcome, but please sync ALL 
stm32 families with your changes.
   The support for stm32 families in NuttX is a little mess, but they are all 
based on arch/stm32.
   This means that all these architectures should be modified:
   
   - arch/stm32f7
   - arch/stm32h7
   - arch/stm32l4
   - arch/stm32l5
   - arch/stm32u5
   - arch/stm32wb
   - arch/stm32wl5
   - arch/stm32f0l0g0
   
   > up_txint guarded by SERIAL_HAVE_RXDMA_OPS define & up_rxint guarded by 
SERIAL_HAVE_TXDMA_OPS define, which I find odd, shouldn't it be reversed?
   
   I think this is correct. You have to consider all possible cases for DMA:
   1. no RX DMA, no TX DMA
   2. no RX DMA, TX DMA enabled
   3. RX DMA enabled, no TX DMA
   4. RX DMA enabled, TX DMA enabled
   
   The case you are writing about applies to 2 and 3, where DMA is enabled only 
for one direction.
   So up_txint is required when: 
   1. no dma at all 
   2. no TX DMA
   
   > up_*usartint functions are bit ackward to use, as stated above, I interact 
with two register using only one 16 bit variable.
   
   I agree this `priv->ie` looks weird. This is probably the case where 
something is implemented in a strange way, but it works, so it's safer not to 
touch it and no one had the initiative to fix it :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to