1: /* 2: * Copyright (c) 1986 Regents of the University of California. 3: * All rights reserved. The Berkeley software License Agreement 4: * specifies the terms and conditions for redistribution. 5: * 6: * @(#)dhauto.c 1.2 (2.11BSD GTE) 12/30/92 7: */ 8: 9: #include "param.h" 10: #include "../machine/autoconfig.h" 11: #include "../machine/machparam.h" 12: 13: #include "ioctl.h" 14: #include "dhreg.h" 15: #include "dmreg.h" 16: 17: dhprobe(addr,vector) 18: struct dhdevice *addr; 19: int vector; 20: { 21: stuff(DH_TIE, &(addr->un.dhcsr)); 22: DELAY(5L); 23: stuff((B9600 << 10) | (B9600 << 6) | BITS7|PENABLE, &(addr->dhlpr)); 24: stuff(-1, &(addr->dhbcr)); 25: stuff(0, &(addr->dhcar)); 26: stuff(1, &(addr->dhbar)); 27: DELAY(35000L); /* wait 1/10'th of a sec for interrupt */ 28: DELAY(35000L); 29: stuff(0, &(addr->un.dhcsr)); 30: return(ACP_IFINTR); 31: } 32: 33: dmprobe(addr,vector) 34: struct dmdevice *addr; 35: int vector; 36: { 37: stuff(grab(&(addr->dmcsr)) | DM_DONE | DM_IE, &(addr->dmcsr)); 38: DELAY(20L); 39: stuff(0, &(addr->dmcsr)); 40: return(ACP_IFINTR); 41: }