Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
smsc75xx.c File Reference
#include <linux/module.h>
#include <linux/kmod.h>
#include <linux/init.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/ethtool.h>
#include <linux/mii.h>
#include <linux/usb.h>
#include <linux/crc32.h>
#include <linux/usb/usbnet.h>
#include <linux/slab.h>
#include "smsc75xx.h"

Go to the source code of this file.

Data Structures

struct  smsc75xx_priv
 
struct  usb_context
 

Macros

#define SMSC_CHIPNAME   "smsc75xx"
 
#define SMSC_DRIVER_VERSION   "1.0.0"
 
#define HS_USB_PKT_SIZE   (512)
 
#define FS_USB_PKT_SIZE   (64)
 
#define DEFAULT_HS_BURST_CAP_SIZE   (16 * 1024 + 5 * HS_USB_PKT_SIZE)
 
#define DEFAULT_FS_BURST_CAP_SIZE   (6 * 1024 + 33 * FS_USB_PKT_SIZE)
 
#define DEFAULT_BULK_IN_DELAY   (0x00002000)
 
#define MAX_SINGLE_PACKET_SIZE   (9000)
 
#define LAN75XX_EEPROM_MAGIC   (0x7500)
 
#define EEPROM_MAC_OFFSET   (0x01)
 
#define DEFAULT_TX_CSUM_ENABLE   (true)
 
#define DEFAULT_RX_CSUM_ENABLE   (true)
 
#define DEFAULT_TSO_ENABLE   (true)
 
#define SMSC75XX_INTERNAL_PHY_ID   (1)
 
#define SMSC75XX_TX_OVERHEAD   (8)
 
#define MAX_RX_FIFO_SIZE   (20 * 1024)
 
#define MAX_TX_FIFO_SIZE   (12 * 1024)
 
#define USB_VENDOR_ID_SMSC   (0x0424)
 
#define USB_PRODUCT_ID_LAN7500   (0x7500)
 
#define USB_PRODUCT_ID_LAN7505   (0x7505)
 
#define RXW_PADDING   2
 
#define SUPPORTED_WAKE   (WAKE_MAGIC)
 
#define check_warn(ret, fmt, args...)   ({ if (ret < 0) netdev_warn(dev->net, fmt, ##args); })
 
#define check_warn_return(ret, fmt, args...)   ({ if (ret < 0) { netdev_warn(dev->net, fmt, ##args); return ret; } })
 
#define check_warn_goto_done(ret, fmt, args...)   ({ if (ret < 0) { netdev_warn(dev->net, fmt, ##args); goto done; } })
 

Functions

 module_param (turbo_mode, bool, 0644)
 
 MODULE_PARM_DESC (turbo_mode,"Enable multiple frames per Rx transaction")
 
 MODULE_DEVICE_TABLE (usb, products)
 
 module_usb_driver (smsc75xx_driver)
 
 MODULE_AUTHOR ("Nancy Lin")
 
 MODULE_AUTHOR ("Steve Glendinning <[email protected]>")
 
 MODULE_DESCRIPTION ("SMSC75XX USB 2.0 Gigabit Ethernet Devices")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define check_warn (   ret,
  fmt,
  args... 
)    ({ if (ret < 0) netdev_warn(dev->net, fmt, ##args); })

Definition at line 57 of file smsc75xx.c.

#define check_warn_goto_done (   ret,
  fmt,
  args... 
)    ({ if (ret < 0) { netdev_warn(dev->net, fmt, ##args); goto done; } })

Definition at line 63 of file smsc75xx.c.

#define check_warn_return (   ret,
  fmt,
  args... 
)    ({ if (ret < 0) { netdev_warn(dev->net, fmt, ##args); return ret; } })

Definition at line 60 of file smsc75xx.c.

#define DEFAULT_BULK_IN_DELAY   (0x00002000)

Definition at line 40 of file smsc75xx.c.

#define DEFAULT_FS_BURST_CAP_SIZE   (6 * 1024 + 33 * FS_USB_PKT_SIZE)

Definition at line 39 of file smsc75xx.c.

#define DEFAULT_HS_BURST_CAP_SIZE   (16 * 1024 + 5 * HS_USB_PKT_SIZE)

Definition at line 38 of file smsc75xx.c.

#define DEFAULT_RX_CSUM_ENABLE   (true)

Definition at line 45 of file smsc75xx.c.

#define DEFAULT_TSO_ENABLE   (true)

Definition at line 46 of file smsc75xx.c.

#define DEFAULT_TX_CSUM_ENABLE   (true)

Definition at line 44 of file smsc75xx.c.

#define EEPROM_MAC_OFFSET   (0x01)

Definition at line 43 of file smsc75xx.c.

#define FS_USB_PKT_SIZE   (64)

Definition at line 37 of file smsc75xx.c.

#define HS_USB_PKT_SIZE   (512)

Definition at line 36 of file smsc75xx.c.

#define LAN75XX_EEPROM_MAGIC   (0x7500)

Definition at line 42 of file smsc75xx.c.

#define MAX_RX_FIFO_SIZE   (20 * 1024)

Definition at line 49 of file smsc75xx.c.

#define MAX_SINGLE_PACKET_SIZE   (9000)

Definition at line 41 of file smsc75xx.c.

#define MAX_TX_FIFO_SIZE   (12 * 1024)

Definition at line 50 of file smsc75xx.c.

#define RXW_PADDING   2

Definition at line 54 of file smsc75xx.c.

#define SMSC75XX_INTERNAL_PHY_ID   (1)

Definition at line 47 of file smsc75xx.c.

#define SMSC75XX_TX_OVERHEAD   (8)

Definition at line 48 of file smsc75xx.c.

#define SMSC_CHIPNAME   "smsc75xx"

Definition at line 34 of file smsc75xx.c.

#define SMSC_DRIVER_VERSION   "1.0.0"

Definition at line 35 of file smsc75xx.c.

#define SUPPORTED_WAKE   (WAKE_MAGIC)

Definition at line 55 of file smsc75xx.c.

#define USB_PRODUCT_ID_LAN7500   (0x7500)

Definition at line 52 of file smsc75xx.c.

#define USB_PRODUCT_ID_LAN7505   (0x7505)

Definition at line 53 of file smsc75xx.c.

#define USB_VENDOR_ID_SMSC   (0x0424)

Definition at line 51 of file smsc75xx.c.

Function Documentation

MODULE_AUTHOR ( "Nancy Lin"  )
MODULE_AUTHOR ( "Steve Glendinning <[email protected]>"  )
MODULE_DESCRIPTION ( "SMSC75XX USB 2.0 Gigabit Ethernet Devices"  )
MODULE_DEVICE_TABLE ( usb  ,
products   
)
MODULE_LICENSE ( "GPL"  )
module_param ( turbo_mode  ,
bool  ,
0644   
)
MODULE_PARM_DESC ( turbo_mode  ,
"Enable multiple frames per Rx transaction  
)
module_usb_driver ( smsc75xx_driver  )