Lines Matching full:a

30 extern void diva_add_slave_adapter(diva_os_xdi_adapter_t * a);
35 extern int diva_card_read_xlog(diva_os_xdi_adapter_t * a);
60 static int diva_4bri_cleanup_adapter(diva_os_xdi_adapter_t * a);
61 static int _4bri_get_serial_number(diva_os_xdi_adapter_t * a);
62 static int diva_4bri_cmd_card_proc(struct _diva_os_xdi_adapter *a,
65 static int diva_4bri_cleanup_slave_adapters(diva_os_xdi_adapter_t * a);
66 static int diva_4bri_write_fpga_image(diva_os_xdi_adapter_t * a,
76 static int diva_4bri_stop_adapter(diva_os_xdi_adapter_t * a);
102 static void diva_4bri_set_addresses(diva_os_xdi_adapter_t *a) in diva_4bri_set_addresses() argument
104 dword offset = a->resources.pci.qoffset; in diva_4bri_set_addresses()
105 dword c_offset = offset * a->xdi_adapter.ControllerNumber; in diva_4bri_set_addresses()
107 a->resources.pci.mem_type_id[MEM_TYPE_RAM] = 2; in diva_4bri_set_addresses()
108 a->resources.pci.mem_type_id[MEM_TYPE_ADDRESS] = 2; in diva_4bri_set_addresses()
109 a->resources.pci.mem_type_id[MEM_TYPE_CONTROL] = 2; in diva_4bri_set_addresses()
110 a->resources.pci.mem_type_id[MEM_TYPE_RESET] = 0; in diva_4bri_set_addresses()
111 a->resources.pci.mem_type_id[MEM_TYPE_CTLREG] = 3; in diva_4bri_set_addresses()
112 a->resources.pci.mem_type_id[MEM_TYPE_PROM] = 0; in diva_4bri_set_addresses()
117 a->xdi_adapter.Address = a->resources.pci.addr[2]; /* BAR2 SDRAM */ in diva_4bri_set_addresses()
118 a->xdi_adapter.Address += c_offset; in diva_4bri_set_addresses()
120 a->xdi_adapter.Control = a->resources.pci.addr[2]; /* BAR2 SDRAM */ in diva_4bri_set_addresses()
122 a->xdi_adapter.ram = a->resources.pci.addr[2]; /* BAR2 SDRAM */ in diva_4bri_set_addresses()
123 a->xdi_adapter.ram += c_offset + (offset - MQ_SHARED_RAM_SIZE); in diva_4bri_set_addresses()
125 a->xdi_adapter.reset = a->resources.pci.addr[0]; /* BAR0 CONFIG */ in diva_4bri_set_addresses()
129 a->xdi_adapter.ctlReg = a->resources.pci.addr[3]; /* BAR3 CNTRL */ in diva_4bri_set_addresses()
133 a->xdi_adapter.prom = &a->xdi_adapter.reset[0x6E]; in diva_4bri_set_addresses()
144 int diva_4bri_init_card(diva_os_xdi_adapter_t * a) in diva_4bri_init_card() argument
153 int v2 = _4bri_is_rev_2_card(a->CardOrdinal); in diva_4bri_init_card()
154 int tasks = _4bri_is_rev_2_bri_card(a->CardOrdinal) ? 1 : MQ_INSTANCE_COUNT; in diva_4bri_init_card()
158 if (_4bri_is_rev_2_bri_card(a->CardOrdinal)) { in diva_4bri_init_card()
177 if (!_4bri_get_serial_number(a)) { in diva_4bri_init_card()
178 DBG_ERR(("A: 4BRI can't get Serial Number")) in diva_4bri_init_card()
179 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
186 a->xdi_adapter.Properties = CardProperties[a->CardOrdinal]; in diva_4bri_init_card()
188 a->xdi_adapter.Properties.Name, in diva_4bri_init_card()
189 a->xdi_adapter.serialNo, in diva_4bri_init_card()
190 a->resources.pci.bus, a->resources.pci.func)) in diva_4bri_init_card()
197 a->resources.pci.bar[bar] = in diva_4bri_init_card()
198 divasa_get_pci_bar(a->resources.pci.bus, in diva_4bri_init_card()
199 a->resources.pci.func, bar, in diva_4bri_init_card()
200 a->resources.pci.hdev); in diva_4bri_init_card()
201 if (!a->resources.pci.bar[bar] in diva_4bri_init_card()
202 || (a->resources.pci.bar[bar] == 0xFFFFFFF0)) { in diva_4bri_init_card()
204 ("A: invalid bar[%d]=%08x", bar, in diva_4bri_init_card()
205 a->resources.pci.bar[bar])) in diva_4bri_init_card()
209 a->resources.pci.irq = in diva_4bri_init_card()
210 (byte) divasa_get_pci_irq(a->resources.pci.bus, in diva_4bri_init_card()
211 a->resources.pci.func, in diva_4bri_init_card()
212 a->resources.pci.hdev); in diva_4bri_init_card()
213 if (!a->resources.pci.irq) { in diva_4bri_init_card()
214 DBG_ERR(("A: invalid irq")); in diva_4bri_init_card()
218 a->xdi_adapter.sdram_bar = a->resources.pci.bar[2]; in diva_4bri_init_card()
225 a->resources.pci.addr[bar] = in diva_4bri_init_card()
226 divasa_remap_pci_bar(a, bar, a->resources.pci.bar[bar], in diva_4bri_init_card()
228 if (!a->resources.pci.addr[bar]) { in diva_4bri_init_card()
229 DBG_ERR(("A: 4BRI: can't map bar[%d]", bar)) in diva_4bri_init_card()
230 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
239 sprintf(&a->port_name[0], "DIVA 4BRI %ld", (long) a->xdi_adapter.serialNo); in diva_4bri_init_card()
241 if (diva_os_register_io_port(a, 1, a->resources.pci.bar[1], in diva_4bri_init_card()
242 bar_length[1], &a->port_name[0], 1)) { in diva_4bri_init_card()
243 DBG_ERR(("A: 4BRI: can't register bar[1]")) in diva_4bri_init_card()
244 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
248 a->resources.pci.addr[1] = in diva_4bri_init_card()
249 (void *) (unsigned long) a->resources.pci.bar[1]; in diva_4bri_init_card()
255 a->interface.cleanup_adapter_proc = diva_4bri_cleanup_adapter; in diva_4bri_init_card()
261 if (!(a->slave_adapters[0] = in diva_4bri_init_card()
262 (diva_os_xdi_adapter_t *) diva_os_malloc(0, sizeof(*a)))) in diva_4bri_init_card()
264 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
267 if (!(a->slave_adapters[1] = in diva_4bri_init_card()
268 (diva_os_xdi_adapter_t *) diva_os_malloc(0, sizeof(*a)))) in diva_4bri_init_card()
270 diva_os_free(0, a->slave_adapters[0]); in diva_4bri_init_card()
271 a->slave_adapters[0] = NULL; in diva_4bri_init_card()
272 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
275 if (!(a->slave_adapters[2] = in diva_4bri_init_card()
276 (diva_os_xdi_adapter_t *) diva_os_malloc(0, sizeof(*a)))) in diva_4bri_init_card()
278 diva_os_free(0, a->slave_adapters[0]); in diva_4bri_init_card()
279 diva_os_free(0, a->slave_adapters[1]); in diva_4bri_init_card()
280 a->slave_adapters[0] = NULL; in diva_4bri_init_card()
281 a->slave_adapters[1] = NULL; in diva_4bri_init_card()
282 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
285 memset(a->slave_adapters[0], 0x00, sizeof(*a)); in diva_4bri_init_card()
286 memset(a->slave_adapters[1], 0x00, sizeof(*a)); in diva_4bri_init_card()
287 memset(a->slave_adapters[2], 0x00, sizeof(*a)); in diva_4bri_init_card()
290 adapter_list[0] = a; in diva_4bri_init_card()
291 adapter_list[1] = a->slave_adapters[0]; in diva_4bri_init_card()
292 adapter_list[2] = a->slave_adapters[1]; in diva_4bri_init_card()
293 adapter_list[3] = a->slave_adapters[2]; in diva_4bri_init_card()
300 if (!(a->slave_list = quadro_list)) { in diva_4bri_init_card()
302 diva_os_free(0, a->slave_adapters[i]); in diva_4bri_init_card()
303 a->slave_adapters[i] = NULL; in diva_4bri_init_card()
305 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
313 a->xdi_adapter.QuadroList = quadro_list; in diva_4bri_init_card()
326 diva_current->xdi_adapter.a.io = in diva_4bri_init_card()
331 CardProperties[a->CardOrdinal]; in diva_4bri_init_card()
332 diva_current->CardOrdinal = a->CardOrdinal; in diva_4bri_init_card()
335 CardProperties[a->CardOrdinal].Channels; in diva_4bri_init_card()
337 CardProperties[a->CardOrdinal].E_info; in diva_4bri_init_card()
344 diva_4bri_cleanup_slave_adapters(a); in diva_4bri_init_card()
345 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
355 diva_4bri_cleanup_slave_adapters(a); in diva_4bri_init_card()
356 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
363 diva_4bri_cleanup_slave_adapters(a); in diva_4bri_init_card()
364 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
375 diva_4bri_cleanup_slave_adapters(a); in diva_4bri_init_card()
376 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
391 prepare_qBri2_functions(&a->xdi_adapter); in diva_4bri_init_card()
393 prepare_qBri_functions(&a->xdi_adapter); in diva_4bri_init_card()
399 memcpy(&diva_current->resources, &a->resources, sizeof(divas_card_resources_t)); in diva_4bri_init_card()
400 diva_current->resources.pci.qoffset = (a->xdi_adapter.MemorySize >> factor); in diva_4bri_init_card()
406 a->xdi_adapter.cfg = (void *) (unsigned long) a->resources.pci.bar[0]; /* BAR0 CONFIG */ in diva_4bri_init_card()
407 a->xdi_adapter.port = (void *) (unsigned long) a->resources.pci.bar[1]; /* BAR1 */ in diva_4bri_init_card()
408 a->xdi_adapter.ctlReg = (void *) (unsigned long) a->resources.pci.bar[3]; /* BAR3 CNTRL */ in diva_4bri_init_card()
413 Slave = a->xdi_adapter.QuadroList->QuadroAdapter[i]; in diva_4bri_init_card()
414 Slave->MultiMaster = &a->xdi_adapter; in diva_4bri_init_card()
415 Slave->sdram_bar = a->xdi_adapter.sdram_bar; in diva_4bri_init_card()
418 a->xdi_adapter.serialNo; in diva_4bri_init_card()
419 Slave->cardType = a->xdi_adapter.cardType; in diva_4bri_init_card()
426 p = DIVA_OS_MEM_ATTACH_RESET(&a->xdi_adapter); in diva_4bri_init_card()
428 DIVA_OS_MEM_DETACH_RESET(&a->xdi_adapter, p); in diva_4bri_init_card()
433 a->xdi_adapter.irq_info.irq_nr = a->resources.pci.irq; in diva_4bri_init_card()
434 sprintf(a->xdi_adapter.irq_info.irq_name, "DIVA 4BRI %ld", in diva_4bri_init_card()
435 (long) a->xdi_adapter.serialNo); in diva_4bri_init_card()
437 if (diva_os_register_irq(a, a->xdi_adapter.irq_info.irq_nr, in diva_4bri_init_card()
438 a->xdi_adapter.irq_info.irq_name)) { in diva_4bri_init_card()
439 diva_4bri_cleanup_slave_adapters(a); in diva_4bri_init_card()
440 diva_4bri_cleanup_adapter(a); in diva_4bri_init_card()
447 a->xdi_adapter.irq_info.registered = 1; in diva_4bri_init_card()
458 diva_log_info("%s IRQ:%d SerNo:%d", a->xdi_adapter.Properties.Name, in diva_4bri_init_card()
459 a->resources.pci.irq, a->xdi_adapter.serialNo); in diva_4bri_init_card()
469 static int diva_4bri_cleanup_adapter(diva_os_xdi_adapter_t * a) in diva_4bri_cleanup_adapter() argument
476 if (a->xdi_adapter.Initialized) { in diva_4bri_cleanup_adapter()
477 diva_4bri_stop_adapter(a); in diva_4bri_cleanup_adapter()
483 if (a->xdi_adapter.irq_info.registered) { in diva_4bri_cleanup_adapter()
484 diva_os_remove_irq(a, a->xdi_adapter.irq_info.irq_nr); in diva_4bri_cleanup_adapter()
486 a->xdi_adapter.irq_info.registered = 0; in diva_4bri_cleanup_adapter()
491 diva_4bri_cleanup_slave_adapters(a); in diva_4bri_cleanup_adapter()
498 if (a->resources.pci.bar[bar] in diva_4bri_cleanup_adapter()
499 && a->resources.pci.addr[bar]) { in diva_4bri_cleanup_adapter()
500 divasa_unmap_pci_bar(a->resources.pci.addr[bar]); in diva_4bri_cleanup_adapter()
501 a->resources.pci.bar[bar] = 0; in diva_4bri_cleanup_adapter()
502 a->resources.pci.addr[bar] = NULL; in diva_4bri_cleanup_adapter()
510 if (a->resources.pci.bar[1] && a->resources.pci.addr[1]) { in diva_4bri_cleanup_adapter()
511 diva_os_register_io_port(a, 0, a->resources.pci.bar[1], in diva_4bri_cleanup_adapter()
512 _4bri_is_rev_2_card(a-> in diva_4bri_cleanup_adapter()
516 &a->port_name[0], 1); in diva_4bri_cleanup_adapter()
517 a->resources.pci.bar[1] = 0; in diva_4bri_cleanup_adapter()
518 a->resources.pci.addr[1] = NULL; in diva_4bri_cleanup_adapter()
521 if (a->slave_list) { in diva_4bri_cleanup_adapter()
522 diva_os_free(0, a->slave_list); in diva_4bri_cleanup_adapter()
523 a->slave_list = NULL; in diva_4bri_cleanup_adapter()
529 static int _4bri_get_serial_number(diva_os_xdi_adapter_t * a) in _4bri_get_serial_number() argument
537 Bus = a->resources.pci.bus; in _4bri_get_serial_number()
538 Slot = a->resources.pci.func; in _4bri_get_serial_number()
539 hdev = a->resources.pci.hdev; in _4bri_get_serial_number()
566 serNo = a->resources.pci.bar[1] & 0xffff0000; in _4bri_get_serial_number()
567 serNo |= a->resources.pci.bus << 8; in _4bri_get_serial_number()
568 serNo |= a->resources.pci.func; in _4bri_get_serial_number()
571 a->xdi_adapter.serialNo = serNo; in _4bri_get_serial_number()
573 DBG_REG(("Serial No. : %ld", a->xdi_adapter.serialNo)) in _4bri_get_serial_number()
581 static int diva_4bri_cleanup_slave_adapters(diva_os_xdi_adapter_t * a) in diva_4bri_cleanup_slave_adapters() argument
587 adapter_list[0] = a; in diva_4bri_cleanup_slave_adapters()
588 adapter_list[1] = a->slave_adapters[0]; in diva_4bri_cleanup_slave_adapters()
589 adapter_list[2] = a->slave_adapters[1]; in diva_4bri_cleanup_slave_adapters()
590 adapter_list[3] = a->slave_adapters[2]; in diva_4bri_cleanup_slave_adapters()
592 for (i = 0; i < a->xdi_adapter.tasks; i++) { in diva_4bri_cleanup_slave_adapters()
627 diva_4bri_cmd_card_proc(struct _diva_os_xdi_adapter *a, in diva_4bri_cmd_card_proc() argument
632 if (cmd->adapter != a->controller) { in diva_4bri_cmd_card_proc()
633 DBG_ERR(("A: 4bri_cmd, invalid controller=%d != %d", in diva_4bri_cmd_card_proc()
634 cmd->adapter, a->controller)) in diva_4bri_cmd_card_proc()
640 a->xdi_mbox.data_length = sizeof(dword); in diva_4bri_cmd_card_proc()
641 a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
642 diva_os_malloc(0, a->xdi_mbox.data_length); in diva_4bri_cmd_card_proc()
643 if (a->xdi_mbox.data) { in diva_4bri_cmd_card_proc()
644 *(dword *) a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
645 (dword) a->CardOrdinal; in diva_4bri_cmd_card_proc()
646 a->xdi_mbox.status = DIVA_XDI_MBOX_BUSY; in diva_4bri_cmd_card_proc()
652 a->xdi_mbox.data_length = sizeof(dword); in diva_4bri_cmd_card_proc()
653 a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
654 diva_os_malloc(0, a->xdi_mbox.data_length); in diva_4bri_cmd_card_proc()
655 if (a->xdi_mbox.data) { in diva_4bri_cmd_card_proc()
656 *(dword *) a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
657 (dword) a->xdi_adapter.serialNo; in diva_4bri_cmd_card_proc()
658 a->xdi_mbox.status = DIVA_XDI_MBOX_BUSY; in diva_4bri_cmd_card_proc()
664 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
668 a->xdi_mbox.data_length = sizeof(dword) * 9; in diva_4bri_cmd_card_proc()
669 a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
670 diva_os_malloc(0, a->xdi_mbox.data_length); in diva_4bri_cmd_card_proc()
671 if (a->xdi_mbox.data) { in diva_4bri_cmd_card_proc()
673 dword *data = (dword *) a->xdi_mbox.data; in diva_4bri_cmd_card_proc()
676 *data++ = a->resources.pci.bar[i]; in diva_4bri_cmd_card_proc()
678 *data++ = (dword) a->resources.pci.irq; in diva_4bri_cmd_card_proc()
679 a->xdi_mbox.status = DIVA_XDI_MBOX_BUSY; in diva_4bri_cmd_card_proc()
686 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
687 a->xdi_mbox.data_length = sizeof(dword); in diva_4bri_cmd_card_proc()
688 a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
689 diva_os_malloc(0, a->xdi_mbox.data_length); in diva_4bri_cmd_card_proc()
690 if (a->xdi_mbox.data) { in diva_4bri_cmd_card_proc()
691 dword *data = (dword *) a->xdi_mbox.data; in diva_4bri_cmd_card_proc()
692 if (!a->xdi_adapter.ram in diva_4bri_cmd_card_proc()
693 || !a->xdi_adapter.reset in diva_4bri_cmd_card_proc()
694 || !a->xdi_adapter.cfg) { in diva_4bri_cmd_card_proc()
696 } else if (a->xdi_adapter.trapped) { in diva_4bri_cmd_card_proc()
698 } else if (a->xdi_adapter.Initialized) { in diva_4bri_cmd_card_proc()
703 a->xdi_mbox.status = DIVA_XDI_MBOX_BUSY; in diva_4bri_cmd_card_proc()
710 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
712 diva_4bri_write_fpga_image(a, in diva_4bri_cmd_card_proc()
721 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
722 ret = diva_4bri_reset_adapter(&a->xdi_adapter); in diva_4bri_cmd_card_proc()
727 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
728 ret = diva_4bri_write_sdram_block(&a->xdi_adapter, in diva_4bri_cmd_card_proc()
739 a->xdi_adapter. in diva_4bri_cmd_card_proc()
745 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
746 ret = diva_4bri_start_adapter(&a->xdi_adapter, in diva_4bri_cmd_card_proc()
755 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
756 a->xdi_adapter.features = in diva_4bri_cmd_card_proc()
758 a->xdi_adapter.a.protocol_capabilities = in diva_4bri_cmd_card_proc()
759 a->xdi_adapter.features; in diva_4bri_cmd_card_proc()
761 a->xdi_adapter.features)) in diva_4bri_cmd_card_proc()
767 if (!a->xdi_adapter.ControllerNumber) { in diva_4bri_cmd_card_proc()
768 ret = diva_4bri_stop_adapter(a); in diva_4bri_cmd_card_proc()
773 ret = diva_card_read_xlog(a); in diva_4bri_cmd_card_proc()
777 if (!a->xdi_adapter.ControllerNumber in diva_4bri_cmd_card_proc()
778 && a->xdi_adapter.Address) { in diva_4bri_cmd_card_proc()
780 (a->xdi_mbox.data_length = in diva_4bri_cmd_card_proc()
783 (a->xdi_mbox.data_length + in diva_4bri_cmd_card_proc()
785 a->xdi_adapter.MemorySize) { in diva_4bri_cmd_card_proc()
786 a->xdi_mbox.data = in diva_4bri_cmd_card_proc()
788 a->xdi_mbox. in diva_4bri_cmd_card_proc()
790 if (a->xdi_mbox.data) { in diva_4bri_cmd_card_proc()
791 byte __iomem *p = DIVA_OS_MEM_ATTACH_ADDRESS(&a->xdi_adapter); in diva_4bri_cmd_card_proc()
793 byte *dst = a->xdi_mbox.data; in diva_4bri_cmd_card_proc()
794 dword len = a->xdi_mbox.data_length; in diva_4bri_cmd_card_proc()
801 DIVA_OS_MEM_DETACH_ADDRESS(&a->xdi_adapter, p); in diva_4bri_cmd_card_proc()
802 a->xdi_mbox.status = DIVA_XDI_MBOX_BUSY; in diva_4bri_cmd_card_proc()
811 DBG_ERR(("A: A(%d) invalid cmd=%d", a->controller, in diva_4bri_cmd_card_proc()
841 diva_4bri_write_fpga_image(diva_os_xdi_adapter_t * a, byte * data, in diva_4bri_write_fpga_image() argument
849 ret = qBri_FPGA_download(&a->xdi_adapter); in diva_4bri_write_fpga_image()
866 DBG_ERR(("A: A(%d) can't reset 4BRI adapter - please stop first", in diva_4bri_reset_adapter()
886 memset(&Slave->a.IdTable[0], 0x00, in diva_4bri_reset_adapter()
887 sizeof(Slave->a.IdTable)); in diva_4bri_reset_adapter()
888 memset(&Slave->a.IdTypeTable[0], 0x00, in diva_4bri_reset_adapter()
889 sizeof(Slave->a.IdTypeTable)); in diva_4bri_reset_adapter()
890 memset(&Slave->a.FlowControlIdTable[0], 0x00, in diva_4bri_reset_adapter()
891 sizeof(Slave->a.FlowControlIdTable)); in diva_4bri_reset_adapter()
892 memset(&Slave->a.FlowControlSkipTable[0], 0x00, in diva_4bri_reset_adapter()
893 sizeof(Slave->a.FlowControlSkipTable)); in diva_4bri_reset_adapter()
894 memset(&Slave->a.misc_flags_table[0], 0x00, in diva_4bri_reset_adapter()
895 sizeof(Slave->a.misc_flags_table)); in diva_4bri_reset_adapter()
896 memset(&Slave->a.rx_stream[0], 0x00, in diva_4bri_reset_adapter()
897 sizeof(Slave->a.rx_stream)); in diva_4bri_reset_adapter()
898 memset(&Slave->a.tx_stream[0], 0x00, in diva_4bri_reset_adapter()
899 sizeof(Slave->a.tx_stream)); in diva_4bri_reset_adapter()
900 memset(&Slave->a.tx_pos[0], 0x00, sizeof(Slave->a.tx_pos)); in diva_4bri_reset_adapter()
901 memset(&Slave->a.rx_pos[0], 0x00, sizeof(Slave->a.rx_pos)); in diva_4bri_reset_adapter()
918 DBG_ERR(("A: A(%d) write 4BRI address=0x%08lx", in diva_4bri_write_sdram_block()
965 IoAdapter->QuadroList->QuadroAdapter[i]->a. in diva_4bri_start_adapter()
986 DBG_ERR(("A: A(%d) interrupt test failed", in diva_4bri_start_adapter()
999 DBG_LOG(("A(%d) %s adapter successfully started", in diva_4bri_start_adapter()
1013 ADAPTER *a = &IoAdapter->a; in check_qBri_interrupt() local
1027 a->ReadyInt = 1; in check_qBri_interrupt()
1028 a->ram_out(a, &PR_RAM->ReadyInt, 1); in check_qBri_interrupt()
1059 static void diva_4bri_clear_interrupts(diva_os_xdi_adapter_t * a) in diva_4bri_clear_interrupts() argument
1061 PISDN_ADAPTER IoAdapter = &a->xdi_adapter; in diva_4bri_clear_interrupts()
1068 IoAdapter->tst_irq(&IoAdapter->a); in diva_4bri_clear_interrupts()
1069 IoAdapter->clr_irq(&IoAdapter->a); in diva_4bri_clear_interrupts()
1070 IoAdapter->tst_irq(&IoAdapter->a); in diva_4bri_clear_interrupts()
1079 static int diva_4bri_stop_adapter(diva_os_xdi_adapter_t * a) in diva_4bri_stop_adapter() argument
1081 PISDN_ADAPTER IoAdapter = &a->xdi_adapter; in diva_4bri_stop_adapter()
1089 DBG_ERR(("A: A(%d) can't stop PRI adapter - not running", in diva_4bri_stop_adapter()
1110 a->clear_interrupts_proc = diva_4bri_clear_interrupts; in diva_4bri_stop_adapter()
1111 IoAdapter->a.ReadyInt = 1; in diva_4bri_stop_adapter()
1112 IoAdapter->a.ram_inc(&IoAdapter->a, &PR_RAM->ReadyInt); in diva_4bri_stop_adapter()
1115 } while (i-- && a->clear_interrupts_proc); in diva_4bri_stop_adapter()
1117 if (a->clear_interrupts_proc) { in diva_4bri_stop_adapter()
1118 diva_4bri_clear_interrupts(a); in diva_4bri_stop_adapter()
1119 a->clear_interrupts_proc = NULL; in diva_4bri_stop_adapter()
1120 DBG_ERR(("A: A(%d) no final interrupt from 4BRI adapter", in diva_4bri_stop_adapter()
1123 IoAdapter->a.ReadyInt = 0; in diva_4bri_stop_adapter()