Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2638794701


##
arch/Kconfig:
##
@@ -1316,11 +1316,12 @@ comment "Board Settings"
 
 config BOARD_LOOPSPERMSEC
int "Delay loops per millisecond"
-   default 5000
+   default -1

Review Comment:
   let's remove the default value to enforce the user must provide a value in 
defconfig and remove static_assert in ALL files



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2638794701


##
arch/Kconfig:
##
@@ -1316,11 +1316,12 @@ comment "Board Settings"
 
 config BOARD_LOOPSPERMSEC
int "Delay loops per millisecond"
-   default 5000
+   default -1

Review Comment:
   let's remove the default value and static_assert in ALL files



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3680648912

   Running list of boards which need a LOOPSPERMSEC value:
   
   - [ ] fvp-v84-aarch32/fvp-armv8r-aarch32
   - [ ] mps/mps2-an500
   - [ ] mps/mps2-an521
   - [ ] mps/mps3-an547
   - [ ] phy62xx/phy6222
   - [ ] stm32wl5/nucleo-wl55jc
   - [ ] tms570/tms570ls31x-usb-kit
   - [ ] stm32/nucleo-g474re
   - [ ] stm32/b-g474e-dpow1
   - [ ] fvp-v8r/fvp-armv8r
   - [ ] imx8/imx8qm-mek
   - [x] a527/avaota-a1


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


lupyuen commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3680592727

   Sorry @linguini1: Could you set this for Avaota-A1? Thanks :-)
   `boards/arm64/a527/avaota-a1/configs/nsh/defconfig`
   ```bash
   CONFIG_BOARD_LOOPSPERMSEC=201847   
   ```
   


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3679857073

   The remaining CI failures I believe are entirely due to board configurations 
that never had a LOOPSPERMSEC definition in the first place. I will try to find 
some people who own these boards that can come up with a realistic value from 
`calibudelay` to solve the errors.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


wangchdo commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3679708706

   > Thank you @linguini1 great job! With your time precision updates and 
#17489 ns scale high resolution timer we only lack one small function to rewind 
time backwards :D
   
   @cederom
   
   https://github.com/apache/nuttx/pull/17489 has been split into two parts. 
Part 1 https://github.com/apache/nuttx/pull/17517 has already been merged after 
SMP-specific optimizations. The remaining changes are now submitted as Part 2 
in a separate PR:
   https://github.com/apache/nuttx/pull/17573
   
   To avoid duplicate review effort, this PR is marked as draft. Please 
continue to review Part 2 https://github.com/apache/nuttx/pull/17573 instead.
   
   Once Part 2 https://github.com/apache/nuttx/pull/17573 is merged, all 
functionality originally planned for this PR will be completed, and this PR 
will be closed.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-12-21 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3679211796

   PR rebased on latest master. I've removed the `CONFIG_BOARD_LOOPSPERMSEC=0` 
option from all sim configs since now it properly depends on the timer delay 
implementation from CLOCKDEVICE and doesn't need to use the `up_udelay` 
interface or the arch/alarm interface.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-22 Thread via GitHub


cederom commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3434275313

   Thank you @jlaitine for the hints here! :-) @linguini1 looks like you found 
a hard nutt(x) to crack :D :D 


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-22 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3433983169

   > The code which redirected the ndelay&udelay to oneshot driver ended up 
using systick to implement udelay, which caused e.g. udelay(1) to sleep 
1-2 microseconds instead of busylooping for one microsecond. This just 
blew up many places where a short bysyloop was needed, in device drivers 
   
   That I can understand, which is definitely suboptimal. However, drivers 
shouldn't have been relying on up_udelay being accurate either. If the busy 
delay gets interrupted for 1us because of a context switch, you end up sleeping 
for 2+us as well. I don't think these implementations differ in that way. But 
with systick, if you sleep for 1us and get interrupted due to context switch 
for 10us, when CPU is regained you'll see that >2us has passed and stop 
immediately. With busy wait, you'll continue the remaining iterations for 1us 
and total sleep time ends up being 11us. The only time busy wait is better is 
for sub-systick delays where context switching doesn't happen or very rarely 
happens.
   
   I personally think neither of these methods are very good, but I do think 
that the sim architecture needs to adhere to delays.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-22 Thread via GitHub


jlaitine commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3433949157

   The code which redirected the ndelay&udelay to oneshot driver ended up using 
systick to implement udelay, which caused e.g. udelay(1) to sleep 1-2 
microseconds instead of busylooping for one microsecond. This just blew up many 
places where a short bysyloop was needed, in device drivers 
   
   Just when you revert the fixes, please *make sure* that ndelay/udelay never 
end up to a systick based delay!
   
   Matteo Golin kirjoitti keskiviikko 22. lokakuuta 2025:
   > @linguini1 commented on this pull request.
   > 
   > 
   > 
   > > @@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
   >  CONFIG_ARCH_CHIP="sim"
   >  CONFIG_ARCH_SIM=y
   >  CONFIG_BOARD_LATE_INITIALIZE=y
   > +CONFIG_BOARD_LOOPSPERMSEC=0
   > 
   > Xiang can probably answer better, but my understanding is that once the 
`CLOCKDEVICE` logic is merged in upstream, that can replace the delay method 
used by `arch_alarm.c` and make it more accurate (not using busy-wait, not 
using system-ticks). Unfortunately I have been to busy to go back and re-watch 
the talk, but I plan to sometime soon.
   > 
   > -- 
   > Reply to this email directly or view it on GitHub:
   > https://github.com/apache/nuttx/pull/17011#discussion_r2452619791
   > You are receiving this because you were mentioned.
   > 
   > Message ID: ***@***.***


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-22 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2452619791


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   Xiang can probably answer better, but my understanding is that once the 
`CLOCKDEVICE` logic is merged in upstream, that can replace the delay method 
used by `arch_alarm.c` and make it more accurate (not using busy-wait, not 
using system-ticks). Unfortunately I have been to busy to go back and re-watch 
the talk, but I plan to sometime soon.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-22 Thread via GitHub


cederom commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2452540675


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   Thank you guys! How does these two changes proposed by @linguini1 here and 
@Fix-Point CLOCKDEVICE live together? Would that fix delays in SIM after 
@linguini1 work from this PR is included and boards are updated? Or this will 
be completely alternative functionality aside to existing timers/delays 
implementation? :-) 



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-22 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2452448635


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   I've reverted #14450 in #17221. This makes the sim architecture respect 
delays properly now. Please review it if you have the time. My plan once that 
is merged is to rebase this PR to include those changes.
   
   I think in this PR I will add a DEBUGASSERT to the `arch_timer.c` 
implementation to avoid the case where `g_oneshot_lower == NULL && 
CONFIG_BOARD_LOOPSPERMSEC == 0`, since that is another scenario where delays 
will be ignored. Then I feel comfortable keeping all sim configurations with 
`CONFIG_BOARD_LOOPSPERMSEC=0` and we can move on to getting sane values for the 
rest of the NuttX configurations missing a non-default value.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-19 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2443405441


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   Yes, revert #14450. But, #17220 can't fix the problem mentioned by @jlaitine 
. The fix need @Fix-Point upstream his work described in `CLOCKDEVICE: New 
timer driver abstraction for NuttX.`.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-18 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3349100175

   @acassis is there a defined way to document Kconfig options, such as this 
important constant? I think it would be good to be able to reference it from 
other places in the RST docs (like a global macro symbol that links to its 
documentation location). I want to be able to indicate that drivers should 
*not* assume this value is defined, and should avoid using it if at all 
possible. I saw a few drivers and board bring up code that rely on this value 
where they could instead use `up_udelay`.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-18 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2376605497


##
boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig:
##
@@ -16,6 +16,7 @@ CONFIG_ARCH_CHIP_QEMU=y
 CONFIG_ARCH_CHIP_QEMU_A53=y
 CONFIG_ARCH_INTERRUPTSTACK=4096
 CONFIG_AUDIO=y
+CONFIG_BOARD_LOOPSPERMSEC=354375

Review Comment:
   I don't see how the implementations in that file avoid using the coarse 
delay, unless there is an implementation of the delay functions for QEMU 
elsewhere?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-18 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2442334240


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   It's better to revert https://github.com/apache/nuttx/pull/17200, the 
problem hit by @jlaitine is fixed by new clock driver which just talk on Apache 
NuttX® International Workshop 2025: CLOCKDEVICE: New timer driver abstraction 
for NuttX.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-18 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2442377816


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   Do you mean revert #14450 or use #17200?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-18 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2376573961


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   > ARCH_ALARM/ARCH_TIMER
   
   After looking into this, I realize this is not true. `up_ndelay` uses 
`up_udelaycoarse` which relies on LOOPSPERMSEC. This is a weak definition 
though, so it may be overwritten sometimes. I think it's more complicated than 
checking for `ARCH_ALARM/ARCH_TIMER`.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-18 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2393378585


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   before your change, arch_alarm.c implement up_udelay:
   
https://github.com/apache/nuttx/pull/17071/files#diff-0b93d3b636b9a621c7a7904978e06958366a6f72a48a56e954253dbb8e01aa1dL410



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-17 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3352839618

   > it's better to call up_udelay and remove BOARD_LOOPSPERMSEC directly.
   
   I agree completely, hence why I want to document that drivers shouldn't be 
relying on the `LOOPSPERMSEC` macro ever, and if they can, they should avoid 
using `up_udelay` as well since the default implementation isn't very robust.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-17 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2395144485


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   > before your change, arch_alarm.c implement up_udelay: 
https://github.com/apache/nuttx/pull/17071/files#diff-0b93d3b636b9a621c7a7904978e06958366a6f72a48a56e954253dbb8e01aa1dL410
   
   You're right, but if you look at the implementation in arch_alarm.c, you can 
see that it uses the exact same as the default definition. So even it depended 
on `CONFIG_BOARD_LOOPSPERMSEC`. So I still have a gap in my understanding about 
why `sim` is able to run with that option set to 0, essentially never waiting. 
Where else is the delay coming from?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-17 Thread via GitHub


xiaoxiang781216 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3349716161

   > @acassis is there a defined way to document Kconfig options, such as this 
important constant? I think it would be good to be able to reference it from 
other places in the RST docs (like a global macro symbol that links to its 
documentation location). I want to be able to indicate that drivers should 
_not_ assume this value is defined, and should avoid using it if at all 
possible. I saw a few drivers and board bring up code that rely on this value 
where they could instead use `up_udelay`.
   
   it's better to call up_udelay and remove BOARD_LOOPSPERMSEC directly.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-17 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2440935185


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   > see this pr: #14450
   
   Ah, that makes more sense. So it was removed before I had unified the 
`up_delay` functions. That PR removes the "accurate" implementation in favour 
of always using the coarse implementation though, so that means after this PR 
was merged, the simulator would never respect delays at all since 
`LOOPSPERMSEC` is always set to 0 on sim if its not missing.
   
   So currently, `LOOPSPERMSEC` on sim causes it to never respect delays at 
all. Not sure how we haven't seen anything fail on sim due to that change, but 
it seems to be working. I guess my options here are to either restore the 
`arch_alarm.c` implementation with something that prevents architectures that 
use it from using coarse delays, or create a sim-specific `up_delay` definition 
which maybe uses the new `nxsched_sleep` from #17200? I don't think it's 
possible to find a good `LOOPSPERMSEC` value on sim since I would guess it 
varies widely depending on the host machine hardware.
   
   Do you have any suggestions on what would be the best option 
@xiaoxiang781216?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-17 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2440935185


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   > see this pr: #14450
   
   Ah, that makes more sense. So it was removed before I had unified the 
`up_delay` functions. That PR removes the "accurate" implementation in favour 
of always using the coarse implementation though, so that means after this PR 
was merged, the simulator would never respect delays at all since 
`LOOPSPERMSEC` is always set to 0 on sim if its not missing.
   
   So currently, `LOOPSPERMSEC` on sim causes it to never respect delays at 
all. Not sure how we haven't seen anything fail on sim due to that change, but 
it seems to be working. I guess my options here are to either restore the 
`arch_alarm.c` implementation with something that prevents architectures that 
use it from using coarse delays, or create a sim-specific `up_delay` definition 
which maybe uses the new `nxsched_sleep` from #17200? I don't think it's 
possible to find a good `LOOPSPERMSEC` value on sim since I would guess it 
varies widely depending on the host machine hardware.
   
   Do you have any suggestions on what would be the best option?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-13 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2415526449


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   see this pr: https://github.com/apache/nuttx/pull/14450



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-10-02 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2392778871


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   > sim select ALARM_ARCH automatically here: 
https://github.com/apache/nuttx/blob/master/arch/Kconfig#L119
   
   But `ALARM_ARCH` doesn't implement `up_udelay`. So these functions are still 
coming from the basic implementation.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-30 Thread via GitHub


acassis commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3353785740

   > @acassis is there a defined way to document Kconfig options, such as this 
important constant? I think it would be good to be able to reference it from 
other places in the RST docs (like a global macro symbol that links to its 
documentation location). I want to be able to indicate that drivers should 
_not_ assume this value is defined, and should avoid using it if at all 
possible. I saw a few drivers and board bring up code that rely on this value 
where they could instead use `up_udelay`.
   
   You can create a Documentation/ to it, but a better idea to avoid user to 
not setting it is raising a #warn when this symbol has the default value 0


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-30 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2389800285


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   sim select ALARM_ARCH automatically here:
   https://github.com/apache/nuttx/blob/master/arch/Kconfig#L119



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-29 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2389538588


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   @xiaoxiang781216 it looks like all of the failing builds for sim are the 
configurations without `BOARD_LOOPSPERMSEC=0`. These configurations also don't 
have `TIMER_ARCH` or `ARCH_ALARM` (at least the ones I saw). What I understand 
from this is that either sim is pulling its definition of `up_udelay` from 
elsewhere (I don't think this is the case, none of the other definitions that 
exist for it would be involved in a sim build) _or_ the behaviour of 
`up_udelay` doesn't matter for any of these sim configurations.
   
   Is it suitable to continue with adding `CONFIG_BOARD_LOOPSPERMSEC=0` to the 
remaining simulator configurations (they're all either using 0 or were using 
the old default value, so likely it doesn't affect anything)? Or is there some 
other approach you'd like me to take?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-25 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2377305939


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,

Review Comment:
   > this mean is time to merge the implementation into one:), since the soft 
busy wait isn't couple with arch/chip at all.
   
   This is done in #17071



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-24 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2376573961


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   > ARCH_ALARM/ARCH_TIMER
   
   After looking into this, I realize this is not true. `up_ndelay` uses 
`up_udelaycoarse` which relies on LOOPSPERMSEC. This is a weak definition 
though, so it may be overwritten sometimes. I think it's more complicated than 
checking for `ARCH_ALARM`.
   
   Also, there is no `ARCH_TIMER`, only `ARCH_TIMER_HOOK`.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-20 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3288909693

   I don't have imx8qm-mek (first time I heard about this i.MX 8QuadMax MEK). 
This board is very expensive (more than U$ 1K), it should be nice if we had a 
low cost board powered by MCIMX8QM.
   
   Ah, sorry! I guess the code-owners file might not be super representative. 
Hopefully someone else has one they can calibrate for.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-20 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286754764

   > @linguini1 instead of suggesting searching for CONFIG_BOARD_LOOPSPERMSEC I 
suggest search for calib_udelay because there is not a page dedicated to 
CONFIG_BOARD_LOOPSPERMSEC and when searching for it returns many pages.
   
   That's fine, I plan to make one for BOARD_LOOPSPERMSEC but it's better to 
redirect to calib_udelay for now, I agree.
   
   > Searching for calib_udelay returned two pages, but I think we need to move 
calib_udelay from apps/examples/ to apps/system/ because it is a system tool 
used to help the system to work correctly. And it also will avoid calib_udelay 
returning in the apps examples pages. What do you think?
   
   I don't mind moving it to the system directory but that's outside the scope 
of this PR. I agree it makes more sense, but I might do it later. Right now I 
just want to prevent users from making a frustrating mistake.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-20 Thread via GitHub


raiden00pl commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2348194369


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(

Review Comment:
   it looks like nuttx is already dealing with static_assert in a portable way: 
https://github.com/apache/nuttx/blob/71f558765c7d53d0dad001cd1617d7f6ecf23c8c/include/assert.h#L135-L147
   so it's not a problem :)
   



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-20 Thread via GitHub


cederom commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286422902

   Looks like we need to fix the boards where -1 / default is used, just to 
pass build here and have correct timings on these boards, then update the res 
of the boards depending on what we have at hand? :-)
   
   On the other hand we may keep this default and put some pressure / attention 
to the proper timings calibration when using different boards. I am wondering 
what impacts the value and if the differences are big - for instance when using 
specific optimization level, many irqs etc :-)


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-20 Thread via GitHub


acassis commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2345123030


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,
+"Please set a non-negative value for CONFIG_BOARD_LOOPSPERMSEC to pass "
+"compilation. It is recommended that after your initial build, you use "
+"the example 'calib_udelay' to get a precise value for this option. "
+"Please search the NuttX documentation for CONFIG_BOARD_LOOPSPERMSEC"

Review Comment:
   You missed space at end of this line, it is glued with the "for" word from 
next line.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347863605


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,

Review Comment:
   this mean is time to merge the implementation into one:), since the soft 
busy wait isn't couple with arch/chip at all.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347519109


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,

Review Comment:
   > there are many method to implement the busy wait loop, it's better to put 
your assert to the place which really use this macro.
   
   But this is used in many different places, so it would require replicating 
the assert statement many times



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347465221


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,

Review Comment:
   there are many method to implement the busy wait loop, it's better to put 
your assert to the place which really use this macro.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347401332


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(

Review Comment:
   Do you have another suggestion? I tried looking for other methods but most 
were C11. I determined this was alright to use since it is used in several 
other places within NuttX.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347400979


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   This was the value most often used on other `sim` configurations. I didn't 
know about these config options, I will look into that!



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347400878


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,

Review Comment:
   I just put it here since it will catch it where it's defined. Maybe I can 
put a guard around it so that it's not triggered if `ARCH_ARLAM` or 
`ARCH_TIMER` are enabled?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-14 Thread via GitHub


raiden00pl commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347185617


##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(

Review Comment:
   static_assert is C11 feature. NuttX common code should use only C89 features.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347083064


##
boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig:
##
@@ -16,6 +16,7 @@ CONFIG_ARCH_CHIP_QEMU=y
 CONFIG_ARCH_CHIP_QEMU_A53=y
 CONFIG_ARCH_INTERRUPTSTACK=4096
 CONFIG_AUDIO=y
+CONFIG_BOARD_LOOPSPERMSEC=354375

Review Comment:
   qemu use up_delay provided by:
   
https://github.com/apache/nuttx/blob/master/drivers/timers/arch_alarm.c#L410C20-L410C29
   don't need set CONFIG_BOARD_LOOPSPERMSEC.



##
include/nuttx/arch.h:
##
@@ -99,6 +99,18 @@
 #define DEBUGPOINT_BREAKPOINT0x04
 #define DEBUGPOINT_STEPPOINT 0x05
 
+/* Ensure that LOOPSPERMSEC is not the default, invalid value. If it is, let
+ * the user know that they need to change it and then calibrate it.
+ */
+
+static_assert(
+CONFIG_BOARD_LOOPSPERMSEC >= 0,

Review Comment:
   it's better to move the assert the place with really use it, since not all 
busy wait implementation depend on 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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


xiaoxiang781216 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2347082907


##
boards/sim/sim/sim/configs/vncserver/defconfig:
##
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LATE_INITIALIZE=y
+CONFIG_BOARD_LOOPSPERMSEC=0

Review Comment:
   why add sim with the default 0? sim use other method for busy loop wait:
   
https://github.com/apache/nuttx/blob/master/drivers/timers/arch_alarm.c#L410C20-L410C29
   all boards which enable ARCH_ALARM/ARCH_TIMER don't need set 
CONFIG_BOARD_LOOPSPERMSEC at all.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


acassis commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3288855681

   > > Anyone who can calibrate for `fvp-armv8r`, `avaota-a1` and `imx8qm-mek`?
   > 
   > According to codeowners, maybe @qinwei2004, @hujun260 can help with 
`fvp-armv8r`, @lupyuen can help with `avaota-a1` and @qinwei2004 or @acassis 
can help iwth `imx8qm-mek`?
   
   @linguini1 I don't have imx8qm-mek (first time I heard about this i.MX 
8QuadMax MEK). This board is very expensive (more than U$ 1K), it should be 
nice if we had a low cost board powered by MCIMX8QM.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


tinnedkarma commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2346769481


##
arch/Kconfig:
##
@@ -1274,11 +1274,12 @@ comment "Board Settings"
 
 config BOARD_LOOPSPERMSEC

Review Comment:
   All other board related configs lives in the boards/Kconfig, at the end of 
the file. Won't be an idea to move this board related config there as well?
   Overall, the location of this config have no functional impact, but it may 
add some consistency benefit for this config to be in the boards/Kconfig file.



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3288718905

   > Anyone who can calibrate for `fvp-armv8r`, `avaota-a1` and `imx8qm-mek`?
   
   According to codeowners, maybe @qinwei2004, @hujun260 can help with 
`fvp-armv8r`, @lupyuen can help with `avaota-a1` and @qinwei2004 or @acassis 
can help iwth `imx8qm-mek`?
   
   


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


linguini1 commented on code in PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#discussion_r2346809595


##
arch/Kconfig:
##
@@ -1274,11 +1274,12 @@ comment "Board Settings"
 
 config BOARD_LOOPSPERMSEC

Review Comment:
   That's true. I think this was in arch/Kconfig because the `up_udelay`, 
`up_mdelay` and etc. functions are architecture implemented. But it is a 
`BOARD_*` config. I won't move the option in this PR but it would be good to 
move it later. Maybe you could open an issue?



-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-13 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3288582462

   Anyone who can calibrate for `fvp-armv8r`, `avaota-a1` and `imx8qm-mek`?
   
   As a side note, it would be great if the build logs displayed a summary of 
what failed at the bottom instead of having to scroll through the error output.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-12 Thread via GitHub


acassis commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286926271

   > @acassis @jerpelea do you think this change would be considered a 
"breaking change"?
   
   No, it is not.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-12 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286922030

   @acassis @jerpelea do you think this change would be considered a "breaking 
change"?


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-12 Thread via GitHub


acassis commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286913868

   > MSVC failure appears unrelated.
   
   @simbit18 you are the MS guy, any idea?


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-12 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286785774

   MSVC failure appears unrelated.


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-12 Thread via GitHub


acassis commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3286478732

   @linguini1 instead of suggesting searching for CONFIG_BOARD_LOOPSPERMSEC I 
suggest search for calib_udelay because there is not a page dedicated to 
CONFIG_BOARD_LOOPSPERMSEC and when searching for it returns many pages.
   
   Searching for calib_udelay returned two pages, but I think we need to move 
calib_udelay from apps/examples/ to apps/system/ because it is a system tool 
used to help the system to work correctly. And it also will avoid calib_udelay 
returning in the apps examples pages. What do you think?


-- 
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]



Re: [PR] arch/delays: Set invalid default value for BOARD_LOOPSPERMSEC [nuttx]

2025-09-12 Thread via GitHub


linguini1 commented on PR #17011:
URL: https://github.com/apache/nuttx/pull/17011#issuecomment-3285871269

   Looks like there are some defconfigs using the default value. Good to catch.


-- 
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]