Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ueagle-atm.c File Reference
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/crc32.h>
#include <linux/usb.h>
#include <linux/firmware.h>
#include <linux/ctype.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/mutex.h>
#include <linux/freezer.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <asm/unaligned.h>
#include "usbatm.h"

Go to the source code of this file.

Data Structures

struct  uea_cmvs_v1
 
struct  uea_cmvs_v2
 
struct  cmv_dsc_e1
 
struct  cmv_dsc_e4
 
union  cmv_dsc
 
struct  uea_softc
 
struct  uea_softc::uea_stats
 
struct  block_index
 
struct  l1_code
 
struct  block_info_e1
 
struct  block_info_e4
 
struct  cmv_e1
 
struct  cmv_e4
 
struct  swap_info_e1
 
struct  swap_info_e4
 
union  intr_data_e1
 
union  intr_data_e4
 
struct  intr_pkt
 

Macros

#define EAGLEUSBVERSION   "ueagle 1.4"
 
#define uea_dbg(usb_dev, format, args...)
 
#define uea_vdbg(usb_dev, format, args...)
 
#define uea_enters(usb_dev)   uea_vdbg(usb_dev, "entering %s\n" , __func__)
 
#define uea_leaves(usb_dev)   uea_vdbg(usb_dev, "leaving %s\n" , __func__)
 
#define uea_err(usb_dev, format, args...)   dev_err(&(usb_dev)->dev , "[UEAGLE-ATM] " format , ##args)
 
#define uea_warn(usb_dev, format, args...)   dev_warn(&(usb_dev)->dev , "[Ueagle-atm] " format, ##args)
 
#define uea_info(usb_dev, format, args...)   dev_info(&(usb_dev)->dev , "[ueagle-atm] " format, ##args)
 
#define ANNEXA   0
 
#define ANNEXB   1
 
#define ELSA_VID   0x05CC
 
#define ELSA_PID_PSTFIRM   0x3350
 
#define ELSA_PID_PREFIRM   0x3351
 
#define ELSA_PID_A_PREFIRM   0x3352
 
#define ELSA_PID_A_PSTFIRM   0x3353
 
#define ELSA_PID_B_PREFIRM   0x3362
 
#define ELSA_PID_B_PSTFIRM   0x3363
 
#define DEVOLO_VID   0x1039
 
#define DEVOLO_EAGLE_I_A_PID_PSTFIRM   0x2110
 
#define DEVOLO_EAGLE_I_A_PID_PREFIRM   0x2111
 
#define DEVOLO_EAGLE_I_B_PID_PSTFIRM   0x2100
 
#define DEVOLO_EAGLE_I_B_PID_PREFIRM   0x2101
 
#define DEVOLO_EAGLE_II_A_PID_PSTFIRM   0x2130
 
#define DEVOLO_EAGLE_II_A_PID_PREFIRM   0x2131
 
#define DEVOLO_EAGLE_II_B_PID_PSTFIRM   0x2120
 
#define DEVOLO_EAGLE_II_B_PID_PREFIRM   0x2121
 
#define ANALOG_VID   0x1110
 
#define ADI930_PID_PREFIRM   0x9001
 
#define ADI930_PID_PSTFIRM   0x9000
 
#define EAGLE_I_PID_PREFIRM   0x9010 /* Eagle I */
 
#define EAGLE_I_PID_PSTFIRM   0x900F /* Eagle I */
 
#define EAGLE_IIC_PID_PREFIRM   0x9024 /* Eagle IIC */
 
#define EAGLE_IIC_PID_PSTFIRM   0x9023 /* Eagle IIC */
 
#define EAGLE_II_PID_PREFIRM   0x9022 /* Eagle II */
 
#define EAGLE_II_PID_PSTFIRM   0x9021 /* Eagle II */
 
#define EAGLE_III_PID_PREFIRM   0x9032 /* Eagle III */
 
#define EAGLE_III_PID_PSTFIRM   0x9031 /* Eagle III */
 
#define EAGLE_IV_PID_PREFIRM   0x9042 /* Eagle IV */
 
#define EAGLE_IV_PID_PSTFIRM   0x9041 /* Eagle IV */
 
#define USR_VID   0x0BAF
 
#define MILLER_A_PID_PREFIRM   0x00F2
 
#define MILLER_A_PID_PSTFIRM   0x00F1
 
#define MILLER_B_PID_PREFIRM   0x00FA
 
#define MILLER_B_PID_PSTFIRM   0x00F9
 
#define HEINEKEN_A_PID_PREFIRM   0x00F6
 
#define HEINEKEN_A_PID_PSTFIRM   0x00F5
 
#define HEINEKEN_B_PID_PREFIRM   0x00F8
 
#define HEINEKEN_B_PID_PSTFIRM   0x00F7
 
#define PREFIRM   0
 
#define PSTFIRM   (1<<7)
 
#define AUTO_ANNEX_A   (1<<8)
 
#define AUTO_ANNEX_B   (1<<9)
 
#define UEA_IS_PREFIRM(x)   (!((x)->driver_info & PSTFIRM))
 
#define UEA_CHIP_VERSION(x)   ((x)->driver_info & 0xf)
 
#define IS_ISDN(x)   ((x)->annex & ANNEXB)
 
#define INS_TO_USBDEV(ins)   (ins->usb_dev)
 
#define GET_STATUS(data)   ((data >> 8) & 0xf)
 
#define IS_OPERATIONAL(sc)
 
#define FW_GET_BYTE(p)   (*((__u8 *) (p)))
 
#define FW_DIR   "ueagle-atm/"
 
#define EAGLE_FIRMWARE   FW_DIR "eagle.fw"
 
#define ADI930_FIRMWARE   FW_DIR "adi930.fw"
 
#define EAGLE_I_FIRMWARE   FW_DIR "eagleI.fw"
 
#define EAGLE_II_FIRMWARE   FW_DIR "eagleII.fw"
 
#define EAGLE_III_FIRMWARE   FW_DIR "eagleIII.fw"
 
#define EAGLE_IV_FIRMWARE   FW_DIR "eagleIV.fw"
 
#define DSP4I_FIRMWARE   FW_DIR "DSP4i.bin"
 
#define DSP4P_FIRMWARE   FW_DIR "DSP4p.bin"
 
#define DSP9I_FIRMWARE   FW_DIR "DSP9i.bin"
 
#define DSP9P_FIRMWARE   FW_DIR "DSP9p.bin"
 
#define DSPEI_FIRMWARE   FW_DIR "DSPei.bin"
 
#define DSPEP_FIRMWARE   FW_DIR "DSPep.bin"
 
#define FPGA930_FIRMWARE   FW_DIR "930-fpga.bin"
 
#define CMV4P_FIRMWARE   FW_DIR "CMV4p.bin"
 
#define CMV4PV2_FIRMWARE   FW_DIR "CMV4p.bin.v2"
 
#define CMV4I_FIRMWARE   FW_DIR "CMV4i.bin"
 
#define CMV4IV2_FIRMWARE   FW_DIR "CMV4i.bin.v2"
 
#define CMV9P_FIRMWARE   FW_DIR "CMV9p.bin"
 
#define CMV9PV2_FIRMWARE   FW_DIR "CMV9p.bin.v2"
 
#define CMV9I_FIRMWARE   FW_DIR "CMV9i.bin"
 
#define CMV9IV2_FIRMWARE   FW_DIR "CMV9i.bin.v2"
 
#define CMVEP_FIRMWARE   FW_DIR "CMVep.bin"
 
#define CMVEPV2_FIRMWARE   FW_DIR "CMVep.bin.v2"
 
#define CMVEI_FIRMWARE   FW_DIR "CMVei.bin"
 
#define CMVEIV2_FIRMWARE   FW_DIR "CMVei.bin.v2"
 
#define UEA_FW_NAME_MAX   30
 
#define NB_MODEM   4
 
#define BULK_TIMEOUT   300
 
#define CTRL_TIMEOUT   1000
 
#define ACK_TIMEOUT   msecs_to_jiffies(3000)
 
#define UEA_INTR_IFACE_NO   0
 
#define UEA_US_IFACE_NO   1
 
#define UEA_DS_IFACE_NO   2
 
#define FASTEST_ISO_INTF   8
 
#define UEA_BULK_DATA_PIPE   0x02
 
#define UEA_IDMA_PIPE   0x04
 
#define UEA_INTR_PIPE   0x04
 
#define UEA_ISO_DATA_PIPE   0x08
 
#define UEA_E1_SET_BLOCK   0x0001
 
#define UEA_E4_SET_BLOCK   0x002c
 
#define UEA_SET_MODE   0x0003
 
#define UEA_SET_2183_DATA   0x0004
 
#define UEA_SET_TIMEOUT   0x0011
 
#define UEA_LOOPBACK_OFF   0x0002
 
#define UEA_LOOPBACK_ON   0x0003
 
#define UEA_BOOT_IDMA   0x0006
 
#define UEA_START_RESET   0x0007
 
#define UEA_END_RESET   0x0008
 
#define UEA_SWAP_MAILBOX   (0x3fcd | 0x4000)
 
#define UEA_MPTX_START   (0x3fce | 0x4000)
 
#define UEA_MPTX_MAILBOX   (0x3fd6 | 0x4000)
 
#define UEA_MPRX_MAILBOX   (0x3fdf | 0x4000)
 
#define E4_IS_BOOT_PAGE(PageSize)   ((le32_to_cpu(PageSize)) & 0x80000000)
 
#define E4_PAGE_BYTES(PageSize)   ((le32_to_cpu(PageSize) & 0x7fffffff) * 4)
 
#define E4_L1_STRING_HEADER   0x10
 
#define E4_MAX_PAGE_NUMBER   0x58
 
#define E4_NO_SWAPPAGE_HEADERS   0x31
 
#define E1_BLOCK_INFO_SIZE   12
 
#define E4_BLOCK_INFO_SIZE   14
 
#define UEA_BIHDR   0xabcd
 
#define UEA_RESERVED   0xffff
 
#define E1_PREAMBLE   0x535c
 
#define E1_MODEMTOHOST   0x01
 
#define E1_HOSTTOMODEM   0x10
 
#define E1_MEMACCESS   0x1
 
#define E1_ADSLDIRECTIVE   0x7
 
#define E1_FUNCTION_TYPE(f)   ((f) >> 4)
 
#define E1_FUNCTION_SUBTYPE(f)   ((f) & 0x0f)
 
#define E4_MEMACCESS   0
 
#define E4_ADSLDIRECTIVE   0xf
 
#define E4_FUNCTION_TYPE(f)   ((f) >> 8)
 
#define E4_FUNCTION_SIZE(f)   ((f) & 0x0f)
 
#define E4_FUNCTION_SUBTYPE(f)   (((f) >> 4) & 0x0f)
 
#define E1_REQUESTREAD   0x0
 
#define E1_REQUESTWRITE   0x1
 
#define E1_REPLYREAD   0x2
 
#define E1_REPLYWRITE   0x3
 
#define E4_REQUESTREAD   0x0
 
#define E4_REQUESTWRITE   0x4
 
#define E4_REPLYREAD   (E4_REQUESTREAD | 1)
 
#define E4_REPLYWRITE   (E4_REQUESTWRITE | 1)
 
#define E1_KERNELREADY   0x0
 
#define E1_MODEMREADY   0x1
 
#define E4_KERNELREADY   0x0
 
#define E4_MODEMREADY   0x1
 
#define E1_MAKEFUNCTION(t, s)   (((t) & 0xf) << 4 | ((s) & 0xf))
 
#define E4_MAKEFUNCTION(t, st, s)
 
#define E1_MAKESA(a, b, c, d)
 
#define E1_GETSA1(a)   ((a >> 8) & 0xff)
 
#define E1_GETSA2(a)   (a & 0xff)
 
#define E1_GETSA3(a)   ((a >> 24) & 0xff)
 
#define E1_GETSA4(a)   ((a >> 16) & 0xff)
 
#define E1_SA_CNTL   E1_MAKESA('C', 'N', 'T', 'L')
 
#define E1_SA_DIAG   E1_MAKESA('D', 'I', 'A', 'G')
 
#define E1_SA_INFO   E1_MAKESA('I', 'N', 'F', 'O')
 
#define E1_SA_OPTN   E1_MAKESA('O', 'P', 'T', 'N')
 
#define E1_SA_RATE   E1_MAKESA('R', 'A', 'T', 'E')
 
#define E1_SA_STAT   E1_MAKESA('S', 'T', 'A', 'T')
 
#define E4_SA_CNTL   1
 
#define E4_SA_STAT   2
 
#define E4_SA_INFO   3
 
#define E4_SA_TEST   4
 
#define E4_SA_OPTN   5
 
#define E4_SA_RATE   6
 
#define E4_SA_DIAG   7
 
#define E4_SA_CNFG   8
 
#define e1_bSwapPageNo   u.e1.s1.swapinfo.bSwapPageNo
 
#define e1_bOvl   u.e1.s1.swapinfo.bOvl
 
#define e4_bSwapPageNo   u.e4.s1.swapinfo.bSwapPageNo
 
#define INT_LOADSWAPPAGE   0x0001
 
#define INT_INCOMINGCMV   0x0002
 
#define E1_INTR_PKT_SIZE   28
 
#define E4_INTR_PKT_SIZE   64
 
#define uea_wait(sc, cond, timeo)
 
#define UPDATE_ATM_STAT(type, val)
 
#define UPDATE_ATM_SIGNAL(val)
 
#define LOAD_INTERNAL   0xA0
 
#define F8051_USBCS   0x7f92
 
#define UCDC_SEND_ENCAPSULATED_COMMAND   0x00
 
#define UEA_ATTR(name, reset)
 

Enumerations

enum  {
  ADI930 = 0, EAGLE_I, EAGLE_II, EAGLE_III,
  EAGLE_IV
}
 

Functions

 module_param (debug, uint, 0644)
 
 MODULE_PARM_DESC (debug,"module debug level (0=off,1=on,2=verbose)")
 
 module_param_array (altsetting, uint, NULL, 0644)
 
 MODULE_PARM_DESC (altsetting,"alternate setting for incoming traffic: 0=bulk, ""1=isoc slowest, ... , 8=isoc fastest (default)")
 
 module_param_array (sync_wait, bool, NULL, 0644)
 
 MODULE_PARM_DESC (sync_wait,"wait the synchronisation before starting ATM")
 
 module_param_array (cmv_file, charp, NULL, 0644)
 
 MODULE_PARM_DESC (cmv_file,"file name with configuration and management variables")
 
 module_param_array (annex, uint, NULL, 0644)
 
 MODULE_PARM_DESC (annex,"manually set annex a/b (0=auto, 1=annex a, 2=annex b)")
 
 UEA_ATTR (mflags, 1)
 
 UEA_ATTR (vidcpe, 0)
 
 UEA_ATTR (usrate, 0)
 
 UEA_ATTR (dsrate, 0)
 
 UEA_ATTR (usattenuation, 0)
 
 UEA_ATTR (dsattenuation, 0)
 
 UEA_ATTR (usmargin, 0)
 
 UEA_ATTR (dsmargin, 0)
 
 UEA_ATTR (txflow, 0)
 
 UEA_ATTR (rxflow, 0)
 
 UEA_ATTR (uscorr, 0)
 
 UEA_ATTR (dscorr, 0)
 
 UEA_ATTR (usunc, 0)
 
 UEA_ATTR (dsunc, 0)
 
 UEA_ATTR (firmid, 0)
 
 MODULE_DEVICE_TABLE (usb, uea_ids)
 
 module_usb_driver (uea_driver)
 
 MODULE_AUTHOR ("Damien Bergamini/Matthieu Castet/Stanislaw W. Gruszka")
 
 MODULE_DESCRIPTION ("ADI 930/Eagle USB ADSL Modem driver")
 
 MODULE_LICENSE ("Dual BSD/GPL")
 
 MODULE_FIRMWARE (EAGLE_FIRMWARE)
 
 MODULE_FIRMWARE (ADI930_FIRMWARE)
 
 MODULE_FIRMWARE (EAGLE_I_FIRMWARE)
 
 MODULE_FIRMWARE (EAGLE_II_FIRMWARE)
 
 MODULE_FIRMWARE (EAGLE_III_FIRMWARE)
 
 MODULE_FIRMWARE (EAGLE_IV_FIRMWARE)
 
 MODULE_FIRMWARE (DSP4I_FIRMWARE)
 
 MODULE_FIRMWARE (DSP4P_FIRMWARE)
 
 MODULE_FIRMWARE (DSP9I_FIRMWARE)
 
 MODULE_FIRMWARE (DSP9P_FIRMWARE)
 
 MODULE_FIRMWARE (DSPEI_FIRMWARE)
 
 MODULE_FIRMWARE (DSPEP_FIRMWARE)
 
 MODULE_FIRMWARE (FPGA930_FIRMWARE)
 
 MODULE_FIRMWARE (CMV4P_FIRMWARE)
 
 MODULE_FIRMWARE (CMV4PV2_FIRMWARE)
 
 MODULE_FIRMWARE (CMV4I_FIRMWARE)
 
 MODULE_FIRMWARE (CMV4IV2_FIRMWARE)
 
 MODULE_FIRMWARE (CMV9P_FIRMWARE)
 
 MODULE_FIRMWARE (CMV9PV2_FIRMWARE)
 
 MODULE_FIRMWARE (CMV9I_FIRMWARE)
 
 MODULE_FIRMWARE (CMV9IV2_FIRMWARE)
 
 MODULE_FIRMWARE (CMVEP_FIRMWARE)
 
 MODULE_FIRMWARE (CMVEPV2_FIRMWARE)
 
 MODULE_FIRMWARE (CMVEI_FIRMWARE)
 
 MODULE_FIRMWARE (CMVEIV2_FIRMWARE)
 

Variables

struct uea_cmvs_v1 __packed
 

Macro Definition Documentation

#define ACK_TIMEOUT   msecs_to_jiffies(3000)

Definition at line 344 of file ueagle-atm.c.

#define ADI930_FIRMWARE   FW_DIR "adi930.fw"

Definition at line 311 of file ueagle-atm.c.

#define ADI930_PID_PREFIRM   0x9001

Definition at line 239 of file ueagle-atm.c.

#define ADI930_PID_PSTFIRM   0x9000

Definition at line 240 of file ueagle-atm.c.

#define ANALOG_VID   0x1110

Definition at line 238 of file ueagle-atm.c.

#define ANNEXA   0

Definition at line 155 of file ueagle-atm.c.

#define ANNEXB   1

Definition at line 156 of file ueagle-atm.c.

#define AUTO_ANNEX_A   (1<<8)

Definition at line 272 of file ueagle-atm.c.

#define AUTO_ANNEX_B   (1<<9)

Definition at line 273 of file ueagle-atm.c.

#define BULK_TIMEOUT   300

Definition at line 341 of file ueagle-atm.c.

#define CMV4I_FIRMWARE   FW_DIR "CMV4i.bin"

Definition at line 327 of file ueagle-atm.c.

#define CMV4IV2_FIRMWARE   FW_DIR "CMV4i.bin.v2"

Definition at line 328 of file ueagle-atm.c.

#define CMV4P_FIRMWARE   FW_DIR "CMV4p.bin"

Definition at line 325 of file ueagle-atm.c.

#define CMV4PV2_FIRMWARE   FW_DIR "CMV4p.bin.v2"

Definition at line 326 of file ueagle-atm.c.

#define CMV9I_FIRMWARE   FW_DIR "CMV9i.bin"

Definition at line 331 of file ueagle-atm.c.

#define CMV9IV2_FIRMWARE   FW_DIR "CMV9i.bin.v2"

Definition at line 332 of file ueagle-atm.c.

#define CMV9P_FIRMWARE   FW_DIR "CMV9p.bin"

Definition at line 329 of file ueagle-atm.c.

#define CMV9PV2_FIRMWARE   FW_DIR "CMV9p.bin.v2"

Definition at line 330 of file ueagle-atm.c.

#define CMVEI_FIRMWARE   FW_DIR "CMVei.bin"

Definition at line 335 of file ueagle-atm.c.

#define CMVEIV2_FIRMWARE   FW_DIR "CMVei.bin.v2"

Definition at line 336 of file ueagle-atm.c.

#define CMVEP_FIRMWARE   FW_DIR "CMVep.bin"

Definition at line 333 of file ueagle-atm.c.

#define CMVEPV2_FIRMWARE   FW_DIR "CMVep.bin.v2"

Definition at line 334 of file ueagle-atm.c.

#define CTRL_TIMEOUT   1000

Definition at line 342 of file ueagle-atm.c.

#define DEVOLO_EAGLE_I_A_PID_PREFIRM   0x2111

Definition at line 224 of file ueagle-atm.c.

#define DEVOLO_EAGLE_I_A_PID_PSTFIRM   0x2110

Definition at line 223 of file ueagle-atm.c.

#define DEVOLO_EAGLE_I_B_PID_PREFIRM   0x2101

Definition at line 227 of file ueagle-atm.c.

#define DEVOLO_EAGLE_I_B_PID_PSTFIRM   0x2100

Definition at line 226 of file ueagle-atm.c.

#define DEVOLO_EAGLE_II_A_PID_PREFIRM   0x2131

Definition at line 230 of file ueagle-atm.c.

#define DEVOLO_EAGLE_II_A_PID_PSTFIRM   0x2130

Definition at line 229 of file ueagle-atm.c.

#define DEVOLO_EAGLE_II_B_PID_PREFIRM   0x2121

Definition at line 233 of file ueagle-atm.c.

#define DEVOLO_EAGLE_II_B_PID_PSTFIRM   0x2120

Definition at line 232 of file ueagle-atm.c.

#define DEVOLO_VID   0x1039

Definition at line 222 of file ueagle-atm.c.

#define DSP4I_FIRMWARE   FW_DIR "DSP4i.bin"

Definition at line 317 of file ueagle-atm.c.

#define DSP4P_FIRMWARE   FW_DIR "DSP4p.bin"

Definition at line 318 of file ueagle-atm.c.

#define DSP9I_FIRMWARE   FW_DIR "DSP9i.bin"

Definition at line 319 of file ueagle-atm.c.

#define DSP9P_FIRMWARE   FW_DIR "DSP9p.bin"

Definition at line 320 of file ueagle-atm.c.

#define DSPEI_FIRMWARE   FW_DIR "DSPei.bin"

Definition at line 321 of file ueagle-atm.c.

#define DSPEP_FIRMWARE   FW_DIR "DSPep.bin"

Definition at line 322 of file ueagle-atm.c.

#define E1_ADSLDIRECTIVE   0x7

Definition at line 430 of file ueagle-atm.c.

#define E1_BLOCK_INFO_SIZE   12

Definition at line 409 of file ueagle-atm.c.

#define e1_bOvl   u.e1.s1.swapinfo.bOvl

Definition at line 520 of file ueagle-atm.c.

#define e1_bSwapPageNo   u.e1.s1.swapinfo.bSwapPageNo

Definition at line 519 of file ueagle-atm.c.

#define E1_FUNCTION_SUBTYPE (   f)    ((f) & 0x0f)

Definition at line 432 of file ueagle-atm.c.

#define E1_FUNCTION_TYPE (   f)    ((f) >> 4)

Definition at line 431 of file ueagle-atm.c.

#define E1_GETSA1 (   a)    ((a >> 8) & 0xff)

Definition at line 468 of file ueagle-atm.c.

#define E1_GETSA2 (   a)    (a & 0xff)

Definition at line 469 of file ueagle-atm.c.

#define E1_GETSA3 (   a)    ((a >> 24) & 0xff)

Definition at line 470 of file ueagle-atm.c.

#define E1_GETSA4 (   a)    ((a >> 16) & 0xff)

Definition at line 471 of file ueagle-atm.c.

#define E1_HOSTTOMODEM   0x10

Definition at line 427 of file ueagle-atm.c.

#define E1_INTR_PKT_SIZE   28

Definition at line 561 of file ueagle-atm.c.

#define E1_KERNELREADY   0x0

Definition at line 452 of file ueagle-atm.c.

#define E1_MAKEFUNCTION (   t,
  s 
)    (((t) & 0xf) << 4 | ((s) & 0xf))

Definition at line 458 of file ueagle-atm.c.

#define E1_MAKESA (   a,
  b,
  c,
  d 
)
Value:
(((c) & 0xff) << 24 | \
((d) & 0xff) << 16 | \
((a) & 0xff) << 8 | \
((b) & 0xff))

Definition at line 462 of file ueagle-atm.c.

#define E1_MEMACCESS   0x1

Definition at line 429 of file ueagle-atm.c.

#define E1_MODEMREADY   0x1

Definition at line 453 of file ueagle-atm.c.

#define E1_MODEMTOHOST   0x01

Definition at line 426 of file ueagle-atm.c.

#define E1_PREAMBLE   0x535c

Definition at line 425 of file ueagle-atm.c.

#define E1_REPLYREAD   0x2

Definition at line 443 of file ueagle-atm.c.

#define E1_REPLYWRITE   0x3

Definition at line 444 of file ueagle-atm.c.

#define E1_REQUESTREAD   0x0

Definition at line 441 of file ueagle-atm.c.

#define E1_REQUESTWRITE   0x1

Definition at line 442 of file ueagle-atm.c.

#define E1_SA_CNTL   E1_MAKESA('C', 'N', 'T', 'L')

Definition at line 473 of file ueagle-atm.c.

#define E1_SA_DIAG   E1_MAKESA('D', 'I', 'A', 'G')

Definition at line 474 of file ueagle-atm.c.

#define E1_SA_INFO   E1_MAKESA('I', 'N', 'F', 'O')

Definition at line 475 of file ueagle-atm.c.

#define E1_SA_OPTN   E1_MAKESA('O', 'P', 'T', 'N')

Definition at line 476 of file ueagle-atm.c.

#define E1_SA_RATE   E1_MAKESA('R', 'A', 'T', 'E')

Definition at line 477 of file ueagle-atm.c.

#define E1_SA_STAT   E1_MAKESA('S', 'T', 'A', 'T')

Definition at line 478 of file ueagle-atm.c.

#define E4_ADSLDIRECTIVE   0xf

Definition at line 435 of file ueagle-atm.c.

#define E4_BLOCK_INFO_SIZE   14

Definition at line 419 of file ueagle-atm.c.

#define e4_bSwapPageNo   u.e4.s1.swapinfo.bSwapPageNo

Definition at line 521 of file ueagle-atm.c.

#define E4_FUNCTION_SIZE (   f)    ((f) & 0x0f)

Definition at line 437 of file ueagle-atm.c.

#define E4_FUNCTION_SUBTYPE (   f)    (((f) >> 4) & 0x0f)

Definition at line 438 of file ueagle-atm.c.

#define E4_FUNCTION_TYPE (   f)    ((f) >> 8)

Definition at line 436 of file ueagle-atm.c.

#define E4_INTR_PKT_SIZE   64

Definition at line 562 of file ueagle-atm.c.

#define E4_IS_BOOT_PAGE (   PageSize)    ((le32_to_cpu(PageSize)) & 0x80000000)

Definition at line 385 of file ueagle-atm.c.

#define E4_KERNELREADY   0x0

Definition at line 455 of file ueagle-atm.c.

#define E4_L1_STRING_HEADER   0x10

Definition at line 388 of file ueagle-atm.c.

#define E4_MAKEFUNCTION (   t,
  st,
  s 
)
Value:
(((t) & 0xf) << 8 | \
((st) & 0xf) << 4 | ((s) & 0xf))

Definition at line 459 of file ueagle-atm.c.

#define E4_MAX_PAGE_NUMBER   0x58

Definition at line 389 of file ueagle-atm.c.

#define E4_MEMACCESS   0

Definition at line 434 of file ueagle-atm.c.

#define E4_MODEMREADY   0x1

Definition at line 456 of file ueagle-atm.c.

#define E4_NO_SWAPPAGE_HEADERS   0x31

Definition at line 390 of file ueagle-atm.c.

#define E4_PAGE_BYTES (   PageSize)    ((le32_to_cpu(PageSize) & 0x7fffffff) * 4)

Definition at line 386 of file ueagle-atm.c.

#define E4_REPLYREAD   (E4_REQUESTREAD | 1)

Definition at line 448 of file ueagle-atm.c.

#define E4_REPLYWRITE   (E4_REQUESTWRITE | 1)

Definition at line 449 of file ueagle-atm.c.

#define E4_REQUESTREAD   0x0

Definition at line 446 of file ueagle-atm.c.

#define E4_REQUESTWRITE   0x4

Definition at line 447 of file ueagle-atm.c.

#define E4_SA_CNFG   8

Definition at line 487 of file ueagle-atm.c.

#define E4_SA_CNTL   1

Definition at line 480 of file ueagle-atm.c.

#define E4_SA_DIAG   7

Definition at line 486 of file ueagle-atm.c.

#define E4_SA_INFO   3

Definition at line 482 of file ueagle-atm.c.

#define E4_SA_OPTN   5

Definition at line 484 of file ueagle-atm.c.

#define E4_SA_RATE   6

Definition at line 485 of file ueagle-atm.c.

#define E4_SA_STAT   2

Definition at line 481 of file ueagle-atm.c.

#define E4_SA_TEST   4

Definition at line 483 of file ueagle-atm.c.

#define EAGLE_FIRMWARE   FW_DIR "eagle.fw"

Definition at line 310 of file ueagle-atm.c.

#define EAGLE_I_FIRMWARE   FW_DIR "eagleI.fw"

Definition at line 312 of file ueagle-atm.c.

#define EAGLE_I_PID_PREFIRM   0x9010 /* Eagle I */

Definition at line 242 of file ueagle-atm.c.

#define EAGLE_I_PID_PSTFIRM   0x900F /* Eagle I */

Definition at line 243 of file ueagle-atm.c.

#define EAGLE_II_FIRMWARE   FW_DIR "eagleII.fw"

Definition at line 313 of file ueagle-atm.c.

#define EAGLE_II_PID_PREFIRM   0x9022 /* Eagle II */

Definition at line 248 of file ueagle-atm.c.

#define EAGLE_II_PID_PSTFIRM   0x9021 /* Eagle II */

Definition at line 249 of file ueagle-atm.c.

#define EAGLE_IIC_PID_PREFIRM   0x9024 /* Eagle IIC */

Definition at line 245 of file ueagle-atm.c.

#define EAGLE_IIC_PID_PSTFIRM   0x9023 /* Eagle IIC */

Definition at line 246 of file ueagle-atm.c.

#define EAGLE_III_FIRMWARE   FW_DIR "eagleIII.fw"

Definition at line 314 of file ueagle-atm.c.

#define EAGLE_III_PID_PREFIRM   0x9032 /* Eagle III */

Definition at line 251 of file ueagle-atm.c.

#define EAGLE_III_PID_PSTFIRM   0x9031 /* Eagle III */

Definition at line 252 of file ueagle-atm.c.

#define EAGLE_IV_FIRMWARE   FW_DIR "eagleIV.fw"

Definition at line 315 of file ueagle-atm.c.

#define EAGLE_IV_PID_PREFIRM   0x9042 /* Eagle IV */

Definition at line 254 of file ueagle-atm.c.

#define EAGLE_IV_PID_PSTFIRM   0x9041 /* Eagle IV */

Definition at line 255 of file ueagle-atm.c.

#define EAGLEUSBVERSION   "ueagle 1.4"

Definition at line 76 of file ueagle-atm.c.

#define ELSA_PID_A_PREFIRM   0x3352

Definition at line 214 of file ueagle-atm.c.

#define ELSA_PID_A_PSTFIRM   0x3353

Definition at line 215 of file ueagle-atm.c.

#define ELSA_PID_B_PREFIRM   0x3362

Definition at line 216 of file ueagle-atm.c.

#define ELSA_PID_B_PSTFIRM   0x3363

Definition at line 217 of file ueagle-atm.c.

#define ELSA_PID_PREFIRM   0x3351

Definition at line 212 of file ueagle-atm.c.

#define ELSA_PID_PSTFIRM   0x3350

Definition at line 211 of file ueagle-atm.c.

#define ELSA_VID   0x05CC

Definition at line 210 of file ueagle-atm.c.

#define F8051_USBCS   0x7f92

Definition at line 615 of file ueagle-atm.c.

#define FASTEST_ISO_INTF   8

Definition at line 350 of file ueagle-atm.c.

#define FPGA930_FIRMWARE   FW_DIR "930-fpga.bin"

Definition at line 323 of file ueagle-atm.c.

#define FW_DIR   "ueagle-atm/"

Definition at line 309 of file ueagle-atm.c.

#define FW_GET_BYTE (   p)    (*((__u8 *) (p)))

Definition at line 307 of file ueagle-atm.c.

#define GET_STATUS (   data)    ((data >> 8) & 0xf)

Definition at line 294 of file ueagle-atm.c.

#define HEINEKEN_A_PID_PREFIRM   0x00F6

Definition at line 265 of file ueagle-atm.c.

#define HEINEKEN_A_PID_PSTFIRM   0x00F5

Definition at line 266 of file ueagle-atm.c.

#define HEINEKEN_B_PID_PREFIRM   0x00F8

Definition at line 267 of file ueagle-atm.c.

#define HEINEKEN_B_PID_PSTFIRM   0x00F7

Definition at line 268 of file ueagle-atm.c.

#define INS_TO_USBDEV (   ins)    (ins->usb_dev)

Definition at line 292 of file ueagle-atm.c.

#define INT_INCOMINGCMV   0x0002

Definition at line 524 of file ueagle-atm.c.

#define INT_LOADSWAPPAGE   0x0001

Definition at line 523 of file ueagle-atm.c.

#define IS_ISDN (   x)    ((x)->annex & ANNEXB)

Definition at line 289 of file ueagle-atm.c.

#define IS_OPERATIONAL (   sc)
Value:
(GET_STATUS(sc->stats.phy.state) == 2) : \
(sc->stats.phy.state == 7))

Definition at line 297 of file ueagle-atm.c.

#define LOAD_INTERNAL   0xA0

Definition at line 614 of file ueagle-atm.c.

#define MILLER_A_PID_PREFIRM   0x00F2

Definition at line 261 of file ueagle-atm.c.

#define MILLER_A_PID_PSTFIRM   0x00F1

Definition at line 262 of file ueagle-atm.c.

#define MILLER_B_PID_PREFIRM   0x00FA

Definition at line 263 of file ueagle-atm.c.

#define MILLER_B_PID_PSTFIRM   0x00F9

Definition at line 264 of file ueagle-atm.c.

#define NB_MODEM   4

Definition at line 339 of file ueagle-atm.c.

#define PREFIRM   0

Definition at line 270 of file ueagle-atm.c.

#define PSTFIRM   (1<<7)

Definition at line 271 of file ueagle-atm.c.

#define UCDC_SEND_ENCAPSULATED_COMMAND   0x00

Definition at line 1142 of file ueagle-atm.c.

#define UEA_ATTR (   name,
  reset 
)
Value:
\
static ssize_t read_##name(struct device *dev, \
struct device_attribute *attr, char *buf) \
{ \
int ret = -ENODEV; \
mutex_lock(&uea_mutex); \
sc = dev_to_uea(dev); \
if (!sc) \
goto out; \
ret = snprintf(buf, 10, "%08x\n", sc->stats.phy.name); \
if (reset) \
sc->stats.phy.name = 0; \
out: \
mutex_unlock(&uea_mutex); \
return ret; \
} \
\
static DEVICE_ATTR(stat_##name, S_IRUGO, read_##name, NULL)

Definition at line 2418 of file ueagle-atm.c.

#define UEA_BIHDR   0xabcd

Definition at line 421 of file ueagle-atm.c.

#define UEA_BOOT_IDMA   0x0006

Definition at line 365 of file ueagle-atm.c.

#define UEA_BULK_DATA_PIPE   0x02

Definition at line 352 of file ueagle-atm.c.

#define UEA_CHIP_VERSION (   x)    ((x)->driver_info & 0xf)

Definition at line 286 of file ueagle-atm.c.

#define uea_dbg (   usb_dev,
  format,
  args... 
)
Value:
do { \
if (debug >= 1) \
dev_dbg(&(usb_dev)->dev, \
"[ueagle-atm dbg] %s: " format, \
__func__, ##args); \
} while (0)

Definition at line 82 of file ueagle-atm.c.

#define UEA_DS_IFACE_NO   2

Definition at line 348 of file ueagle-atm.c.

#define UEA_E1_SET_BLOCK   0x0001

Definition at line 357 of file ueagle-atm.c.

#define UEA_E4_SET_BLOCK   0x002c

Definition at line 358 of file ueagle-atm.c.

#define UEA_END_RESET   0x0008

Definition at line 367 of file ueagle-atm.c.

#define uea_enters (   usb_dev)    uea_vdbg(usb_dev, "entering %s\n" , __func__)

Definition at line 97 of file ueagle-atm.c.

#define uea_err (   usb_dev,
  format,
  args... 
)    dev_err(&(usb_dev)->dev , "[UEAGLE-ATM] " format , ##args)

Definition at line 103 of file ueagle-atm.c.

#define UEA_FW_NAME_MAX   30

Definition at line 338 of file ueagle-atm.c.

#define UEA_IDMA_PIPE   0x04

Definition at line 353 of file ueagle-atm.c.

#define uea_info (   usb_dev,
  format,
  args... 
)    dev_info(&(usb_dev)->dev , "[ueagle-atm] " format, ##args)

Definition at line 109 of file ueagle-atm.c.

#define UEA_INTR_IFACE_NO   0

Definition at line 346 of file ueagle-atm.c.

#define UEA_INTR_PIPE   0x04

Definition at line 354 of file ueagle-atm.c.

#define UEA_IS_PREFIRM (   x)    (!((x)->driver_info & PSTFIRM))

Definition at line 284 of file ueagle-atm.c.

#define UEA_ISO_DATA_PIPE   0x08

Definition at line 355 of file ueagle-atm.c.

#define uea_leaves (   usb_dev)    uea_vdbg(usb_dev, "leaving %s\n" , __func__)

Definition at line 100 of file ueagle-atm.c.

#define UEA_LOOPBACK_OFF   0x0002

Definition at line 363 of file ueagle-atm.c.

#define UEA_LOOPBACK_ON   0x0003

Definition at line 364 of file ueagle-atm.c.

#define UEA_MPRX_MAILBOX   (0x3fdf | 0x4000)

Definition at line 372 of file ueagle-atm.c.

#define UEA_MPTX_MAILBOX   (0x3fd6 | 0x4000)

Definition at line 371 of file ueagle-atm.c.

#define UEA_MPTX_START   (0x3fce | 0x4000)

Definition at line 370 of file ueagle-atm.c.

#define UEA_RESERVED   0xffff

Definition at line 422 of file ueagle-atm.c.

#define UEA_SET_2183_DATA   0x0004

Definition at line 360 of file ueagle-atm.c.

#define UEA_SET_MODE   0x0003

Definition at line 359 of file ueagle-atm.c.

#define UEA_SET_TIMEOUT   0x0011

Definition at line 361 of file ueagle-atm.c.

#define UEA_START_RESET   0x0007

Definition at line 366 of file ueagle-atm.c.

#define UEA_SWAP_MAILBOX   (0x3fcd | 0x4000)

Definition at line 369 of file ueagle-atm.c.

#define UEA_US_IFACE_NO   1

Definition at line 347 of file ueagle-atm.c.

#define uea_vdbg (   usb_dev,
  format,
  args... 
)
Value:
do { \
if (debug >= 2) \
dev_dbg(&(usb_dev)->dev, \
"[ueagle-atm vdbg] " format, ##args); \
} while (0)

Definition at line 90 of file ueagle-atm.c.

#define uea_wait (   sc,
  cond,
  timeo 
)
Value:
({ \
(cond) || kthread_should_stop(), timeo); \
_r = -ENODEV; \
_r; \
})

Definition at line 591 of file ueagle-atm.c.

#define uea_warn (   usb_dev,
  format,
  args... 
)    dev_warn(&(usb_dev)->dev , "[Ueagle-atm] " format, ##args)

Definition at line 106 of file ueagle-atm.c.

#define UPDATE_ATM_SIGNAL (   val)
Value:
do { \
if (sc->usbatm->atm_dev) \
atm_dev_signal_change(sc->usbatm->atm_dev, val); \
} while (0)

Definition at line 606 of file ueagle-atm.c.

#define UPDATE_ATM_STAT (   type,
  val 
)
Value:
do { \
if (sc->usbatm->atm_dev) \
sc->usbatm->atm_dev->type = val; \
} while (0)

Definition at line 600 of file ueagle-atm.c.

#define USR_VID   0x0BAF

Definition at line 260 of file ueagle-atm.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
ADI930 
EAGLE_I 
EAGLE_II 
EAGLE_III 
EAGLE_IV 

Definition at line 275 of file ueagle-atm.c.

Function Documentation

MODULE_AUTHOR ( "Damien Bergamini/Matthieu Castet/Stanislaw W. Gruszka"  )
MODULE_DESCRIPTION ( "ADI 930/Eagle USB ADSL Modem driver )
MODULE_DEVICE_TABLE ( usb  ,
uea_ids   
)
MODULE_FIRMWARE ( EAGLE_FIRMWARE  )
MODULE_FIRMWARE ( ADI930_FIRMWARE  )
MODULE_FIRMWARE ( EAGLE_I_FIRMWARE  )
MODULE_FIRMWARE ( EAGLE_II_FIRMWARE  )
MODULE_FIRMWARE ( EAGLE_III_FIRMWARE  )
MODULE_FIRMWARE ( EAGLE_IV_FIRMWARE  )
MODULE_FIRMWARE ( DSP4I_FIRMWARE  )
MODULE_FIRMWARE ( DSP4P_FIRMWARE  )
MODULE_FIRMWARE ( DSP9I_FIRMWARE  )
MODULE_FIRMWARE ( DSP9P_FIRMWARE  )
MODULE_FIRMWARE ( DSPEI_FIRMWARE  )
MODULE_FIRMWARE ( DSPEP_FIRMWARE  )
MODULE_FIRMWARE ( FPGA930_FIRMWARE  )
MODULE_FIRMWARE ( CMV4P_FIRMWARE  )
MODULE_FIRMWARE ( CMV4PV2_FIRMWARE  )
MODULE_FIRMWARE ( CMV4I_FIRMWARE  )
MODULE_FIRMWARE ( CMV4IV2_FIRMWARE  )
MODULE_FIRMWARE ( CMV9P_FIRMWARE  )
MODULE_FIRMWARE ( CMV9PV2_FIRMWARE  )
MODULE_FIRMWARE ( CMV9I_FIRMWARE  )
MODULE_FIRMWARE ( CMV9IV2_FIRMWARE  )
MODULE_FIRMWARE ( CMVEP_FIRMWARE  )
MODULE_FIRMWARE ( CMVEPV2_FIRMWARE  )
MODULE_FIRMWARE ( CMVEI_FIRMWARE  )
MODULE_FIRMWARE ( CMVEIV2_FIRMWARE  )
MODULE_LICENSE ( "Dual BSD/GPL"  )
module_param ( debug  ,
uint  ,
0644   
)
module_param_array ( altsetting  ,
uint  ,
NULL  ,
0644   
)
module_param_array ( sync_wait  ,
bool  ,
NULL  ,
0644   
)
module_param_array ( cmv_file  ,
charp  ,
NULL  ,
0644   
)
module_param_array ( annex  ,
uint  ,
NULL  ,
0644   
)
MODULE_PARM_DESC ( debug  ,
"module debug level (0=off,1=on,2=verbose)"   
)
MODULE_PARM_DESC ( altsetting  ,
"alternate setting for incoming traffic:  0 = bulk,
""  1 = isoc slowest,
  ... 
)
MODULE_PARM_DESC ( sync_wait  ,
"wait the synchronisation before starting ATM"   
)
MODULE_PARM_DESC ( cmv_file  ,
"file name with configuration and management variables"   
)
MODULE_PARM_DESC ( annex  ,
"manually set annex a/b (0=auto, 1=annex a, 2=annex b)"   
)
module_usb_driver ( uea_driver  )
UEA_ATTR ( mflags  ,
 
)
UEA_ATTR ( vidcpe  ,
 
)
UEA_ATTR ( usrate  ,
 
)
UEA_ATTR ( dsrate  ,
 
)
UEA_ATTR ( usattenuation  ,
 
)
UEA_ATTR ( dsattenuation  ,
 
)
UEA_ATTR ( usmargin  ,
 
)
UEA_ATTR ( dsmargin  ,
 
)
UEA_ATTR ( txflow  ,
 
)
UEA_ATTR ( rxflow  ,
 
)
UEA_ATTR ( uscorr  ,
 
)
UEA_ATTR ( dscorr  ,
 
)
UEA_ATTR ( usunc  ,
 
)
UEA_ATTR ( dsunc  ,
 
)
UEA_ATTR ( firmid  ,
 
)

Variable Documentation