delay.h 670 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __UM_DELAY_H
  3. #define __UM_DELAY_H
  4. #include <asm-generic/delay.h>
  5. #include <linux/time-internal.h>
  6. static inline void um_ndelay(unsigned long nsecs)
  7. {
  8. if (time_travel_mode == TT_MODE_INFCPU ||
  9. time_travel_mode == TT_MODE_EXTERNAL) {
  10. time_travel_ndelay(nsecs);
  11. return;
  12. }
  13. ndelay(nsecs);
  14. }
  15. #undef ndelay
  16. #define ndelay(n) um_ndelay(n)
  17. static inline void um_udelay(unsigned long usecs)
  18. {
  19. if (time_travel_mode == TT_MODE_INFCPU ||
  20. time_travel_mode == TT_MODE_EXTERNAL) {
  21. time_travel_ndelay(1000 * usecs);
  22. return;
  23. }
  24. udelay(usecs);
  25. }
  26. #undef udelay
  27. #define udelay(n) um_udelay(n)
  28. #endif /* __UM_DELAY_H */