#include <linux/module.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/skbuff.h>#include <linux/netdevice.h>#include <linux/ioport.h>#include <linux/delay.h>#include <linux/malloc.h>#include <linux/init.h>#include <linux/rtnetlink.h>#include <asm/io.h>#include <asm/dma.h>#include <asm/byteorder.h>#include <net/irda/wrapper.h>#include <net/irda/irda.h>#include <net/irda/irmod.h>#include <net/irda/irlap_frame.h>#include <net/irda/irda_device.h>#include <net/irda/nsc_ircc.h>Include dependency graph for nsc_fir.c:

Go to the source code of this file.
Defines | |
| #define | CHIP_IO_EXTENT 8 |
| #define | BROKEN_DONGLE_ID |
Functions | |
| static int | nsc_ircc_open (int i, unsigned int iobase, unsigned int board_addr, unsigned int irq, unsigned int dma) |
| static int | nsc_ircc_probe (int iobase, int board_addr, int irq, int dma) |
| static void | nsc_ircc_pio_receive (struct nsc_ircc_cb *self) |
| static int | nsc_ircc_dma_receive (struct nsc_ircc_cb *self) |
| static int | nsc_ircc_dma_receive_complete (struct nsc_ircc_cb *self, int iobase) |
| static int | nsc_ircc_hard_xmit_sir (struct sk_buff *skb, struct device *dev) |
| static int | nsc_ircc_hard_xmit_fir (struct sk_buff *skb, struct device *dev) |
| static int | nsc_ircc_pio_write (int iobase, __u8 *buf, int len, int fifo_size) |
| static void | nsc_ircc_dma_xmit (struct nsc_ircc_cb *self, int iobase) |
| static void | nsc_ircc_change_speed (struct nsc_ircc_cb *self, __u32 baud) |
| static void | nsc_ircc_interrupt (int irq, void *dev_id, struct pt_regs *regs) |
| static int | nsc_ircc_is_receiving (struct nsc_ircc_cb *self) |
| static int | nsc_ircc_read_dongle_id (int iobase) |
| static void | nsc_ircc_init_dongle_interface (int iobase, int dongle_id) |
| static int | nsc_ircc_net_init (struct device *dev) |
| static int | nsc_ircc_net_open (struct device *dev) |
| static int | nsc_ircc_net_close (struct device *dev) |
| static int | nsc_ircc_net_ioctl (struct device *dev, struct ifreq *rq, int cmd) |
| static struct net_device_stats * | nsc_ircc_net_get_stats (struct device *dev) |
| int __init | nsc_ircc_init (void) |
| static void | nsc_ircc_init_807 (int iobase, int board_addr, int irq, int dma) |
| static void | nsc_ircc_init_338 (int iobase, int board_addr, int irq, int dma) |
| static int | nsc_ircc_find_chip (int board_addr) |
| static void | nsc_ircc_change_dongle_speed (int iobase, int speed, int dongle_id) |
| static int | nsc_ircc_dma_xmit_complete (struct nsc_ircc_cb *self) |
| static __u8 | nsc_ircc_sir_interrupt (struct nsc_ircc_cb *self, int eir) |
| static __u8 | nsc_ircc_fir_interrupt (struct nsc_ircc_cb *self, int iobase, int eir) |
Variables | |
| static char * | driver_name = "nsc_ircc" |
| static int | qos_mtt_bits = 0x07 |
| static int | dongle_id = 0 |
| static unsigned int | io [] = { 0x2f8, 0x2f8, 0x2f8, 0x2f8, 0x2f8 } |
| static unsigned int | io2 [] = { 0x150, 0x398, 0xea, 0x15c, 0x2e } |
| static unsigned int | irq [] = { 3, 3, 3, 3, 3 } |
| static unsigned int | dma [] = { 0, 0, 0, 0, 3 } |
| static struct nsc_ircc_cb * | dev_self [] = { NULL, NULL, NULL, NULL, NULL } |
| static char * | dongle_types [] |
|
|
|
|
|
|
|
||||||||||||||||
|
Definition at line 679 of file nsc_fir.c. References BANK0, BANK7, BSR, cli, dongle_types, inb, IRDA_DEBUG, MCR, outb, outb_p, restore_flags, save_flags, switch_bank(), x00, x01, x62, and x80. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 765 of file nsc_fir.c. References ASSERT, BANK0, BANK2, BANK5, BGDH, BGDL, BSR, dev, device, chipio_t::dongle_id, EXCR2, EXCR2_RFSIZ, EXCR2_TFSIZ, FCR, FCR_FIFO_EN, FCR_RXSR, FCR_RXTH, FCR_TXSR, FCR_TXTH, IER, IER_RXHDL_IE, IER_SFIF_IE, inb, nsc_ircc_cb::io, IRDA_DEBUG, MCR, MCR_FIR, MCR_MIR, MCR_SIR, MCR_TX_DFR, nsc_ircc_change_dongle_speed(), nsc_ircc_dma_receive(), nsc_ircc_hard_xmit_fir(), nsc_ircc_hard_xmit_sir(), NULL, outb, switch_bank(), x00, x01, x02, x03, x04, x06, and x0c(). Here is the call graph for this function: ![]() |
|
|
Definition at line 1176 of file nsc_fir.c. References ASSERT, BANK0, BANK2, BSR, bsr, iobuff_t::data, chipio_t::dma, DMA_RX_MODE, ECR1, ECR1_DMANF, ECR1_EXT_SL, FCR, FCR_FIFO_EN, FCR_RXSR, inb, nsc_ircc_cb::io, IO_RECV, MCR, MCR_DMA_EN, NULL, outb, nsc_ircc_cb::rx_buff, setup_dma(), switch_bank(), and iobuff_t::truesize. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 1228 of file nsc_fir.c. References BANK0, BANK5, BSR, iobuff_t::data, sk_buff::data, sk_buff::dev, st_fifo::entries, ETH_P_IRDA, FALSE, FRM_ST, FRM_ST_BAD_CRC, FRM_ST_ERR_MSK, FRM_ST_LOST_FR, FRM_ST_MAX_LEN, FRM_ST_OVR1, FRM_ST_OVR2, FRM_ST_PHY_ERR, FRM_ST_VLD, get_fast_time(), st_fifo::head, htons(), inb, nsc_ircc_cb::io, st_fifo::len, st_fifo_entry::len, len, LSR, LSR_RXDA, sk_buff::mac, memcpy, netif_rx(), NULL, outb, sk_buff::protocol, RFLFH, RFLFL, nsc_ircc_cb::rx_buff, chipio_t::speed, nsc_ircc_cb::stamp, st_fifo_entry::status, status, switch_bank(), st_fifo::tail, TRUE, and WARNING. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 1027 of file nsc_fir.c. References BANK0, BANK2, BSR, bsr, chipio_t::dma, DMA_TX_MODE, ECR1, ECR1_DMANF, ECR1_DMASWP, ECR1_EXT_SL, inb, nsc_ircc_cb::io, IO_XMIT, MCR, MCR_DMA_EN, MCR_IR_PLS, MCR_TX_DFR, outb, tx_fifo::ptr, tx_fifo::queue, setup_dma(), switch_bank(), and nsc_ircc_cb::tx_fifo. Here is the call graph for this function: ![]() |
|
|
Definition at line 1104 of file nsc_fir.c. References ASCR, ASCR_TXUR, BANK0, BSR, FALSE, tx_fifo::free, inb, IRDA_DEBUG, tx_fifo::len, mark_bh, MAX_WINDOW, MCR, MCR_DMA_EN, NET_BH, nsc_ircc_cb::new_speed, nsc_ircc_change_speed(), nsc_ircc_dma_xmit(), outb, ret, switch_bank(), TRUE, and nsc_ircc_cb::tx_fifo. Here is the call graph for this function: ![]() |
|
|
Definition at line 428 of file nsc_fir.c. References driver_name, id, inb, index, IRDA_DEBUG, MESSAGE, outb, PC87108, PC97338, x0f, xf0, and xff. Referenced by nsc_ircc_probe(). |
|
||||||||||||||||
|
Definition at line 1448 of file nsc_fir.c. References ASCR, ASCR_CTE, BANK0, BANK4, BSR, chipio_t::direction, EIR_DMA_EV, EIR_LS_EV, EIR_SFIF_EV, EIR_TMR_EV, IER_DMA_IE, IER_LS_IE, IER_SFIF_IE, IER_TMR_IE, inb, nsc_ircc_cb::io, IO_XMIT, IRCR1, IRCR1_TMR_EN, irda_device_txqueue_empty(), nsc_ircc_dma_receive(), nsc_ircc_dma_receive_complete(), nsc_ircc_dma_xmit(), nsc_ircc_dma_xmit_complete(), outb, switch_bank(), TMRH, TMRL, x00, and x07. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 915 of file nsc_fir.c. References ASSERT, BANK0, BANK4, BSR, sk_buff::data, dev_kfree_skb, diff, EBUSY, FALSE, tx_fifo::free, get_fast_time(), IER, IER_DMA_IE, IER_TMR_IE, inb, nsc_ircc_cb::io, IO_XMIT, IRCR1, IRCR1_TMR_EN, irda_get_mtt, irda_get_speed, irda_lock(), tx_fifo::len, sk_buff::len, nsc_ircc_cb::lock, MAX_WINDOW, memcpy, nsc_ircc_cb::now, nsc_ircc_dma_xmit(), NULL, out, outb, tx_fifo::queue, chipio_t::speed, speed, spin_lock_irqsave, spin_unlock_irqrestore, switch_bank(), TMRH, TMRL, nsc_ircc_cb::tx_fifo, udelay, x0f, and xff. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 869 of file nsc_fir.c. References ASSERT, async_wrap_skb(), BANK0, BSR, iobuff_t::data, dev_kfree_skb, EBUSY, FALSE, IER, IER_TXLDL_IE, inb, nsc_ircc_cb::io, irda_get_speed, irda_lock(), nsc_ircc_cb::lock, NULL, outb, chipio_t::speed, speed, spin_lock_irqsave, spin_unlock_irqrestore, switch_bank(), iobuff_t::truesize, and nsc_ircc_cb::tx_buff. Here is the call graph for this function: ![]() |
|
|
Definition at line 147 of file nsc_fir.c. References apm_register_callback(), cfg, nsc_chip::cfg, check_region, chip, CHIP_IO_EXTENT, nsc_chip::cid_index, nsc_chip::cid_mask, nsc_chip::cid_value, dma, ENODEV, i, id, inb, nsc_chip::init, io, io2, ioaddr, IRDA_DEBUG, irq, memset, nsc_chip::name, nsc_ircc_open(), outb, nsc_chip::probe, reg, ret, and xff. Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
Definition at line 374 of file nsc_fir.c. References ERROR, outb, temp, x00, x03, x08, x10, x14, and x18. Referenced by nsc_ircc_probe(). |
|
||||||||||||
|
Definition at line 592 of file nsc_fir.c. References BANK0, BANK7, BSR, dongle_types, inb, IRDA_DEBUG, MCR, outb, outb_p, switch_bank(), x00, x28, x48, and x62. Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 1522 of file nsc_fir.c. References BANK0, BSR, bsr, dev, device, driver_name, EIR, IER, ier, inb, nsc_ircc_cb::io, KERN_WARNING, nsc_ircc_cb::lock, nsc_ircc_fir_interrupt(), nsc_ircc_sir_interrupt(), outb, printk, chipio_t::speed, spin_lock, spin_unlock, and switch_bank(). Here is the call graph for this function: ![]() |
|
|
Definition at line 1570 of file nsc_fir.c. References ASSERT, BANK2, BSR, FALSE, inb, nsc_ircc_cb::io, NULL, outb, OUTSIDE_FRAME, RXFLV, chipio_t::speed, status, switch_bank(), TRUE, and x3f. Here is the call graph for this function: ![]() |
|
|
Definition at line 1680 of file nsc_fir.c. References ASSERT, BANK0, BSR, disable_dma(), chipio_t::dma, free_dma(), free_irq(), IER, inb, nsc_ircc_cb::io, IRDA_DEBUG, nsc_ircc_cb::irlap, irlap_close(), chipio_t::irq, MOD_DEC_USE_COUNT, NULL, outb, and switch_bank(). Here is the call graph for this function: ![]() |
|
|
|
|
|
Definition at line 1601 of file nsc_fir.c. References IRDA_DEBUG, and irda_device_setup(). Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 1730 of file nsc_fir.c. References ASSERT, cli, EOPNOTSUPP, IRDA_DEBUG, irda_device_set_media_busy(), irq, nsc_ircc_change_speed(), nsc_ircc_is_receiving(), NULL, restore_flags, ret, save_flags, SIOCGRECEIVING, SIOCSBANDWIDTH, SIOCSMEDIABUSY, and TRUE. Here is the call graph for this function: ![]() |
|
|
Definition at line 1619 of file nsc_fir.c. References ASSERT, BANK0, BSR, chipio_t::dma, EAGAIN, free_irq(), IER, IER_LS_IE, IER_RXHDL_IE, inb, nsc_ircc_cb::io, IRDA_DEBUG, irlap_open(), chipio_t::irq, MOD_INC_USE_COUNT, nsc_ircc_interrupt(), NULL, outb, nsc_ircc_cb::qos, request_dma(), request_irq(), and switch_bank(). Here is the call graph for this function: ![]() |
|
||||||||||||||||||||||||
|
Definition at line 205 of file nsc_fir.c. References check_region, CHIP_IO_EXTENT, dev, dev_alloc(), device, dongle_id, driver_name, ENODEV, ENOMEM, ERROR, FALSE, IFF_DMA, IFF_DONGLE, IFF_FIR, IFF_MIR, IFF_PIO, IFF_SIR, nsc_ircc_cb::io, IR_115200, IR_1152000, IR_19200, IR_38400, IR_4000000, IR_57600, IR_576000, IR_9600, IRDA_DEBUG, irda_init_max_qos_capabilies(), irda_qos_bits_to_value(), chipio_t::irq, kfree(), kmalloc(), memset, MESSAGE, nsc_ircc_hard_xmit_sir(), nsc_ircc_init_dongle_interface(), nsc_ircc_net_close(), nsc_ircc_net_get_stats(), nsc_ircc_net_init(), nsc_ircc_net_ioctl(), nsc_ircc_net_open(), nsc_ircc_probe(), NULL, OUTSIDE_FRAME, qos_mtt_bits, register_netdevice, request_region, ret, rtnl_lock(), rtnl_unlock(), and spin_lock_init. Here is the call graph for this function: ![]() |
|
|
Definition at line 1354 of file nsc_fir.c. References ASSERT, async_unwrap_char(), byte, inb, IRDA_DEBUG, LSR, LSR_RXDA, nsc_ircc_cb::netdev, NULL, nsc_ircc_cb::rx_buff, and nsc_ircc_cb::stats. Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
Definition at line 1064 of file nsc_fir.c. References BANK0, BSR, inb, inb_p, IRDA_DEBUG, LSR, LSR_TXEMP, outb, and switch_bank(). Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
Definition at line 469 of file nsc_fir.c. References BANK0, BANK2, BANK3, BANK5, BANK6, chip, dongle_id, dongle_types, driver_name, ECR1, ECR1_EXT_SL, ERROR, EXCR2, EXCR2_RFSIZ, EXCR2_TFSIZ, FCR, FCR_FIFO_EN, FCR_RXSR, FCR_RXTH, FCR_TXSR, FCR_TXTH, IER, IER_RXHDL_IE, inb, MESSAGE, MID, nsc_ircc_find_chip(), nsc_ircc_init_338(), nsc_ircc_init_807(), nsc_ircc_read_dongle_id(), outb, PC87108, PC97338, switch_bank(), version, x20, and xf0. Referenced by nsc_ircc_open(). Here is the call graph for this function: ![]() |
|
|
Definition at line 550 of file nsc_fir.c. References BANK0, BANK7, BSR, dongle_id, inb, IRDA_DEBUG, outb, switch_bank(), udelay, and x00. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 1379 of file nsc_fir.c. References EIR_RXHDL_EV, EIR_TXEMP_EV, EIR_TXLDL_EV, IER_RXHDL_IE, IER_SFIF_IE, IER_TXEMP_IE, IER_TXLDL_IE, IO_RECV, IO_XMIT, IRDA_DEBUG, mark_bh, NET_BH, nsc_ircc_change_speed(), nsc_ircc_pio_receive(), and nsc_ircc_pio_write(). Here is the call graph for this function: ![]() |
|
|
|
|
|
|
|
|
|
|
|
Initial value: {
"Differential serial interface",
"Differential serial interface",
"Reserved",
"Reserved",
"Sharp RY5HD01",
"Reserved",
"Single-ended serial interface",
"Consumer-IR only",
"HP HSDL-2300, HP HSDL-3600/HSDL-3610",
"IBM31T1100 or Temic TFDS6000/TFDS6500",
"Reserved",
"Reserved",
"HP HSDL-1100/HSDL-2100",
"HP HSDL-1100/HSDL-2100"
"Supports SIR Mode only",
"No dongle connected",
}
|
|
|
|
|
|
|
|
|
Definition at line 88 of file nsc_fir.c. Referenced by ircc_init(), and nsc_ircc_init(). |
|
|
|
|
|
|