Lines Matching refs:iobase

119 static int  ali_ircc_sir_write(int iobase, int fifo_size, __u8 *buf, int len);
137 static void SIR2FIR(int iobase);
138 static void FIR2SIR(int iobase);
415 int iobase; in ali_ircc_close() local
419 iobase = self->io.fir_base; in ali_ircc_close()
548 int iobase = info->fir_base; in ali_ircc_setup() local
557 SIR2FIR(iobase); in ali_ircc_setup()
560 outb(0x40, iobase+FIR_MCR); // benjamin 2000/11/30 11:45AM in ali_ircc_setup()
563 switch_bank(iobase, BANK3); in ali_ircc_setup()
564 version = inb(iobase+FIR_ID_VR); in ali_ircc_setup()
575 switch_bank(iobase, BANK1); in ali_ircc_setup()
576 outb(RX_FIFO_Threshold, iobase+FIR_FIFO_TR); in ali_ircc_setup()
579 outb(RX_DMA_Threshold, iobase+FIR_DMA_TR); in ali_ircc_setup()
582 switch_bank(iobase, BANK2); in ali_ircc_setup()
583 outb(inb(iobase+FIR_IRDA_CR) | IRDA_CR_CRC, iobase+FIR_IRDA_CR); in ali_ircc_setup()
588 switch_bank(iobase, BANK0); in ali_ircc_setup()
590 tmp = inb(iobase+FIR_LCR_B); in ali_ircc_setup()
594 outb(tmp, iobase+FIR_LCR_B); in ali_ircc_setup()
597 outb(0x00, iobase+FIR_IER); in ali_ircc_setup()
601 FIR2SIR(iobase); in ali_ircc_setup()
685 int iobase, tmp; in ali_ircc_fir_interrupt() local
688 iobase = self->io.fir_base; in ali_ircc_fir_interrupt()
690 switch_bank(iobase, BANK0); in ali_ircc_fir_interrupt()
691 self->InterruptID = inb(iobase+FIR_IIR); in ali_ircc_fir_interrupt()
692 self->BusStatus = inb(iobase+FIR_BSR); in ali_ircc_fir_interrupt()
695 self->LineStatus = inb(iobase+FIR_LSR); in ali_ircc_fir_interrupt()
770 switch_bank(iobase, BANK1); in ali_ircc_fir_interrupt()
771 tmp = inb(iobase+FIR_CR); in ali_ircc_fir_interrupt()
772 outb( tmp& ~CR_TIMER_EN, iobase+FIR_CR); in ali_ircc_fir_interrupt()
810 int iobase; in ali_ircc_sir_interrupt() local
814 iobase = self->io.sir_base; in ali_ircc_sir_interrupt()
816 iir = inb(iobase+UART_IIR) & UART_IIR_ID; in ali_ircc_sir_interrupt()
819 lsr = inb(iobase+UART_LSR); in ali_ircc_sir_interrupt()
822 __func__, iir, lsr, iobase); in ali_ircc_sir_interrupt()
862 int iobase; in ali_ircc_sir_receive() local
866 iobase = self->io.sir_base; in ali_ircc_sir_receive()
874 inb(iobase+UART_RX)); in ali_ircc_sir_receive()
881 } while (inb(iobase+UART_LSR) & UART_LSR_DR); in ali_ircc_sir_receive()
895 int iobase; in ali_ircc_sir_write_wakeup() local
900 iobase = self->io.sir_base; in ali_ircc_sir_write_wakeup()
906 actual = ali_ircc_sir_write(iobase, self->io.fifo_size, in ali_ircc_sir_write_wakeup()
916 while(!(inb(iobase+UART_LSR) & UART_LSR_TEMT)) in ali_ircc_sir_write_wakeup()
943 outb(UART_IER_RDI, iobase+UART_IER); in ali_ircc_sir_write_wakeup()
951 int iobase; in ali_ircc_change_speed() local
959 iobase = self->io.fir_base; in ali_ircc_change_speed()
998 int iobase; in ali_ircc_fir_change_speed() local
1006 iobase = self->io.fir_base; in ali_ircc_fir_change_speed()
1014 SIR2FIR(iobase); in ali_ircc_fir_change_speed()
1034 int iobase; in ali_ircc_sir_change_speed() local
1044 iobase = self->io.sir_base; in ali_ircc_sir_change_speed()
1052 FIR2SIR(iobase); in ali_ircc_sir_change_speed()
1057 inb(iobase+UART_LSR); in ali_ircc_sir_change_speed()
1058 inb(iobase+UART_SCR); in ali_ircc_sir_change_speed()
1080 outb(UART_LCR_DLAB | lcr, iobase+UART_LCR); /* Set DLAB */ in ali_ircc_sir_change_speed()
1081 outb(divisor & 0xff, iobase+UART_DLL); /* Set speed */ in ali_ircc_sir_change_speed()
1082 outb(divisor >> 8, iobase+UART_DLM); in ali_ircc_sir_change_speed()
1083 outb(lcr, iobase+UART_LCR); /* Set 8N1 */ in ali_ircc_sir_change_speed()
1084 outb(fcr, iobase+UART_FCR); /* Enable FIFO's */ in ali_ircc_sir_change_speed()
1088 outb((UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2), iobase+UART_MCR); in ali_ircc_sir_change_speed()
1095 int iobase,dongle_id; in ali_ircc_change_dongle_speed() local
1099 iobase = self->io.fir_base; /* or iobase = self->io.sir_base; */ in ali_ircc_change_dongle_speed()
1107 switch_bank(iobase, BANK2); in ali_ircc_change_dongle_speed()
1108 tmp = inb(iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1124 switch_bank(iobase, BANK2); in ali_ircc_change_dongle_speed()
1125 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1130 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1136 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1141 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1147 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1153 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1157 outb(tmp & ~0x02, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1180 switch_bank(iobase, BANK2); in ali_ircc_change_dongle_speed()
1181 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1189 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1195 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1200 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1204 outb(tmp & ~0x02, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1227 switch_bank(iobase, BANK2); in ali_ircc_change_dongle_speed()
1228 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1237 switch_bank(iobase, BANK2); in ali_ircc_change_dongle_speed()
1238 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1262 switch_bank(iobase, BANK2); in ali_ircc_change_dongle_speed()
1263 outb(tmp, iobase+FIR_IRDA_CR); in ali_ircc_change_dongle_speed()
1267 switch_bank(iobase, BANK0); in ali_ircc_change_dongle_speed()
1277 static int ali_ircc_sir_write(int iobase, int fifo_size, __u8 *buf, int len) in ali_ircc_sir_write() argument
1283 if (!(inb(iobase+UART_LSR) & UART_LSR_THRE)) { in ali_ircc_sir_write()
1291 outb(buf[actual], iobase+UART_TX); in ali_ircc_sir_write()
1308 int iobase; in ali_ircc_net_open() local
1318 iobase = self->io.fir_base; in ali_ircc_net_open()
1340 outb(UART_IER_RDI , iobase+UART_IER); in ali_ircc_net_open()
1407 int iobase; in ali_ircc_fir_hard_xmit() local
1413 iobase = self->io.fir_base; in ali_ircc_fir_hard_xmit()
1488 switch_bank(iobase, BANK1); in ali_ircc_fir_hard_xmit()
1489 outb(TIMER_IIR_500, iobase+FIR_TIMER_IIR); in ali_ircc_fir_hard_xmit()
1493 switch_bank(iobase, BANK1); in ali_ircc_fir_hard_xmit()
1494 outb(TIMER_IIR_1ms, iobase+FIR_TIMER_IIR); in ali_ircc_fir_hard_xmit()
1498 switch_bank(iobase, BANK1); in ali_ircc_fir_hard_xmit()
1499 outb(TIMER_IIR_2ms, iobase+FIR_TIMER_IIR); in ali_ircc_fir_hard_xmit()
1504 outb(inb(iobase+FIR_CR) | CR_TIMER_EN, iobase+FIR_CR); in ali_ircc_fir_hard_xmit()
1534 switch_bank(iobase, BANK0); in ali_ircc_fir_hard_xmit()
1546 int iobase, tmp; in ali_ircc_dma_xmit() local
1551 iobase = self->io.fir_base; in ali_ircc_dma_xmit()
1561 switch_bank(iobase, BANK1); in ali_ircc_dma_xmit()
1562 outb(inb(iobase+FIR_CR) & ~CR_DMA_EN, iobase+FIR_CR); in ali_ircc_dma_xmit()
1573 switch_bank(iobase, BANK0); in ali_ircc_dma_xmit()
1574 outb(LCR_A_FIFO_RESET, iobase+FIR_LCR_A); in ali_ircc_dma_xmit()
1579 switch_bank(iobase, BANK1); in ali_ircc_dma_xmit()
1580 outb(FIFO_OPTI, iobase+FIR_FIFO_TR) ; in ali_ircc_dma_xmit()
1585 switch_bank(iobase, BANK1); in ali_ircc_dma_xmit()
1586 outb(TX_DMA_Threshold, iobase+FIR_DMA_TR); in ali_ircc_dma_xmit()
1591 switch_bank(iobase, BANK2); in ali_ircc_dma_xmit()
1592 outb(Hi, iobase+FIR_TX_DSR_HI); in ali_ircc_dma_xmit()
1593 outb(Lo, iobase+FIR_TX_DSR_LO); in ali_ircc_dma_xmit()
1596 switch_bank(iobase, BANK0); in ali_ircc_dma_xmit()
1597 tmp = inb(iobase+FIR_LCR_B); in ali_ircc_dma_xmit()
1599 outb(((unsigned char)(tmp & 0x3f) | LCR_B_TX_MODE) & ~LCR_B_BW, iobase+FIR_LCR_B); in ali_ircc_dma_xmit()
1601 __func__, inb(iobase + FIR_LCR_B)); in ali_ircc_dma_xmit()
1603 outb(0, iobase+FIR_LSR); in ali_ircc_dma_xmit()
1606 switch_bank(iobase, BANK1); in ali_ircc_dma_xmit()
1607 outb(inb(iobase+FIR_CR) | CR_DMA_EN | CR_DMA_BURST, iobase+FIR_CR); in ali_ircc_dma_xmit()
1609 switch_bank(iobase, BANK0); in ali_ircc_dma_xmit()
1615 int iobase; in ali_ircc_dma_xmit_complete() local
1619 iobase = self->io.fir_base; in ali_ircc_dma_xmit_complete()
1622 switch_bank(iobase, BANK1); in ali_ircc_dma_xmit_complete()
1623 outb(inb(iobase+FIR_CR) & ~CR_DMA_EN, iobase+FIR_CR); in ali_ircc_dma_xmit_complete()
1626 switch_bank(iobase, BANK0); in ali_ircc_dma_xmit_complete()
1627 if((inb(iobase+FIR_LSR) & LSR_FRAME_ABORT) == LSR_FRAME_ABORT) in ali_ircc_dma_xmit_complete()
1672 switch_bank(iobase, BANK0); in ali_ircc_dma_xmit_complete()
1686 int iobase, tmp; in ali_ircc_dma_receive() local
1689 iobase = self->io.fir_base; in ali_ircc_dma_receive()
1696 switch_bank(iobase, BANK1); in ali_ircc_dma_receive()
1697 outb(inb(iobase+FIR_CR) & ~CR_DMA_EN, iobase+FIR_CR); in ali_ircc_dma_receive()
1700 switch_bank(iobase, BANK0); in ali_ircc_dma_receive()
1701 outb(0x07, iobase+FIR_LSR); in ali_ircc_dma_receive()
1705 self->LineStatus = inb(iobase+FIR_LSR) ; in ali_ircc_dma_receive()
1713 outb(LCR_A_FIFO_RESET, iobase+FIR_LCR_A); in ali_ircc_dma_receive()
1723 tmp = inb(iobase+FIR_LCR_B); in ali_ircc_dma_receive()
1724 …outb((unsigned char)(tmp &0x3f) | LCR_B_RX_MODE | LCR_B_BW , iobase + FIR_LCR_B); // 2000/12/1 05:… in ali_ircc_dma_receive()
1726 __func__, inb(iobase + FIR_LCR_B)); in ali_ircc_dma_receive()
1729 switch_bank(iobase, BANK1); in ali_ircc_dma_receive()
1730 outb(RX_FIFO_Threshold, iobase+FIR_FIFO_TR); in ali_ircc_dma_receive()
1731 outb(RX_DMA_Threshold, iobase+FIR_DMA_TR); in ali_ircc_dma_receive()
1735 outb(CR_DMA_EN | CR_DMA_BURST, iobase+FIR_CR); in ali_ircc_dma_receive()
1737 switch_bank(iobase, BANK0); in ali_ircc_dma_receive()
1746 int len, i, iobase, val; in ali_ircc_dma_receive_complete() local
1749 iobase = self->io.fir_base; in ali_ircc_dma_receive_complete()
1751 switch_bank(iobase, BANK0); in ali_ircc_dma_receive_complete()
1752 MessageCount = inb(iobase+ FIR_LSR)&0x07; in ali_ircc_dma_receive_complete()
1760 switch_bank(iobase, BANK0); in ali_ircc_dma_receive_complete()
1761 status = inb(iobase+FIR_LSR); in ali_ircc_dma_receive_complete()
1763 switch_bank(iobase, BANK2); in ali_ircc_dma_receive_complete()
1764 len = inb(iobase+FIR_RX_DSR_HI) & 0x0f; in ali_ircc_dma_receive_complete()
1766 len |= inb(iobase+FIR_RX_DSR_LO); in ali_ircc_dma_receive_complete()
1841 switch_bank(iobase, BANK0); in ali_ircc_dma_receive_complete()
1842 val = inb(iobase+FIR_BSR); in ali_ircc_dma_receive_complete()
1861 switch_bank(iobase, BANK1); in ali_ircc_dma_receive_complete()
1862 outb(TIMER_IIR_500, iobase+FIR_TIMER_IIR); // 2001/1/2 05:07PM in ali_ircc_dma_receive_complete()
1865 outb(inb(iobase+FIR_CR) | CR_TIMER_EN, iobase+FIR_CR); in ali_ircc_dma_receive_complete()
1905 switch_bank(iobase, BANK0); in ali_ircc_dma_receive_complete()
1923 int iobase; in ali_ircc_sir_hard_xmit() local
1932 iobase = self->io.sir_base; in ali_ircc_sir_hard_xmit()
1967 outb(UART_IER_THRI, iobase+UART_IER); in ali_ircc_sir_hard_xmit()
2045 int iobase; in ali_ircc_is_receiving() local
2054 iobase = self->io.fir_base; in ali_ircc_is_receiving()
2056 switch_bank(iobase, BANK1); in ali_ircc_is_receiving()
2057 if((inb(iobase+FIR_FIFO_FR) & 0x3f) != 0) in ali_ircc_is_receiving()
2064 switch_bank(iobase, BANK0); in ali_ircc_is_receiving()
2116 int iobase = self->io.fir_base; /* or sir_base */ in SetCOMInterrupts() local
2154 switch_bank(iobase, BANK0); in SetCOMInterrupts()
2155 outb(newMask, iobase+FIR_IER); in SetCOMInterrupts()
2158 outb(newMask, iobase+UART_IER); in SetCOMInterrupts()
2162 static void SIR2FIR(int iobase) in SIR2FIR() argument
2170 outb(0x28, iobase+UART_MCR); in SIR2FIR()
2171 outb(0x68, iobase+UART_MCR); in SIR2FIR()
2172 outb(0x88, iobase+UART_MCR); in SIR2FIR()
2174 outb(0x60, iobase+FIR_MCR); /* Master Reset */ in SIR2FIR()
2175 outb(0x20, iobase+FIR_MCR); /* Master Interrupt Enable */ in SIR2FIR()
2183 static void FIR2SIR(int iobase) in FIR2SIR() argument
2191 outb(0x20, iobase+FIR_MCR); /* IRQ to low */ in FIR2SIR()
2192 outb(0x00, iobase+UART_IER); in FIR2SIR()
2194 outb(0xA0, iobase+FIR_MCR); /* Don't set master reset */ in FIR2SIR()
2195 outb(0x00, iobase+UART_FCR); in FIR2SIR()
2196 outb(0x07, iobase+UART_FCR); in FIR2SIR()
2198 val = inb(iobase+UART_RX); in FIR2SIR()
2199 val = inb(iobase+UART_LSR); in FIR2SIR()
2200 val = inb(iobase+UART_MSR); in FIR2SIR()