Lines Matching refs:ecuf
188 ecuf_init(struct ecu_func *ecuf)
191 memset(ecuf, 0, sizeof(*ecuf));
192 SIMPLEQ_INIT(&ecuf->ecuf_mem);
193 SIMPLEQ_INIT(&ecuf->ecuf_irq);
194 SIMPLEQ_INIT(&ecuf->ecuf_dma);
195 SIMPLEQ_INIT(&ecuf->ecuf_io);
199 eisa_parse_mem(struct ecu_func *ecuf, uint8_t *dp)
214 SIMPLEQ_INSERT_TAIL(&ecuf->ecuf_mem, ecum, ecum_list);
230 eisa_parse_irq(struct ecu_func *ecuf, uint8_t *dp)
240 SIMPLEQ_INSERT_TAIL(&ecuf->ecuf_irq, ecui, ecui_list);
255 eisa_parse_dma(struct ecu_func *ecuf, uint8_t *dp)
266 SIMPLEQ_INSERT_TAIL(&ecuf->ecuf_dma, ecud, ecud_list);
281 eisa_parse_io(struct ecu_func *ecuf, uint8_t *dp)
291 SIMPLEQ_INSERT_TAIL(&ecuf->ecuf_io, ecuio, ecuio_list);
362 struct ecu_func *ecuf;
529 ecuf = kmem_zalloc(sizeof(*ecuf), KM_SLEEP);
530 ecuf_init(ecuf);
531 ecuf->ecuf_funcno = func;
532 SIMPLEQ_INSERT_TAIL(&ecud->ecud_funcs, ecuf,
535 memcpy(&ecuf->ecuf_id, dp, sizeof(ecuf->ecuf_id));
536 dp += sizeof(ecuf->ecuf_id);
538 memcpy(&ecuf->ecuf_slot_info, dp,
539 sizeof(ecuf->ecuf_slot_info));
540 dp += sizeof(ecuf->ecuf_slot_info);
542 memcpy(&ecuf->ecuf_cfg_ext, dp,
543 sizeof(ecuf->ecuf_cfg_ext));
544 dp += sizeof(ecuf->ecuf_cfg_ext);
546 memcpy(&ecuf->ecuf_selections, dp,
547 sizeof(ecuf->ecuf_selections));
548 dp += sizeof(ecuf->ecuf_selections);
550 memcpy(&ecuf->ecuf_func_info, dp,
551 sizeof(ecuf->ecuf_func_info));
552 dp += sizeof(ecuf->ecuf_func_info);
554 if (ecuf->ecuf_func_info & ECUF_TYPE_STRING)
555 memcpy(ecuf->ecuf_type_string, dp,
556 sizeof(ecuf->ecuf_type_string));
557 dp += sizeof(ecuf->ecuf_type_string);
559 if (ecuf->ecuf_func_info & ECUF_MEM_ENTRY)
560 eisa_parse_mem(ecuf, dp);
563 if (ecuf->ecuf_func_info & ECUF_IRQ_ENTRY)
564 eisa_parse_irq(ecuf, dp);
567 if (ecuf->ecuf_func_info & ECUF_DMA_ENTRY)
568 eisa_parse_dma(ecuf, dp);
571 if (ecuf->ecuf_func_info & ECUF_IO_ENTRY)
572 eisa_parse_io(ecuf, dp);
575 if (ecuf->ecuf_func_info & ECUF_INIT_ENTRY)
576 memcpy(ecuf->ecuf_init, dp,
577 sizeof(ecuf->ecuf_init));
578 dp += sizeof(ecuf->ecuf_init);
602 struct ecu_func *ecuf;
608 SIMPLEQ_FOREACH(ecuf, &ecud->ecud_funcs, ecuf_list) {
609 if (ecuf->ecuf_funcno == func)
610 return (ecuf);
619 struct ecu_func *ecuf;
622 ecuf = eisa_lookup_func(slot, func);
623 if (ecuf == NULL)
626 SIMPLEQ_FOREACH(ecum, &ecuf->ecuf_mem, ecum_list) {
641 struct ecu_func *ecuf;
644 ecuf = eisa_lookup_func(slot, func);
645 if (ecuf == NULL)
648 SIMPLEQ_FOREACH(ecui, &ecuf->ecuf_irq, ecui_list) {
663 struct ecu_func *ecuf;
666 ecuf = eisa_lookup_func(slot, func);
667 if (ecuf == NULL)
670 SIMPLEQ_FOREACH(ecud, &ecuf->ecuf_dma, ecud_list) {
685 struct ecu_func *ecuf;
688 ecuf = eisa_lookup_func(slot, func);
689 if (ecuf == NULL)
692 SIMPLEQ_FOREACH(ecuio, &ecuf->ecuf_io, ecuio_list) {