1*433d6423SLionel Sambuc #include <minix/drivers.h> 2*433d6423SLionel Sambuc #include <sys/types.h> 3*433d6423SLionel Sambuc #include "pci_helper.h" 4*433d6423SLionel Sambuc 5*433d6423SLionel Sambuc WaitBitd(int paddr,int bitno,int state,long tmout)6*433d6423SLionel Sambucint WaitBitd (int paddr, int bitno, int state, long tmout) 7*433d6423SLionel Sambuc { 8*433d6423SLionel Sambuc unsigned long mask; 9*433d6423SLionel Sambuc 10*433d6423SLionel Sambuc mask = 1UL << bitno; 11*433d6423SLionel Sambuc tmout *= 5000; 12*433d6423SLionel Sambuc 13*433d6423SLionel Sambuc if(state) { 14*433d6423SLionel Sambuc while(tmout-- > 0) { 15*433d6423SLionel Sambuc if(pci_inl(paddr) & mask) { 16*433d6423SLionel Sambuc return 0; 17*433d6423SLionel Sambuc } 18*433d6423SLionel Sambuc } 19*433d6423SLionel Sambuc } else { 20*433d6423SLionel Sambuc while(tmout-- > 0) { 21*433d6423SLionel Sambuc if(!(pci_inl(paddr) & mask)) { 22*433d6423SLionel Sambuc return 0; 23*433d6423SLionel Sambuc } 24*433d6423SLionel Sambuc } 25*433d6423SLionel Sambuc } 26*433d6423SLionel Sambuc return 0; 27*433d6423SLionel Sambuc } 28