Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

toshoboe.c File Reference

#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/pci.h>
#include <linux/rtnetlink.h>
#include <asm/system.h>
#include <asm/io.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/toshoboe.h>

Include dependency graph for toshoboe.c:

Go to the source code of this file.

Defines

#define ONETASK
#define ENABLE_FAST
#define NSELFS   4
#define CHIP_IO_EXTENT   0x1f
#define RX_BUF_SZ   4196
#define TX_BUF_SZ   4196

Functions

static void toshoboe_stopchip (struct toshoboe_cb *self)
static void toshoboe_setbaud (struct toshoboe_cb *self, int baud)
static void toshoboe_startchip (struct toshoboe_cb *self)
static void toshoboe_enablebm (struct toshoboe_cb *self)
static void toshoboe_disablebm (struct toshoboe_cb *self)
static void toshoboe_initbuffs (struct toshoboe_cb *self)
static int toshoboe_hard_xmit (struct sk_buff *skb, struct device *dev)
static void toshoboe_interrupt (int irq, void *dev_id, struct pt_regs *regs)
static int toshoboe_net_init (struct device *dev)
static void toshoboe_initptrs (struct toshoboe_cb *self)
static int toshoboe_net_open (struct device *dev)
static int toshoboe_net_close (struct device *dev)
static int toshoboe_net_ioctl (struct device *dev, struct ifreq *rq, int cmd)
static int toshoboe_open (struct pci_dev *pci_dev)
int __init toshoboe_init (void)

Variables

static char * rcsid = "$Id: toshoboe.c,v 1.91 1999/06/29 14:21:06 root Exp $"
static char * driver_name = "toshoboe"
static struct toshoboe_cbdev_self [NSELFS+1]
static int max_baud = 4000000


Define Documentation

#define CHIP_IO_EXTENT   0x1f
 

Definition at line 50 of file toshoboe.c.

#define ENABLE_FAST
 

Definition at line 44 of file toshoboe.c.

#define NSELFS   4
 

Definition at line 47 of file toshoboe.c.

Referenced by toshoboe_open().

#define ONETASK
 

Definition at line 39 of file toshoboe.c.

#define RX_BUF_SZ   4196
 

Definition at line 53 of file toshoboe.c.

#define TX_BUF_SZ   4196
 

Definition at line 54 of file toshoboe.c.

Referenced by toshoboe_hard_xmit(), and toshoboe_open().


Function Documentation

static void toshoboe_disablebm struct toshoboe_cb self  )  [static]
 

Definition at line 223 of file toshoboe.c.

References command(), IRDA_DEBUG, PCI_COMMAND, PCI_COMMAND_MASTER, pci_read_config_byte, pci_write_config_byte, and toshoboe_cb::pdev.

Referenced by toshoboe_net_close().

Here is the call graph for this function:

static void toshoboe_enablebm struct toshoboe_cb self  )  [static]
 

Definition at line 215 of file toshoboe.c.

References IRDA_DEBUG, pci_set_master(), and toshoboe_cb::pdev.

Referenced by toshoboe_net_open().

Here is the call graph for this function:

static int toshoboe_hard_xmit struct sk_buff skb,
struct device *  dev
[static]
 

Definition at line 265 of file toshoboe.c.

References ASSERT, async_wrap_skb(), sk_buff::data, dev_kfree_skb, EBUSY, FALSE, inb_p, irda_get_mtt, irda_get_speed, irda_lock(), sk_buff::len, len, memcpy, NULL, OBOE_REG_11, OBOE_REG_9, OBOE_RST, OBOE_RST_WRAP, OBOE_XMTT, OBOE_XMTT_OFFSET, outb_p, speed, TX_BUF_SZ, TX_SLOTS, udelay, and x80.

Referenced by toshoboe_open().

Here is the call graph for this function:

int __init toshoboe_init void   ) 
 

Definition at line 998 of file toshoboe.c.

References apm_register_callback(), ENODEV, found, KERN_WARNING, NULL, PCI_BASE_ADDRESS_IO_MASK, PCI_DEVICE_ID_FIR701, pci_find_device(), PCI_VENDOR_ID_TOSHIBA, printk, and toshoboe_open().

Referenced by irda_device_init().

Here is the call graph for this function:

static void toshoboe_initbuffs struct toshoboe_cb self  )  [static]
 

Definition at line 236 of file toshoboe.c.

References cli, i, IRDA_DEBUG, toshoboe_cb::recv_bufs, restore_flags, RX_SLOTS, save_flags, TX_SLOTS, virt_to_bus, and toshoboe_cb::xmit_bufs.

Referenced by toshoboe_net_open().

static void toshoboe_initptrs struct toshoboe_cb self  )  [static]
 

Definition at line 472 of file toshoboe.c.

References cli, inb_p, OBOE_RCVT, OBOE_XMTT, OBOE_XMTT_OFFSET, restore_flags, RX_SLOTS, and save_flags.

Referenced by toshoboe_net_open().

static void toshoboe_interrupt int  irq,
void *  dev_id,
struct pt_regs regs
[static]
 

Definition at line 348 of file toshoboe.c.

References driver_name, ETH_P_IRDA, htons(), inb_p, IRDA_DEBUG, KERN_INFO, KERN_WARNING, mark_bh, memcpy, NET_BH, netif_rx(), NULL, OBOE_ISR, OBOE_ISR_10, OBOE_ISR_20, OBOE_ISR_RXDONE, OBOE_ISR_TXDONE, OBOE_RCVT, outb_p, printk, RX_SLOTS, toshoboe_setbaud(), x8, and xf8.

Referenced by toshoboe_net_open().

Here is the call graph for this function:

static int toshoboe_net_close struct device *  dev  )  [static]
 

Definition at line 553 of file toshoboe.c.

References ASSERT, free_irq(), IRDA_DEBUG, irlap_close(), MOD_DEC_USE_COUNT, NULL, toshoboe_disablebm(), and toshoboe_stopchip().

Referenced by toshoboe_open().

Here is the call graph for this function:

static int toshoboe_net_init struct device *  dev  )  [static]
 

Definition at line 459 of file toshoboe.c.

References IRDA_DEBUG, and irda_device_setup().

Referenced by toshoboe_open().

Here is the call graph for this function:

static int toshoboe_net_ioctl struct device *  dev,
struct ifreq rq,
int  cmd
[static]
 

Definition at line 594 of file toshoboe.c.

References ASSERT, CAP_NET_ADMIN, capable, cli, EOPNOTSUPP, EPERM, in_interrupt, IRDA_DEBUG, irda_device_set_media_busy(), irq, NULL, restore_flags, ret, save_flags, SIOCGRECEIVING, SIOCSBANDWIDTH, SIOCSMEDIABUSY, and TRUE.

Referenced by toshoboe_open().

Here is the call graph for this function:

static int toshoboe_net_open struct device *  dev  )  [static]
 

Definition at line 505 of file toshoboe.c.

References ASSERT, EAGAIN, IRDA_DEBUG, irlap_open(), MOD_INC_USE_COUNT, NULL, request_irq(), SA_INTERRUPT, SA_SHIRQ, toshoboe_enablebm(), toshoboe_initbuffs(), toshoboe_initptrs(), toshoboe_interrupt(), and toshoboe_startchip().

Referenced by toshoboe_open().

Here is the call graph for this function:

static int toshoboe_open struct pci_dev *  pci_dev  )  [static]
 

Definition at line 700 of file toshoboe.c.

References addr, check_region, CHIP_IO_EXTENT, dev_alloc(), device, driver_name, ENODEV, ENOMEM, ERROR, IFF_DMA, IFF_FIR, IFF_PIO, IFF_SIR, toshoboe_cb::io, IR_115200, IR_1152000, IR_19200, IR_2400, IR_4000000, IR_576000, IR_9600, IRDA_DEBUG, irda_init_max_qos_capabilies(), irda_qos_bits_to_value(), KERN_ERR, KERN_WARNING, kfree(), kmalloc(), max_baud, memset, MESSAGE, NSELFS, NULL, OBOE_TASK_BUF_LEN, toshoboe_cb::open, PCI_BASE_ADDRESS_IO_MASK, printk, toshoboe_cb::qos, rcsid, toshoboe_cb::recv_bufs, register_netdevice, request_region, rtnl_lock(), rtnl_unlock(), RX_SLOTS, chipio_t::sir_base, chipio_t::sir_ext, toshoboe_cb::taskfilebuf, toshoboe_hard_xmit(), toshoboe_net_close(), toshoboe_net_init(), toshoboe_net_ioctl(), toshoboe_net_open(), TX_BUF_SZ, TX_SLOTS, and toshoboe_cb::xmit_bufs.

Referenced by toshoboe_init().

Here is the call graph for this function:

static void toshoboe_setbaud struct toshoboe_cb self,
int  baud
[static]
 

Definition at line 115 of file toshoboe.c.

References cli, IRDA_DEBUG, KERN_WARNING, OBOE_PMDL, OBOE_PMDL_FIR, OBOE_PMDL_MIR, OBOE_PMDL_SIR, OBOE_REG_9, OBOE_RST, OBOE_SMDL, OBOE_SMDL_FIR, OBOE_SMDL_MIR, OBOE_SMDL_SIR, OBOE_UDIV, outb_p, printk, restore_flags, save_flags, x0, x00, x01, x1, x3, x7, x80, and xbf.

Referenced by toshoboe_interrupt(), and toshoboe_startchip().

static void toshoboe_startchip struct toshoboe_cb self  )  [static]
 

Definition at line 184 of file toshoboe.c.

References IRDA_DEBUG, OBOE_ISR, OBOE_LOCK, OBOE_NTR, OBOE_NTR_VAL, OBOE_REG_11, OBOE_REG_1A, OBOE_REG_1B, OBOE_REG_D, OBOE_RST, OBOE_TFP0, OBOE_TFP1, OBOE_TFP2, outb_p, toshoboe_cb::taskfile, toshoboe_setbaud(), virt_to_bus, x0f, x3f, x80, xf0, and xff.

Referenced by toshoboe_net_open().

Here is the call graph for this function:

static void toshoboe_stopchip struct toshoboe_cb self  )  [static]
 

Definition at line 95 of file toshoboe.c.

References IRDA_DEBUG, OBOE_ISR, OBOE_LOCK, OBOE_REG_11, OBOE_REG_1A, OBOE_REG_1B, OBOE_RST, OBOE_TFP0, OBOE_TFP1, OBOE_TFP2, outb_p, x00, x0f, x3f, x80, xe, and xff.

Referenced by toshoboe_net_close().


Variable Documentation

struct toshoboe_cb* dev_self[NSELFS+1] [static]
 

Initial value:

{NULL, NULL, NULL, NULL, NULL}

Definition at line 88 of file toshoboe.c.

char* driver_name = "toshoboe" [static]
 

Definition at line 86 of file toshoboe.c.

int max_baud = 4000000 [static]
 

Definition at line 91 of file toshoboe.c.

Referenced by toshoboe_open().

char* rcsid = "$Id: toshoboe.c,v 1.91 1999/06/29 14:21:06 root Exp $" [static]
 

Definition at line 33 of file toshoboe.c.