1*8044SWilliam.Kucharski@Sun.COM /* A couple of routines to implement a low-overhead timer for drivers */ 2*8044SWilliam.Kucharski@Sun.COM 3*8044SWilliam.Kucharski@Sun.COM /* 4*8044SWilliam.Kucharski@Sun.COM * This program is free software; you can redistribute it and/or 5*8044SWilliam.Kucharski@Sun.COM * modify it under the terms of the GNU General Public License as 6*8044SWilliam.Kucharski@Sun.COM * published by the Free Software Foundation; either version 2, or (at 7*8044SWilliam.Kucharski@Sun.COM * your option) any later version. 8*8044SWilliam.Kucharski@Sun.COM */ 9*8044SWilliam.Kucharski@Sun.COM #include "grub.h" 10*8044SWilliam.Kucharski@Sun.COM #include "timer.h" 11*8044SWilliam.Kucharski@Sun.COM 12*8044SWilliam.Kucharski@Sun.COM /* Machine Independant timer helper functions */ 13*8044SWilliam.Kucharski@Sun.COM mdelay(unsigned int msecs)14*8044SWilliam.Kucharski@Sun.COMvoid mdelay(unsigned int msecs) 15*8044SWilliam.Kucharski@Sun.COM { 16*8044SWilliam.Kucharski@Sun.COM unsigned int i; 17*8044SWilliam.Kucharski@Sun.COM for(i = 0; i < msecs; i++) { 18*8044SWilliam.Kucharski@Sun.COM udelay(1000); 19*8044SWilliam.Kucharski@Sun.COM poll_interruptions(); 20*8044SWilliam.Kucharski@Sun.COM } 21*8044SWilliam.Kucharski@Sun.COM } 22*8044SWilliam.Kucharski@Sun.COM waiton_timer2(unsigned int ticks)23*8044SWilliam.Kucharski@Sun.COMvoid waiton_timer2(unsigned int ticks) 24*8044SWilliam.Kucharski@Sun.COM { 25*8044SWilliam.Kucharski@Sun.COM load_timer2(ticks); 26*8044SWilliam.Kucharski@Sun.COM while(timer2_running()) { 27*8044SWilliam.Kucharski@Sun.COM poll_interruptions(); 28*8044SWilliam.Kucharski@Sun.COM } 29*8044SWilliam.Kucharski@Sun.COM } 30