stbenn opened a new issue, #16259:
URL: https://github.com/apache/nuttx/issues/16259

   ### Description
   
   I am hoping to get some clarification on when it is appropriate to use each 
of the sleep/delay functions provided in NuttX.
   - `up_delay`, `up_udelay` and `up_mdelay`
   - `nxsig_sleep`, `nxsig_usleep`
   
   If my understanding is correct, the `up_xdelay` functions are blocking and 
won't release the task during long blocks whereas the `nxsig_sleep` functions 
will release control so other tasks can run. I guess I am struggling to find a 
situation in which `up_delay` or `up_mdelay` should be used instead of 
`nxsig_usleep` in arch peripheral drivers. Are there side effects of `nxsig_` 
sleeps that I am missing?
   
   Background for why I am asking this question: The STM32 ethernet drivers use 
both `nxsig_usleep` and `up_udelay`/`up_mdelay`. In one of our H7 applications, 
the blocking delays (`up_mdelay`) in `stm32_phyinit` has caused issues. While I 
work on adding STM32H5 peripheral drivers, I want to make sure I am using the 
correct functions for sleep/delays. 
   
   ### Verification
   
   - [x] I have verified before submitting the report.


-- 
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: commits-unsubscr...@nuttx.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to