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