delay.h 582 B

1234567891011121314151617181920212223242526
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
  4. */
  5. #ifndef _ASM_DELAY_H
  6. #define _ASM_DELAY_H
  7. #include <linux/param.h>
  8. extern void __delay(unsigned long cycles);
  9. extern void __ndelay(unsigned long ns);
  10. extern void __udelay(unsigned long us);
  11. #define ndelay(ns) __ndelay(ns)
  12. #define udelay(us) __udelay(us)
  13. /* make sure "usecs *= ..." in udelay do not overflow. */
  14. #if HZ >= 1000
  15. #define MAX_UDELAY_MS 1
  16. #elif HZ <= 200
  17. #define MAX_UDELAY_MS 5
  18. #else
  19. #define MAX_UDELAY_MS (1000 / HZ)
  20. #endif
  21. #endif /* _ASM_DELAY_H */