lh                 67 kern/dev/lamebus/lhd.c uint32_t lhd_rdreg(struct lhd_softc *lh, uint32_t reg)
lh                 69 kern/dev/lamebus/lhd.c 	return bus_read_register(lh->lh_busdata, lh->lh_buspos, reg);
lh                 77 kern/dev/lamebus/lhd.c void lhd_wreg(struct lhd_softc *lh, uint32_t reg, uint32_t val)
lh                 79 kern/dev/lamebus/lhd.c 	bus_write_register(lh->lh_busdata, lh->lh_buspos, reg, val);
lh                 86 kern/dev/lamebus/lhd.c int lhd_code_to_errno(struct lhd_softc *lh, int code)
lh                 93 kern/dev/lamebus/lhd.c 	kprintf("lhd%d: Unknown result code %d\n", lh->lh_unit, code);
lh                103 kern/dev/lamebus/lhd.c lhd_iodone(struct lhd_softc *lh, int err)
lh                105 kern/dev/lamebus/lhd.c 	lh->lh_result = err;
lh                106 kern/dev/lamebus/lhd.c 	V(lh->lh_done);
lh                117 kern/dev/lamebus/lhd.c 	struct lhd_softc *lh = vlh;
lh                120 kern/dev/lamebus/lhd.c 	val = lhd_rdreg(lh, LHD_REG_STAT);
lh                129 kern/dev/lamebus/lhd.c 		lhd_wreg(lh, LHD_REG_STAT, 0);
lh                130 kern/dev/lamebus/lhd.c 		lhd_iodone(lh, lhd_code_to_errno(lh, val));
lh                190 kern/dev/lamebus/lhd.c lhd_reset(struct lhd_softc *lh)
lh                192 kern/dev/lamebus/lhd.c 	lhd_wreg(lh, LHD_REG_STAT, 0);
lh                203 kern/dev/lamebus/lhd.c 	struct lhd_softc *lh = d->d_data;
lh                219 kern/dev/lamebus/lhd.c 	if (sector+len > lh->lh_dev.d_blocks) {
lh                232 kern/dev/lamebus/lhd.c 		P(lh->lh_clear);
lh                239 kern/dev/lamebus/lhd.c 			result = uiomove(lh->lh_buf, LHD_SECTSIZE, uio);
lh                241 kern/dev/lamebus/lhd.c 				V(lh->lh_clear);
lh                247 kern/dev/lamebus/lhd.c 		lhd_wreg(lh, LHD_REG_SECT, sector+i);
lh                250 kern/dev/lamebus/lhd.c 		lhd_wreg(lh, LHD_REG_STAT, statval);
lh                253 kern/dev/lamebus/lhd.c 		P(lh->lh_done);
lh                256 kern/dev/lamebus/lhd.c 		result = lh->lh_result;
lh                263 kern/dev/lamebus/lhd.c 			result = uiomove(lh->lh_buf, LHD_SECTSIZE, uio);
lh                267 kern/dev/lamebus/lhd.c 		V(lh->lh_clear);
lh                282 kern/dev/lamebus/lhd.c config_lhd(struct lhd_softc *lh, int lhdno)
lh                290 kern/dev/lamebus/lhd.c 	lh->lh_buf = bus_map_area(lh->lh_busdata, lh->lh_buspos, LHD_BUFFER);
lh                293 kern/dev/lamebus/lhd.c 	lh->lh_clear = sem_create("lhd-clear", 1);
lh                294 kern/dev/lamebus/lhd.c 	if (lh->lh_clear == NULL) {
lh                297 kern/dev/lamebus/lhd.c 	lh->lh_done = sem_create("lhd-done", 0);
lh                298 kern/dev/lamebus/lhd.c 	if (lh->lh_done == NULL) {
lh                299 kern/dev/lamebus/lhd.c 		sem_destroy(lh->lh_clear);
lh                300 kern/dev/lamebus/lhd.c 		lh->lh_clear = NULL;
lh                305 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_open = lhd_open;
lh                306 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_close = lhd_close;
lh                307 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_io = lhd_io;
lh                308 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_ioctl = lhd_ioctl;
lh                309 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_blocks = bus_read_register(lh->lh_busdata, lh->lh_buspos,
lh                311 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_blocksize = LHD_SECTSIZE;
lh                312 kern/dev/lamebus/lhd.c 	lh->lh_dev.d_data = lh;
lh                315 kern/dev/lamebus/lhd.c 	return vfs_adddev(name, &lh->lh_dev, 1);
lh                 47 kern/dev/lamebus/lhd_att.c 	struct lhd_softc *lh;
lh                 55 kern/dev/lamebus/lhd_att.c 	lh = kmalloc(sizeof(struct lhd_softc));
lh                 56 kern/dev/lamebus/lhd_att.c 	if (lh==NULL) {
lh                 62 kern/dev/lamebus/lhd_att.c 	lh->lh_busdata = sc;
lh                 63 kern/dev/lamebus/lhd_att.c 	lh->lh_buspos = slot;
lh                 64 kern/dev/lamebus/lhd_att.c 	lh->lh_unit = lhdno;
lh                 68 kern/dev/lamebus/lhd_att.c 	lamebus_attach_interrupt(sc, slot, lh, lhd_irq);
lh                 70 kern/dev/lamebus/lhd_att.c 	return lh;