• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/isdn/hardware/eicon/

Lines Matching refs:IoAdapter

47 static void qBri_cpu_trapped (PISDN_ADAPTER IoAdapter) {
52 int factor = (IoAdapter->tasks == 1) ? 1 : 2;
58 base = DIVA_OS_MEM_ATTACH_CONTROL(IoAdapter);
59 offset = IoAdapter->ControllerNumber * (IoAdapter->MemorySize >> factor) ;
65 dump_trap_frame (IoAdapter, &base[0x90]) ;
66 IoAdapter->trapped = 1 ;
73 regs[0] &= IoAdapter->MemorySize - 1 ;
76 && (regs[0] < offset + (IoAdapter->MemorySize >> factor) - 1) )
79 DIVA_OS_MEM_DETACH_CONTROL(IoAdapter, base);
83 size = offset + (IoAdapter->MemorySize >> factor) - regs[0] ;
88 xlogDesc.cnt = READ_WORD(&base[regs[1] & (IoAdapter->MemorySize - 1)]) ;
89 xlogDesc.out = READ_WORD(&base[regs[2] & (IoAdapter->MemorySize - 1)]) ;
90 dump_xlog_buffer (IoAdapter, &xlogDesc) ;
92 IoAdapter->trapped = 2 ;
94 DIVA_OS_MEM_DETACH_CONTROL(IoAdapter, base);
100 static void reset_qBri_hardware (PISDN_ADAPTER IoAdapter) {
105 qBriReset = (word volatile __iomem *)DIVA_OS_MEM_ATTACH_PROM(IoAdapter);
114 DIVA_OS_MEM_DETACH_PROM(IoAdapter, qBriReset);
116 qBriCntrl = DIVA_OS_MEM_ATTACH_CTLREG(IoAdapter);
117 p = &qBriCntrl[DIVA_4BRI_REVISION(IoAdapter) ? (MQ2_BREG_RISC) : (MQ_BREG_RISC)];
119 DIVA_OS_MEM_DETACH_CTLREG(IoAdapter, qBriCntrl);
128 void start_qBri_hardware (PISDN_ADAPTER IoAdapter) {
132 p = DIVA_OS_MEM_ATTACH_CTLREG(IoAdapter);
133 qBriReset = &p[(DIVA_4BRI_REVISION(IoAdapter)) ? (MQ2_BREG_RISC) : (MQ_BREG_RISC)];
138 DIVA_OS_MEM_DETACH_CTLREG(IoAdapter, p);
146 static void stop_qBri_hardware (PISDN_ADAPTER IoAdapter) {
151 int rev2 = DIVA_4BRI_REVISION(IoAdapter);
156 if ( IoAdapter->ControllerNumber > 0 )
158 p = DIVA_OS_MEM_ATTACH_CTLREG(IoAdapter);
166 DIVA_OS_MEM_DETACH_CTLREG(IoAdapter, p);
168 p = DIVA_OS_MEM_ATTACH_RESET(IoAdapter);
170 DIVA_OS_MEM_DETACH_RESET(IoAdapter, p);
172 p = DIVA_OS_MEM_ATTACH_CTLREG(IoAdapter);
175 DIVA_OS_MEM_DETACH_CTLREG(IoAdapter, p);
186 static byte * qBri_check_FPGAsrc (PISDN_ADAPTER IoAdapter, char *FileName,
251 switch (IoAdapter->cardType) {
257 IoAdapter->fpga_features |= PCINIT_FPGA_PLX_ACCESS_SUPPORTED ;
275 int qBri_FPGA_download (PISDN_ADAPTER IoAdapter) {
279 word volatile __iomem *addr = (word volatile __iomem *)DIVA_OS_MEM_ATTACH_PROM(IoAdapter);
284 if (DIVA_4BRI_REVISION(IoAdapter))
288 switch (IoAdapter->cardType) {
302 File = qBri_check_FPGAsrc (IoAdapter, name,
307 File = qBri_check_FPGAsrc (IoAdapter, "ds4bri.bit",
311 DIVA_OS_MEM_DETACH_PROM(IoAdapter, addr);
327 DIVA_OS_MEM_DETACH_PROM(IoAdapter, addr);
351 DIVA_OS_MEM_DETACH_PROM(IoAdapter, addr);
362 static int load_qBri_hardware (PISDN_ADAPTER IoAdapter) {
369 static int qBri_ISR (struct _ISDN_ADAPTER* IoAdapter) {
372 PADAPTER_LIST_ENTRY QuadroList = IoAdapter->QuadroList ;
378 p = DIVA_OS_MEM_ATTACH_RESET(IoAdapter);
381 DIVA_OS_MEM_DETACH_RESET(IoAdapter, p);
384 DIVA_OS_MEM_DETACH_RESET(IoAdapter, p);
389 p = DIVA_OS_MEM_ATTACH_CTLREG(IoAdapter);
390 qBriIrq = (dword volatile __iomem *)(&p[DIVA_4BRI_REVISION(IoAdapter) ? (MQ2_BREG_IRQ_TEST) : (MQ_BREG_IRQ_TEST)]);
392 DIVA_OS_MEM_DETACH_CTLREG(IoAdapter, p);
394 for ( i = 0 ; i < IoAdapter->tasks; ++i )
396 IoAdapter = QuadroList->QuadroAdapter[i] ;
398 if ( IoAdapter && IoAdapter->Initialized
399 && IoAdapter->tst_irq (&IoAdapter->a) )
401 IoAdapter->IrqCount++ ;
403 diva_os_schedule_soft_isr (&IoAdapter->isr_soft_isr);
413 static void disable_qBri_interrupt (PISDN_ADAPTER IoAdapter) {
417 if ( IoAdapter->ControllerNumber > 0 )
422 p = DIVA_OS_MEM_ATTACH_RESET(IoAdapter);
424 DIVA_OS_MEM_DETACH_RESET(IoAdapter, p);
426 p = DIVA_OS_MEM_ATTACH_CTLREG(IoAdapter);
427 qBriIrq = (dword volatile __iomem *)(&p[DIVA_4BRI_REVISION(IoAdapter) ? (MQ2_BREG_IRQ_TEST) : (MQ_BREG_IRQ_TEST)]);
429 DIVA_OS_MEM_DETACH_CTLREG(IoAdapter, p);
435 static void set_common_qBri_functions (PISDN_ADAPTER IoAdapter) {
438 a = &IoAdapter->a ;
449 IoAdapter->out = pr_out ;
450 IoAdapter->dpc = pr_dpc ;
451 IoAdapter->tst_irq = scom_test_int ;
452 IoAdapter->clr_irq = scom_clear_int ;
453 IoAdapter->pcm = (struct pc_maint *)MIPS_MAINT_OFFS ;
455 IoAdapter->load = load_qBri_hardware ;
457 IoAdapter->disIrq = disable_qBri_interrupt ;
458 IoAdapter->rstFnc = reset_qBri_hardware ;
459 IoAdapter->stop = stop_qBri_hardware ;
460 IoAdapter->trapFnc = qBri_cpu_trapped ;
462 IoAdapter->diva_isr_handler = qBri_ISR;
464 IoAdapter->a.io = (void*)IoAdapter ;
467 static void set_qBri_functions (PISDN_ADAPTER IoAdapter) {
468 if (!IoAdapter->tasks) {
469 IoAdapter->tasks = MQ_INSTANCE_COUNT;
471 IoAdapter->MemorySize = MQ_MEMORY_SIZE ;
472 set_common_qBri_functions (IoAdapter) ;
473 diva_os_set_qBri_functions (IoAdapter) ;
476 static void set_qBri2_functions (PISDN_ADAPTER IoAdapter) {
477 if (!IoAdapter->tasks) {
478 IoAdapter->tasks = MQ_INSTANCE_COUNT;
480 IoAdapter->MemorySize = (IoAdapter->tasks == 1) ? BRI2_MEMORY_SIZE : MQ2_MEMORY_SIZE;
481 set_common_qBri_functions (IoAdapter) ;
482 diva_os_set_qBri2_functions (IoAdapter) ;
487 void prepare_qBri_functions (PISDN_ADAPTER IoAdapter) {
489 set_qBri_functions (IoAdapter->QuadroList->QuadroAdapter[0]) ;
490 set_qBri_functions (IoAdapter->QuadroList->QuadroAdapter[1]) ;
491 set_qBri_functions (IoAdapter->QuadroList->QuadroAdapter[2]) ;
492 set_qBri_functions (IoAdapter->QuadroList->QuadroAdapter[3]) ;
496 void prepare_qBri2_functions (PISDN_ADAPTER IoAdapter) {
497 if (!IoAdapter->tasks) {
498 IoAdapter->tasks = MQ_INSTANCE_COUNT;
501 set_qBri2_functions (IoAdapter->QuadroList->QuadroAdapter[0]) ;
502 if (IoAdapter->tasks > 1) {
503 set_qBri2_functions (IoAdapter->QuadroList->QuadroAdapter[1]) ;
504 set_qBri2_functions (IoAdapter->QuadroList->QuadroAdapter[2]) ;
505 set_qBri2_functions (IoAdapter->QuadroList->QuadroAdapter[3]) ;