• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/isdn/hisax/

Lines Matching refs:hw

178 	return (readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, offset));
184 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, offset, value);
190 readfifo(cs->hw.elsa.ale, cs->hw.elsa.isac, 0, data, size);
196 writefifo(cs->hw.elsa.ale, cs->hw.elsa.isac, 0, data, size);
202 return (readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, offset+0x80));
208 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, offset|0x80, value);
214 readfifo(cs->hw.elsa.ale, cs->hw.elsa.isac, 0x80, data, size);
220 writefifo(cs->hw.elsa.ale, cs->hw.elsa.isac, 0x80, data, size);
226 return (readreg(cs->hw.elsa.ale,
227 cs->hw.elsa.hscx, offset + (hscx ? 0x40 : 0)));
233 writereg(cs->hw.elsa.ale,
234 cs->hw.elsa.hscx, offset + (hscx ? 0x40 : 0), value);
242 byteout(cs->hw.elsa.ale, off);
243 ret = bytein(cs->hw.elsa.itac);
250 byteout(cs->hw.elsa.ale, off);
251 byteout(cs->hw.elsa.itac, data);
259 v = bytein(cs->hw.elsa.cfg);
270 #define READHSCX(cs, nr, reg) readreg(cs->hw.elsa.ale, \
271 cs->hw.elsa.hscx, reg + (nr ? 0x40 : 0))
272 #define WRITEHSCX(cs, nr, reg, data) writereg(cs->hw.elsa.ale, \
273 cs->hw.elsa.hscx, reg + (nr ? 0x40 : 0), data)
275 #define READHSCXFIFO(cs, nr, ptr, cnt) readfifo(cs->hw.elsa.ale, \
276 cs->hw.elsa.hscx, (nr ? 0x40 : 0), ptr, cnt)
278 #define WRITEHSCXFIFO(cs, nr, ptr, cnt) writefifo(cs->hw.elsa.ale, \
279 cs->hw.elsa.hscx, (nr ? 0x40 : 0), ptr, cnt)
299 if (cs->hw.elsa.MFlag) {
307 val = readreg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_ISTA + 0x40);
312 val = readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_ISTA);
317 val = readreg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_ISTA + 0x40);
324 val = readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_ISTA);
333 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK, 0xFF);
334 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK + 0x40, 0xFF);
335 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_MASK, 0xFF);
336 if (cs->hw.elsa.status & ELIRQF_TIMER_AKTIV) {
339 byteout(cs->hw.elsa.timer, 0);
340 cs->hw.elsa.counter++;
344 if (cs->hw.elsa.MFlag) {
353 if (cs->hw.elsa.trig)
354 byteout(cs->hw.elsa.trig, 0x00);
355 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK, 0x0);
356 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK + 0x40, 0x0);
357 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_MASK, 0x0);
372 val = bytein(cs->hw.elsa.cfg + 0x4c); /* PCI IRQ */
379 if (cs->hw.elsa.MFlag) {
387 ista = readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ISTA);
392 val = readreg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_ISTA + 0x40);
403 val = 0xfe & readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_ISTA + 0x80);
412 ista = readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ISTA);
419 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_MASK, 0xFF);
420 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_MASK, 0xC0);
430 del_timer(&cs->hw.elsa.tl);
434 if (cs->hw.elsa.ctrl)
435 byteout(cs->hw.elsa.ctrl, 0); /* LEDs Out */
437 byteout(cs->hw.elsa.cfg + 0x4c, 0x01); /* disable IRQ */
438 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ATX, 0xff);
440 release_region(cs->hw.elsa.cfg, 0x80);
443 byteout(cs->hw.elsa.cfg + 0x4c, 0x03); /* disable ELSA PCI IRQ */
444 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ATX, 0xff);
445 release_region(cs->hw.elsa.cfg, 0x80);
448 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ATX, 0xff);
459 if (cs->hw.elsa.base)
460 release_region(cs->hw.elsa.base, bytecnt);
466 if (cs->hw.elsa.timer) {
468 byteout(cs->hw.elsa.timer, 0);
470 cs->hw.elsa.ctrl_reg |= 0x50;
471 cs->hw.elsa.ctrl_reg &= ~ELSA_ISDN_RESET; /* Reset On */
472 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
474 byteout(cs->hw.elsa.timer, 0);
476 cs->hw.elsa.ctrl_reg |= ELSA_ISDN_RESET; /* Reset Off */
477 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
479 byteout(cs->hw.elsa.timer, 0);
481 if (cs->hw.elsa.trig)
482 byteout(cs->hw.elsa.trig, 0xff);
485 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_POTA2, 0x20);
487 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_POTA2, 0x00);
488 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_MASK, 0xc0);
491 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ACFG, 0x0);
492 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_AOE, 0x3c);
494 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_PCFG, 0x10);
495 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ACFG, 0x4);
496 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_AOE, 0xf8);
498 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ATX, 0xff);
500 byteout(cs->hw.elsa.cfg + 0x4c, 0x41); /* enable ELSA PCI IRQ */
502 byteout(cs->hw.elsa.cfg + 0x4c, 0x43); /* enable ELSA PCI IRQ */
569 cs->hw.elsa.base+8);
570 release_region(cs->hw.elsa.base, 8);
571 if (!request_region(cs->hw.elsa.base, 16, "elsa isdn modem")) {
575 cs->hw.elsa.base + 8,
576 cs->hw.elsa.base + 16);
583 cs->hw.elsa.base+8);
584 release_region(cs->hw.elsa.base, 8);
585 if (!request_region(cs->hw.elsa.base, 16, "elsa isdn modem")) {
589 cs->hw.elsa.base + 8,
590 cs->hw.elsa.base + 16);
596 cs->hw.elsa.base+8);
612 del_timer(&cs->hw.elsa.tl);
613 if (cs->hw.elsa.status & ELSA_ASSIGN)
614 cs->hw.elsa.ctrl_reg |= ELSA_STAT_LED;
615 else if (cs->hw.elsa.status & ELSA_BAD_PWR)
616 cs->hw.elsa.ctrl_reg &= ~ELSA_STAT_LED;
618 cs->hw.elsa.ctrl_reg ^= ELSA_STAT_LED;
621 if (cs->hw.elsa.status & 0xf000)
622 cs->hw.elsa.ctrl_reg |= ELSA_LINE_LED;
623 else if (cs->hw.elsa.status & 0x0f00) {
624 cs->hw.elsa.ctrl_reg ^= ELSA_LINE_LED;
627 cs->hw.elsa.ctrl_reg &= ~ELSA_LINE_LED;
632 if (cs->hw.elsa.ctrl_reg & ELSA_LINE_LED)
634 if (cs->hw.elsa.ctrl_reg & ELSA_STAT_LED)
636 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ATX, led);
638 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
640 init_timer(&cs->hw.elsa.tl);
641 cs->hw.elsa.tl.expires = jiffies + ((blink * HZ) / 1000);
642 add_timer(&cs->hw.elsa.tl);
669 byteout(cs->hw.elsa.timer, 0);
671 if (cs->hw.elsa.trig)
672 byteout(cs->hw.elsa.trig, 0xff);
685 cs->hw.elsa.counter = 0;
686 cs->hw.elsa.ctrl_reg |= ELSA_ENA_TIMER_INT;
687 cs->hw.elsa.status |= ELIRQF_TIMER_AKTIV;
688 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
689 byteout(cs->hw.elsa.timer, 0);
693 cs->hw.elsa.ctrl_reg &= ~ELSA_ENA_TIMER_INT;
694 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
695 cs->hw.elsa.status &= ~ELIRQF_TIMER_AKTIV;
698 cs->hw.elsa.counter);
699 if ((cs->hw.elsa.counter > 10) &&
700 (cs->hw.elsa.counter < 16)) {
706 cs->hw.elsa.counter, cs->irq);
718 cs->hw.elsa.status &= 0;
721 cs->hw.elsa.status |= ELSA_ASSIGN;
725 cs->hw.elsa.status |= 0x0200;
727 cs->hw.elsa.status |= 0x0100;
731 cs->hw.elsa.status |= 0x2000;
733 cs->hw.elsa.status |= 0x1000;
737 cs->hw.elsa.status &= ~0x2000;
738 cs->hw.elsa.status &= ~0x0200;
740 cs->hw.elsa.status &= ~0x1000;
741 cs->hw.elsa.status &= ~0x0100;
746 if (cs->hw.elsa.MFlag) {
761 int pwr = bytein(cs->hw.elsa.ale);
763 cs->hw.elsa.status |= ELSA_BAD_PWR;
765 cs->hw.elsa.status &= ~ELSA_BAD_PWR;
840 cs->hw.elsa.base = card->para[0];
842 if (cs->hw.elsa.base) {
843 if (!(cs->subtyp = probe_elsa_adr(cs->hw.elsa.base,
847 cs->hw.elsa.base);
851 cs->hw.elsa.base = probe_elsa(cs);
853 if (!cs->hw.elsa.base) {
859 cs->hw.elsa.cfg = cs->hw.elsa.base + ELSA_CONFIG;
860 cs->hw.elsa.ctrl = cs->hw.elsa.base + ELSA_CONTROL;
861 cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE;
862 cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC;
863 cs->hw.elsa.itac = cs->hw.elsa.base + ELSA_ITAC;
864 cs->hw.elsa.hscx = cs->hw.elsa.base + ELSA_HSCX;
865 cs->hw.elsa.trig = cs->hw.elsa.base + ELSA_TRIG_IRQ;
866 cs->hw.elsa.timer = cs->hw.elsa.base + ELSA_START_TIMER;
867 val = bytein(cs->hw.elsa.cfg);
881 val = bytein(cs->hw.elsa.ale) & ELSA_HW_RELEASE;
892 cs->hw.elsa.base,
894 val = bytein(cs->hw.elsa.ale) & ELSA_S0_POWER_BAD;
898 cs->hw.elsa.status |= ELSA_BAD_PWR;
974 cs->hw.elsa.base = card->para[1];
981 cs->hw.elsa.cfg = cs->hw.elsa.base + ELSA_CONFIG;
982 cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE;
983 cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC;
984 cs->hw.elsa.hscx = cs->hw.elsa.base + ELSA_HSCX;
985 cs->hw.elsa.trig = cs->hw.elsa.base + ELSA_TRIG_IRQ;
986 cs->hw.elsa.timer = cs->hw.elsa.base + ELSA_START_TIMER;
987 cs->hw.elsa.ctrl = cs->hw.elsa.base + ELSA_CONTROL;
991 cs->hw.elsa.base,
1003 cs->hw.elsa.base = card->para[1];
1005 val = readreg(cs->hw.elsa.base + 0, cs->hw.elsa.base + 2, IPAC_ID);
1008 cs->hw.elsa.ale = cs->hw.elsa.base + 0;
1009 cs->hw.elsa.isac = cs->hw.elsa.base + 2;
1010 cs->hw.elsa.hscx = cs->hw.elsa.base + 2;
1014 cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE_PCM;
1015 cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC_PCM;
1016 cs->hw.elsa.hscx = cs->hw.elsa.base + ELSA_HSCX;
1018 cs->hw.elsa.timer = 0;
1019 cs->hw.elsa.trig = 0;
1020 cs->hw.elsa.ctrl = 0;
1025 cs->hw.elsa.base,
1045 cs->hw.elsa.cfg = pci_resource_start(dev_qs1000, 1);
1046 cs->hw.elsa.base = pci_resource_start(dev_qs1000, 3);
1053 cs->hw.elsa.cfg = pci_resource_start(dev_qs3000, 1);
1054 cs->hw.elsa.base = pci_resource_start(dev_qs3000, 3);
1064 if (!(cs->hw.elsa.base && cs->hw.elsa.cfg)) {
1068 if ((cs->hw.elsa.cfg & 0xff) || (cs->hw.elsa.base & 0xf)) {
1073 cs->hw.elsa.ale = cs->hw.elsa.base;
1074 cs->hw.elsa.isac = cs->hw.elsa.base +1;
1075 cs->hw.elsa.hscx = cs->hw.elsa.base +1;
1077 cs->hw.elsa.timer = 0;
1078 cs->hw.elsa.trig = 0;
1083 cs->hw.elsa.base,
1084 cs->hw.elsa.cfg,
1132 if (cs->typ != ISDN_CTYPE_ELSA_PCMCIA && !request_region(cs->hw.elsa.base, bytecnt, "elsa isdn")) {
1135 cs->hw.elsa.base,
1136 cs->hw.elsa.base + bytecnt);
1140 if (!request_region(cs->hw.elsa.cfg, 0x80, "elsa isdn pci")) {
1143 cs->hw.elsa.cfg,
1144 cs->hw.elsa.cfg + 0x80);
1145 release_region(cs->hw.elsa.base, bytecnt);
1153 cs->hw.elsa.tl.function = (void *) elsa_led_handler;
1154 cs->hw.elsa.tl.data = (long) cs;
1155 init_timer(&cs->hw.elsa.tl);
1157 if (cs->hw.elsa.timer) {
1158 byteout(cs->hw.elsa.trig, 0xff);
1159 byteout(cs->hw.elsa.timer, 0);
1161 byteout(cs->hw.elsa.timer, 0); /* 2. Versuch */
1187 val = readreg(cs->hw.elsa.ale, cs->hw.elsa.isac, IPAC_ID);
1224 cs->hw.elsa.ctrl_reg = 0;
1225 cs->hw.elsa.status = 0;
1226 cs->hw.elsa.MFlag = 0;