Home | History | Annotate | Download | only in netboot

Lines Matching defs:iem

151 ieack(volatile struct iereg *ier, struct iemem *iem)
155 iem->im_scb.ie_command = iem->im_scb.ie_status & IE_ST_WHENCE;
157 while (iem->im_scb.ie_command)
165 struct iemem *iem = ie_softc.sc_mem;
173 /*printf("ier %x iem %x\n", ier, iem);*/
177 memset(iem, 0, sizeof(*iem));
178 iem->im_scp.scp_sysbus = 0;
179 iem->im_scp.scp_iscp_low = (int)&iem->im_iscp & 0xffff;
180 iem->im_scp.scp_iscp_high = (int)&iem->im_iscp >> 16;
182 iem->im_iscp.iscp_scboffset = (int)&iem->im_scb - (int) iem;
183 iem->im_iscp.iscp_busy = 1;
184 iem->im_iscp.iscp_base_low = (int)iem & 0xffff;
185 iem->im_iscp.iscp_base_high = (int)iem >> 16;
204 a = (int) &iem->im_scp | IE_PORT_NEWSCP;
217 iem->im_scb.ie_command = IE_CU_START;
218 iem->im_scb.ie_command_list = (int) &iem->im_cc - (int) iem;
219 iem->im_cc.com.ie_cmd_status = 0;
220 iem->im_cc.com.ie_cmd_cmd = IE_CMD_CONFIG | IE_CMD_LAST;
221 iem->im_cc.com.ie_cmd_link = 0xffff;
222 iem->im_cc.ie_config_count = 0x0c;
223 iem->im_cc.ie_fifo = 8;
224 iem->im_cc.ie_save_bad = 0x40;
225 iem->im_cc.ie_addr_len = 0x2e;
226 iem->im_cc.ie_priority = 0;
227 iem->im_cc.ie_ifs = 0x60;
228 iem->im_cc.ie_slot_low = 0;
229 iem->im_cc.ie_slot_high = 0xf2;
230 iem->im_cc.ie_promisc = 0;
231 iem->im_cc.ie_crs_cdt = 0;
232 iem->im_cc.ie_min_len = 64;
233 iem->im_cc.ie_junk = 0xff;
239 ieack(ier, iem);
241 /*printf("ic %x\n", &iem->im_ic);*/
243 iem->im_scb.ie_command = IE_CU_START;
244 iem->im_scb.ie_command_list = (int)&iem->im_ic - (int)iem;
245 iem->im_ic.com.ie_cmd_status = 0;
246 iem->im_ic.com.ie_cmd_cmd = IE_CMD_IASETUP | IE_CMD_LAST;
247 iem->im_ic.com.ie_cmd_link = 0xffff;
248 memcpy((void *)&iem->im_ic.ie_address, myea,
249 sizeof(iem->im_ic.ie_address));
255 ieack(ier, iem);
260 iem->im_rfd[i].ie_fd_next = (int)&iem->im_rfd[(i+1) % NRXBUF] -
261 (int)iem;
262 iem->im_rbd[i].ie_rbd_next = (int)&iem->im_rbd[(i+1) % NRXBUF] -
263 (int)iem;
264 a = (int)&iem->im_rxbuf[i * IE_RBUF_SIZE];
265 iem->im_rbd[i].ie_rbd_buffer_low = a & 0xffff;
266 iem->im_rbd[i].ie_rbd_buffer_high = a >> 16;
267 iem->im_rbd[i].ie_rbd_length = IE_RBUF_SIZE;
269 iem->im_rfd[NRXBUF - 1].ie_fd_last |= IE_FD_LAST;
270 iem->im_rbd[NRXBUF - 1].ie_rbd_length |= IE_RBD_LAST;
271 iem->im_rfd[0].ie_fd_buf_desc = (int)&iem->im_rbd[0] - (int)iem;
274 printf("rfd[0] %x rbd[0] %x buf[0] %x\n", &iem->im_rfd, &iem->im_rbd,
275 &iem->im_rxbuf);
279 iem->im_scb.ie_command = IE_RU_START;
280 iem->im_scb.ie_command_list = 0;
281 iem->im_scb.ie_recv_list = (int) &iem->im_rfd[0] - (int) iem;
283 while (iem->im_scb.ie_command)
286 ieack(ier, iem);
293 struct iemem *iem = ie_softc.sc_mem;
299 status = iem->im_rfd[slot].ie_fd_status;
306 length = iem->im_rbd[slot].ie_rbd_actual & 0x3fff;
309 memcpy(pkt, (void *)&iem->im_rxbuf[slot * IE_RBUF_SIZE],
312 iem->im_rfd[slot].ie_fd_status = 0;
313 iem->im_rfd[slot].ie_fd_last |= IE_FD_LAST;
314 iem->im_rfd[(slot+NRXBUF-1)%NRXBUF].ie_fd_last &=
316 iem->im_rbd[slot].ie_rbd_actual = 0;
317 iem->im_rbd[slot].ie_rbd_length |= IE_RBD_LAST;
318 iem->im_rbd[(slot+NRXBUF-1)%NRXBUF].ie_rbd_length &=
326 if ((iem->im_scb.ie_status & IE_RU_READY) == 0) {
330 iem->im_rbd[slot].ie_rbd_length &= ~IE_RBD_LAST;
331 iem->im_rfd[slot].ie_fd_last &= ~IE_FD_LAST;
333 iem->im_rbd[NRXBUF-1].ie_rbd_length |= IE_RBD_LAST;
334 iem->im_rfd[NRXBUF-1].ie_fd_last |= IE_FD_LAST;
336 iem->im_rfd[0].ie_fd_buf_desc = (int)&iem->im_rbd[0] - (int)iem;
338 iem->im_scb.ie_command = IE_RU_START;
339 iem->im_scb.ie_command_list = 0;
340 iem->im_scb.ie_recv_list = (int)&iem->im_rfd[0] - (int)iem;
342 while (iem->im_scb.ie_command)
354 struct iemem *iem = ie_softc.sc_mem;
361 while (iem->im_scb.ie_command)
365 memcpy((void *)&iem->im_txbuf[xx], p, len);
370 iem->im_xd[xx].ie_xmit_flags = len | IE_XMIT_LAST;
371 iem->im_xd[xx].ie_xmit_next = 0xffff;
372 a = (int) &iem->im_txbuf[xx];
373 iem->im_xd[xx].ie_xmit_buf_low = a & 0xffff;
374 iem->im_xd[xx].ie_xmit_buf_high = a >> 16;
377 iem->im_xc[xx].com.ie_cmd_status = 0;
378 iem->im_xc[xx].com.ie_cmd_cmd = IE_CMD_XMIT | IE_CMD_LAST;
379 iem->im_xc[xx].com.ie_cmd_link = 0xffff;
380 iem->im_xc[xx].ie_xmit_desc = (int)&iem->im_xd[xx] - (int)iem;
381 iem->im_xc[xx].ie_xmit_length = len;
382 memcpy((void *)&iem->im_xc[xx].ie_xmit_addr, p,
383 sizeof iem->im_xc[xx].ie_xmit_addr);
385 iem->im_scb.ie_command = IE_CU_START;
386 iem->im_scb.ie_command_list = (int)&iem->im_xc[xx] - (int)iem;
435 struct iemem *iem = ie_softc.sc_mem;
440 iem->im_iscp.iscp_busy = 1;
460 printf("status %x busy %x\n", iem->im_scb.ie_status,
461 iem->im_iscp.iscp_busy);