From 6512edec48b2ccfe9bb969ce26ebbbcd49de6c4b Mon Sep 17 00:00:00 2001 From: Deepa Dinamani Date: Wed, 21 Oct 2015 18:42:37 -0700 Subject: [PATCH] staging: ft1000: remove obsolete driver Remove support for Qleadtek Flash-OFDM modems. Telecom carrier is discontinuing service for the radio technology. See http://www.gtigroup.org/news/ind/2015-08-18/6996.html. Suggested-by: Arnd Bergmann Signed-off-by: Deepa Dinamani Acked-by: Arnd Bergmann Signed-off-by: Greg Kroah-Hartman --- drivers/staging/Kconfig | 2 - drivers/staging/Makefile | 1 - drivers/staging/ft1000/Kconfig | 22 - drivers/staging/ft1000/Makefile | 3 - drivers/staging/ft1000/TODO | 9 - drivers/staging/ft1000/ft1000-pcmcia/Makefile | 2 - drivers/staging/ft1000/ft1000-pcmcia/boot.h | 158 -- drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 70 - .../staging/ft1000/ft1000-pcmcia/ft1000.img | Bin 305770 -> 0 bytes .../staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 158 -- .../ft1000/ft1000-pcmcia/ft1000_dnld.c | 762 ------ .../staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 2068 ----------------- drivers/staging/ft1000/ft1000-usb/Makefile | 3 - .../staging/ft1000/ft1000-usb/ft1000_debug.c | 789 ------- .../ft1000/ft1000-usb/ft1000_download.c | 1058 --------- drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 1586 ------------- .../staging/ft1000/ft1000-usb/ft1000_ioctl.h | 123 - .../staging/ft1000/ft1000-usb/ft1000_usb.c | 248 -- .../staging/ft1000/ft1000-usb/ft1000_usb.h | 150 -- drivers/staging/ft1000/ft1000-usb/ft3000.img | Bin 280414 -> 0 bytes drivers/staging/ft1000/ft1000.h | 366 --- 21 files changed, 7578 deletions(-) delete mode 100644 drivers/staging/ft1000/Kconfig delete mode 100644 drivers/staging/ft1000/Makefile delete mode 100644 drivers/staging/ft1000/TODO delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/Makefile delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/boot.h delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000.h delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000.img delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c delete mode 100644 drivers/staging/ft1000/ft1000-usb/Makefile delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft1000_debug.c delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft1000_download.c delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft1000_hw.c delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft1000_ioctl.h delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft1000_usb.c delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft1000_usb.h delete mode 100644 drivers/staging/ft1000/ft1000-usb/ft3000.img delete mode 100644 drivers/staging/ft1000/ft1000.h diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 39d950584c9f..5d3b86a33857 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -62,8 +62,6 @@ source "drivers/staging/xgifb/Kconfig" source "drivers/staging/emxx_udc/Kconfig" -source "drivers/staging/ft1000/Kconfig" - source "drivers/staging/speakup/Kconfig" source "drivers/staging/ste_rmi4/Kconfig" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index e4f33d91872b..30918edef5e3 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -25,7 +25,6 @@ obj-$(CONFIG_IIO) += iio/ obj-$(CONFIG_FB_SM750) += sm750fb/ obj-$(CONFIG_FB_XGI) += xgifb/ obj-$(CONFIG_USB_EMXX) += emxx_udc/ -obj-$(CONFIG_FT1000) += ft1000/ obj-$(CONFIG_SPEAKUP) += speakup/ obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += ste_rmi4/ obj-$(CONFIG_MFD_NVEC) += nvec/ diff --git a/drivers/staging/ft1000/Kconfig b/drivers/staging/ft1000/Kconfig deleted file mode 100644 index c54b4e83d6e9..000000000000 --- a/drivers/staging/ft1000/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -config FT1000 - tristate "Drivers for Flarion ft1000 devices" - -if FT1000 - -config FT1000_USB - tristate "Driver for ft1000 usb devices." - depends on USB - depends on NET - help - Say Y if you want to have support for Qleadtek FLASH-OFDM USB Modem [LR7F04], - Qleadtek Express Card or Leadtek Multi-band modem HSDPA. - -config FT1000_PCMCIA - tristate "Driver for ft1000 pcmcia device." - depends on PCMCIA - depends on NET - help - Say Y if you want to have support for Flarion card also called - Multimedia Net Card. - -endif diff --git a/drivers/staging/ft1000/Makefile b/drivers/staging/ft1000/Makefile deleted file mode 100644 index 3e987770a142..000000000000 --- a/drivers/staging/ft1000/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-$(CONFIG_FT1000_USB) += ft1000-usb/ -obj-$(CONFIG_FT1000_PCMCIA) += ft1000-pcmcia/ - diff --git a/drivers/staging/ft1000/TODO b/drivers/staging/ft1000/TODO deleted file mode 100644 index 1d346bc4f443..000000000000 --- a/drivers/staging/ft1000/TODO +++ /dev/null @@ -1,9 +0,0 @@ -TODO: - - checkpatch.pl cleanups - - coding style - - sparse fixes - - adapt to latest usb and pcmcia api changes - - change firmware loading for usb driver to proper kernel method (request_firmware) - -Please send patches to Greg Kroah-Hartman and -Cc: Marek Belisko diff --git a/drivers/staging/ft1000/ft1000-pcmcia/Makefile b/drivers/staging/ft1000/ft1000-pcmcia/Makefile deleted file mode 100644 index 715de3f00e33..000000000000 --- a/drivers/staging/ft1000/ft1000-pcmcia/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -obj-$(CONFIG_FT1000_PCMCIA) = ft1000_pcmcia.o -ft1000_pcmcia-y := ft1000_hw.o ft1000_dnld.o ft1000_cs.o diff --git a/drivers/staging/ft1000/ft1000-pcmcia/boot.h b/drivers/staging/ft1000/ft1000-pcmcia/boot.h deleted file mode 100644 index e4a698528520..000000000000 --- a/drivers/staging/ft1000/ft1000-pcmcia/boot.h +++ /dev/null @@ -1,158 +0,0 @@ -/*--------------------------------------------------------------------------- - FT1000 driver for Flarion Flash OFDM NIC Device - - Copyright (C) 2002 Flarion Technologies, All rights reserved. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. You should have received a copy of the GNU General Public - License along with this program; if not, write to the - Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111-1307, USA. - --------------------------------------------------------------------------- - - File: boot.h - - Description: boatloader - - History: - 1/11/05 Whc Ported to Linux. - - ---------------------------------------------------------------------------*/ -#ifndef _BOOTH_ -#define _BOOTH_ - -/* Official bootloader */ -static unsigned char bootimage[] = { - 0x00, 0x00, 0x01, 0x5E, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0xD7, - 0x00, 0x00, 0x01, 0x5E, 0x46, 0xB3, - 0xE6, 0x02, 0x00, 0x98, 0xE6, 0x8C, - 0x00, 0x98, 0xFB, 0x92, 0xFF, 0xFF, - 0x98, 0xFB, 0x94, 0xFF, 0xFF, 0x98, - 0xFB, 0x06, 0x08, 0x00, 0x98, 0xFB, - 0x96, 0x84, 0x00, 0x98, 0xFB, 0x08, - 0x1C, 0x00, 0x98, 0xFB, 0x51, 0x25, - 0x10, 0x1C, 0x00, 0xE6, 0x51, 0x01, - 0x07, 0xFD, 0x4C, 0xFF, 0x20, 0xF5, - 0x51, 0x02, 0x20, 0x08, 0x00, 0x4C, - 0xFF, 0x20, 0x3C, 0x00, 0xC0, 0x64, - 0x98, 0xC0, 0x66, 0x98, 0xC0, 0x68, - 0x98, 0xC0, 0x6A, 0x98, 0xC0, 0x6C, - 0x98, 0x90, 0x08, 0x90, 0x09, 0x90, - 0x0A, 0x90, 0x0B, 0x90, 0x0C, 0x90, - 0x0D, 0x90, 0x0E, 0x90, 0x0F, 0x90, - 0x04, 0x90, 0x06, 0xFB, 0x51, 0x22, - 0x16, 0x08, 0x03, 0xFB, 0x51, 0x52, - 0x16, 0x08, 0x04, 0xFB, 0x51, 0x24, - 0x2B, 0x08, 0x06, 0xFB, 0x51, 0x54, - 0x2B, 0x08, 0x07, 0xFB, 0x51, 0x24, - 0x2B, 0x08, 0x09, 0xFB, 0x51, 0x54, - 0x2B, 0x08, 0x0A, 0xFB, 0x51, 0x12, - 0x16, 0x08, 0x0C, 0xFB, 0x51, 0x52, - 0x16, 0x08, 0x0D, 0x78, 0x00, 0x00, - 0x00, 0x16, 0x00, 0x00, 0xEC, 0x31, - 0xAE, 0x00, 0x00, 0x81, 0x4C, 0x0F, - 0xE6, 0x43, 0xFF, 0xEC, 0x31, 0x4E, - 0x00, 0x00, 0x91, 0xEC, 0x31, 0xAE, - 0x00, 0x00, 0x91, 0x4C, 0x0F, 0xE6, - 0x43, 0xFF, 0xEC, 0x31, 0x5E, 0x00, - 0x00, 0xA1, 0xEB, 0x31, 0x08, 0x00, - 0x00, 0xA6, 0xEB, 0x31, 0x08, 0x00, - 0x00, 0xAC, 0x3C, 0x00, 0xEB, 0x31, - 0x08, 0x00, 0x00, 0xA8, 0x76, 0xFE, - 0xFE, 0x08, 0xEB, 0x31, 0x08, 0x20, - 0x00, 0x00, 0x76, 0xFF, 0xFF, 0x18, - 0xED, 0x31, 0x08, 0x20, 0x00, 0x00, - 0x26, 0x10, 0x04, 0x10, 0xF5, 0x3C, - 0x01, 0x3C, 0x00, 0x08, 0x01, 0x12, - 0x3C, 0x11, 0x3C, 0x00, 0x08, 0x01, - 0x0B, 0x08, 0x00, 0x6D, 0xEC, 0x31, - 0xAE, 0x20, 0x00, 0x06, 0xED, 0x4D, - 0x08, 0x00, 0x00, 0x67, 0x80, 0x6F, - 0x00, 0x01, 0x0B, 0x6F, 0x00, 0x02, - 0x2E, 0x76, 0xEE, 0x01, 0x48, 0x06, - 0x01, 0x39, 0xED, 0x4D, 0x18, 0x00, - 0x02, 0xED, 0x4D, 0x08, 0x00, 0x04, - 0x14, 0x06, 0xA4, 0xED, 0x31, 0x22, - 0x00, 0x00, 0xAC, 0x76, 0xEE, 0x07, - 0x48, 0x6D, 0x22, 0x01, 0x1E, 0x08, - 0x01, 0x58, 0xEB, 0x31, 0x08, 0x00, - 0x00, 0xAC, 0x06, 0xFF, 0xBA, 0x3C, - 0x00, 0xEB, 0x31, 0x08, 0x20, 0x00, - 0x04, 0x3C, 0x30, 0xEB, 0x31, 0x08, - 0x20, 0x00, 0x02, 0x3C, 0x10, 0xEB, - 0x31, 0x08, 0x20, 0x00, 0x00, 0xED, - 0x31, 0x08, 0x20, 0x00, 0x00, 0x04, - 0x10, 0xF7, 0xED, 0x31, 0x08, 0x00, - 0x00, 0xA2, 0x91, 0x00, 0x9C, 0x3C, - 0x80, 0xEB, 0x31, 0x08, 0x20, 0x00, - 0x04, 0x3C, 0x20, 0xEB, 0x31, 0x08, - 0x20, 0x00, 0x02, 0x3C, 0x10, 0xEB, - 0x31, 0x08, 0x20, 0x00, 0x00, 0xED, - 0x31, 0x08, 0x20, 0x00, 0x00, 0x04, - 0x10, 0xF7, 0xED, 0x31, 0x08, 0x20, - 0x00, 0x04, 0x42, 0x10, 0x90, 0x08, - 0xEC, 0x31, 0xAE, 0x20, 0x00, 0x06, - 0xA4, 0x41, 0x08, 0x00, 0xB6, 0xED, - 0x41, 0x28, 0x7D, 0xFF, 0xFF, 0x22, - 0xB3, 0x40, 0x98, 0x2A, 0x32, 0xEB, - 0x41, 0x28, 0xB4, 0x43, 0xFC, 0x05, - 0xFF, 0xE6, 0xA0, 0x31, 0x20, 0x00, - 0x06, 0xEB, 0x31, 0x08, 0x20, 0x00, - 0x04, 0x3C, 0x20, 0xEB, 0x31, 0x08, - 0x20, 0x00, 0x02, 0x3C, 0x10, 0xEB, - 0x31, 0x08, 0x20, 0x00, 0x00, 0xED, - 0x31, 0x08, 0x20, 0x00, 0x00, 0x04, - 0x10, 0xF7, 0xED, 0x31, 0x08, 0x20, - 0x00, 0x04, 0x42, 0x10, 0x90, 0x08, - 0xEC, 0x31, 0xAE, 0x20, 0x00, 0x06, - 0xA4, 0x41, 0x08, 0x00, 0x68, 0xED, - 0x41, 0x28, 0x7D, 0xFF, 0xFF, 0x22, - 0xB3, 0x40, 0x98, 0x2A, 0x32, 0xEB, - 0x41, 0x28, 0xB4, 0x43, 0xFC, 0x05, - 0xFF, 0xE6, 0x48, 0x04, 0xEB, 0x31, - 0x08, 0x20, 0x00, 0x04, 0xEB, 0x31, - 0x18, 0x20, 0x00, 0x02, 0x3C, 0x11, - 0xEB, 0x31, 0x18, 0x20, 0x00, 0x00, - 0xED, 0x31, 0x08, 0x20, 0x00, 0x00, - 0x04, 0x10, 0xF7, 0xED, 0x31, 0x08, - 0x20, 0x00, 0x02, 0x66, 0x00, 0x6F, - 0x00, 0x01, 0x16, 0x76, 0xEE, 0x06, - 0x48, 0x4A, 0x1E, 0x48, 0x04, 0xED, - 0x31, 0x08, 0x20, 0x00, 0x04, 0xEB, - 0x31, 0x08, 0x00, 0x00, 0xA4, 0x48, - 0x04, 0xED, 0x31, 0x08, 0x20, 0x00, - 0x04, 0xEB, 0x31, 0x08, 0x00, 0x00, - 0xA2, 0x48, 0x04, 0x20, 0x20, 0x4A, - 0x7C, 0x46, 0x82, 0x50, 0x05, 0x50, - 0x15, 0xB5, 0x1E, 0x98, 0xED, 0x31, - 0x08, 0x00, 0x00, 0xA8, 0x10, 0x47, - 0x3B, 0x2C, 0x01, 0xDB, 0x40, 0x11, - 0x98, 0xC1, 0x1E, 0x98, 0x10, 0x07, - 0x30, 0xF9, 0x40, 0x07, 0x18, 0x98, - 0x2A, 0x10, 0xEB, 0x31, 0x08, 0x00, - 0x00, 0xA8, 0xA4, 0x1E, 0x98, 0xBB, - 0x1E, 0x98, 0x50, 0x14, 0x50, 0x04, - 0x46, 0x83, 0x48, 0x04, 0x02, 0x01, - 0x00, 0x50, 0x05, 0x50, 0x15, 0x10, - 0x87, 0x3F, 0x90, 0x2B, 0x18, 0x01, - 0x00, 0xC0, 0x31, 0x00, 0x00, 0xAE, - 0xDF, 0x41, 0x00, 0x08, 0x00, 0x1A, - 0x42, 0x11, 0x67, 0x01, 0xDF, 0x41, - 0x02, 0x08, 0x00, 0x10, 0x42, 0x11, - 0x62, 0x01, 0xB4, 0x43, 0x4A, 0x68, - 0x50, 0x14, 0x50, 0x04, 0x24, 0x10, - 0x48, 0x04, 0xF2, 0x31, 0x00, 0x01, - 0x00, 0x00, 0xAE, 0xF6, 0x31, 0x00, - 0x01, 0x00, 0x00, 0xAE, 0x62, 0xE4, - 0xE5, 0x61, 0x04, 0x48, 0x04, 0xE5, - 0x63, 0x05, 0x48, 0x04, 0x20, 0x20, - 0x00, 0x00, 0x00, 0x00 -}; - -#endif diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h deleted file mode 100644 index e1861cf5de73..000000000000 --- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h +++ /dev/null @@ -1,70 +0,0 @@ -/*--------------------------------------------------------------------------- - FT1000 driver for Flarion Flash OFDM NIC Device - - Copyright (C) 2002 Flarion Technologies, All rights reserved. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. You should have received a copy of the GNU General Public - License along with this program; if not, write to the - Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111-1307, USA. - --------------------------------------------------------------------------- - Description: Common structures and defines - ---------------------------------------------------------------------------*/ -#ifndef _FT1000H_ -#define _FT1000H_ - -#include "../ft1000.h" - -#define FT1000_DRV_VER 0x01010300 - -#define FT1000_DPRAM_BASE 0x0000 /* Dual Port RAM starting offset */ - -/* - * Maximum number of occurrence of pseudo header errors before resetting PC - * Card. - */ -#define MAX_PH_ERR 300 - -#define SUCCESS 0x00 -#define FAILURE 0x01 - -struct ft1000_pcmcia { - int PktIntfErr; - u16 packetseqnum; - void *link; -}; - -struct pcmcia_device; -struct net_device; -struct net_device *init_ft1000_card(struct pcmcia_device *link, - void *ft1000_reset); -void stop_ft1000_card(struct net_device *dev); -int card_download(struct net_device *dev, const u8 *pFileStart, - size_t FileLength); - -u16 ft1000_read_dpram(struct net_device *dev, int offset); -void card_bootload(struct net_device *dev); -u16 ft1000_read_dpram_mag_16(struct net_device *dev, int offset, int Index); -u32 ft1000_read_dpram_mag_32(struct net_device *dev, int offset); -void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value); - -/* Read the value of a given ASIC register. */ -static inline u16 ft1000_read_reg(struct net_device *dev, u16 offset) -{ - return inw(dev->base_addr + offset); -} - -/* Set the value of a given ASIC register. */ -static inline void ft1000_write_reg(struct net_device *dev, u16 offset, - u16 value) -{ - outw(value, dev->base_addr + offset); -} - -#endif diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.img b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.img deleted file mode 100644 index aad3c80d07c83c6564918cba5b74c3048f1bba24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305770 zcmV(?K-a$p000000002YV%0001}>Hq*J1pol21ONai1pojD000010000u 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�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 HynkfIaCt=?F1 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

X;C9HmpGX&Lnf@cFiOQ>_0Qb;Yw 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 diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c deleted file mode 100644 index e5cc5bedf031..000000000000 --- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c +++ /dev/null @@ -1,158 +0,0 @@ -/*--------------------------------------------------------------------------- - FT1000 driver for Flarion Flash OFDM NIC Device - - Copyright (C) 1999 David A. Hinds. All Rights Reserved. - Copyright (C) 2002 Flarion Technologies, All rights reserved. - Copyright (C) 2006 Patrik Ostrihon, All rights reserved. - Copyright (C) 2006 ProWeb Consulting, a.s, All rights reserved. - - The initial developer of the original code is David A. Hinds - . Portions created by David A. Hinds. - - This file was modified to support the Flarion Flash OFDM NIC Device - by Wai Chan (w.chan@flarion.com). - - Port for kernel 2.6 created by Patrik Ostrihon (patrik.ostrihon@pwc.sk) - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. You should have received a copy of the GNU General Public - License along with this program; if not, write to the - Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111-1307, USA. - -----------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include -#include - -/*====================================================================*/ - -MODULE_AUTHOR("Wai Chan"); -MODULE_DESCRIPTION("FT1000 PCMCIA driver"); -MODULE_LICENSE("GPL"); - -/*====================================================================*/ - -static int ft1000_config(struct pcmcia_device *link); -static void ft1000_detach(struct pcmcia_device *link); -static int ft1000_attach(struct pcmcia_device *link); - -#include "ft1000.h" - -/*====================================================================*/ - -static void ft1000_reset(struct pcmcia_device *link) -{ - pcmcia_reset_card(link->socket); -} - -static int ft1000_attach(struct pcmcia_device *link) -{ - link->priv = NULL; - link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; - - return ft1000_config(link); -} - -static void ft1000_detach(struct pcmcia_device *link) -{ - struct net_device *dev = link->priv; - - if (dev) - stop_ft1000_card(dev); - - pcmcia_disable_device(link); - free_netdev(dev); -} - -static int ft1000_confcheck(struct pcmcia_device *link, void *priv_data) -{ - return pcmcia_request_io(link); -} - -/*====================================================================== - - ft1000_config() is scheduled to run after a CARD_INSERTION event - is received, to configure the PCMCIA socket, and to make the - device available to the system. - - ======================================================================*/ - -static int ft1000_config(struct pcmcia_device *link) -{ - int ret; - - dev_dbg(&link->dev, "ft1000_cs: ft1000_config(0x%p)\n", link); - - /* setup IO window */ - ret = pcmcia_loop_config(link, ft1000_confcheck, NULL); - if (ret) { - dev_err(&link->dev, "Could not configure pcmcia\n"); - return -ENODEV; - } - - /* configure device */ - ret = pcmcia_enable_device(link); - if (ret) { - dev_err(&link->dev, "Could not enable pcmcia\n"); - goto failed; - } - - link->priv = init_ft1000_card(link, &ft1000_reset); - if (!link->priv) { - dev_err(&link->dev, "Could not register as network device\n"); - goto failed; - } - - /* Finally, report what we've done */ - - return 0; -failed: - pcmcia_disable_device(link); - return -ENODEV; -} - -static int ft1000_suspend(struct pcmcia_device *link) -{ - struct net_device *dev = link->priv; - - if (link->open) - netif_device_detach(dev); - return 0; -} - -static int ft1000_resume(struct pcmcia_device *link) -{ - return 0; -} - -/*====================================================================*/ - -static const struct pcmcia_device_id ft1000_ids[] = { - PCMCIA_DEVICE_MANF_CARD(0x02cc, 0x0100), - PCMCIA_DEVICE_MANF_CARD(0x02cc, 0x1000), - PCMCIA_DEVICE_MANF_CARD(0x02cc, 0x1300), - PCMCIA_DEVICE_NULL, -}; - -MODULE_DEVICE_TABLE(pcmcia, ft1000_ids); - -static struct pcmcia_driver ft1000_cs_driver = { - .owner = THIS_MODULE, - .name = "ft1000_cs", - .probe = ft1000_attach, - .remove = ft1000_detach, - .id_table = ft1000_ids, - .suspend = ft1000_suspend, - .resume = ft1000_resume, -}; - -module_pcmcia_driver(ft1000_cs_driver); diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c deleted file mode 100644 index 612ac0bd3756..000000000000 --- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c +++ /dev/null @@ -1,762 +0,0 @@ -/*--------------------------------------------------------------------------- - FT1000 driver for Flarion Flash OFDM NIC Device - - Copyright (C) 2002 Flarion Technologies, All rights reserved. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. You should have received a copy of the GNU General Public - License along with this program; if not, write to the - Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111-1307, USA. - -------------------------------------------------------------------------- - - Description: This module will handshake with the DSP bootloader to - download the DSP runtime image. - - ---------------------------------------------------------------------------*/ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#define __KERNEL_SYSCALLS__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ft1000.h" -#include "boot.h" - -#define MAX_DSP_WAIT_LOOPS 100 -#define DSP_WAIT_SLEEP_TIME 1 /* 1 millisecond */ - -#define MAX_LENGTH 0x7f0 - -#define DWNLD_MAG_HANDSHAKE_LOC 0x00 -#define DWNLD_MAG_TYPE_LOC 0x01 -#define DWNLD_MAG_SIZE_LOC 0x02 -#define DWNLD_MAG_PS_HDR_LOC 0x03 - -#define DWNLD_HANDSHAKE_LOC 0x02 -#define DWNLD_TYPE_LOC 0x04 -#define DWNLD_SIZE_MSW_LOC 0x06 -#define DWNLD_SIZE_LSW_LOC 0x08 -#define DWNLD_PS_HDR_LOC 0x0A - -#define HANDSHAKE_TIMEOUT_VALUE 0xF1F1 -#define HANDSHAKE_RESET_VALUE 0xFEFE /* When DSP requests startover */ -#define HANDSHAKE_DSP_BL_READY 0xFEFE /* At start DSP writes this when bootloader ready */ -#define HANDSHAKE_DRIVER_READY 0xFFFF /* Driver writes after receiving 0xFEFE */ -#define HANDSHAKE_SEND_DATA 0x0000 /* DSP writes this when ready for more data */ - -#define HANDSHAKE_REQUEST 0x0001 /* Request from DSP */ -#define HANDSHAKE_RESPONSE 0x0000 /* Satisfied DSP request */ - -#define REQUEST_CODE_LENGTH 0x0000 -#define REQUEST_RUN_ADDRESS 0x0001 -#define REQUEST_CODE_SEGMENT 0x0002 /* In WORD count */ -#define REQUEST_DONE_BL 0x0003 -#define REQUEST_DONE_CL 0x0004 -#define REQUEST_VERSION_INFO 0x0005 -#define REQUEST_CODE_BY_VERSION 0x0006 -#define REQUEST_MAILBOX_DATA 0x0007 -#define REQUEST_FILE_CHECKSUM 0x0008 - -#define STATE_START_DWNLD 0x01 -#define STATE_BOOT_DWNLD 0x02 -#define STATE_CODE_DWNLD 0x03 -#define STATE_DONE_DWNLD 0x04 -#define STATE_SECTION_PROV 0x05 -#define STATE_DONE_PROV 0x06 -#define STATE_DONE_FILE 0x07 - -struct dsp_file_hdr { - u32 version_id; /* Version ID of this image format. */ - u32 package_id; /* Package ID of code release. */ - u32 build_date; /* Date/time stamp when file was built. */ - u32 commands_offset; /* Offset to attached commands in Pseudo Hdr format. */ - u32 loader_offset; /* Offset to bootloader code. */ - u32 loader_code_address; /* Start address of bootloader. */ - u32 loader_code_end; /* Where bootloader code ends. */ - u32 loader_code_size; - u32 version_data_offset; /* Offset were scrambled version data begins. */ - u32 version_data_size; /* Size, in words, of scrambled version data. */ - u32 nDspImages; /* Number of DSP images in file. */ -} __packed; - -struct dsp_image_info { - u32 coff_date; /* Date/time when DSP Coff image was built. */ - u32 begin_offset; /* Offset in file where image begins. */ - u32 end_offset; /* Offset in file where image begins. */ - u32 run_address; /* On chip Start address of DSP code. */ - u32 image_size; /* Size of image. */ - u32 version; /* Embedded version # of DSP code. */ - unsigned short checksum; /* Dsp File checksum */ - unsigned short pad1; -} __packed; - -void card_bootload(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - u32 *pdata; - u32 size; - u32 i; - u32 templong; - - netdev_dbg(dev, "card_bootload is called\n"); - - pdata = (u32 *)bootimage; - size = sizeof(bootimage); - - /* check for odd word */ - if (size & 0x0003) - size += 4; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - - /* need to set i/o base address initially and hardware will autoincrement */ - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, FT1000_DPRAM_BASE); - /* write bytes */ - for (i = 0; i < (size >> 2); i++) { - templong = *pdata++; - outl(templong, dev->base_addr + FT1000_REG_MAG_DPDATA); - } - - spin_unlock_irqrestore(&info->dpram_lock, flags); -} - -static u16 get_handshake(struct net_device *dev, u16 expected_value) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 handshake; - u32 tempx; - int loopcnt; - - loopcnt = 0; - while (loopcnt < MAX_DSP_WAIT_LOOPS) { - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - DWNLD_HANDSHAKE_LOC); - - handshake = ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - } else { - tempx = - ntohl(ft1000_read_dpram_mag_32 - (dev, DWNLD_MAG_HANDSHAKE_LOC)); - handshake = (u16)tempx; - } - - if ((handshake == expected_value) - || (handshake == HANDSHAKE_RESET_VALUE)) { - return handshake; - } - loopcnt++; - mdelay(DSP_WAIT_SLEEP_TIME); - - } - - return HANDSHAKE_TIMEOUT_VALUE; - -} - -static void put_handshake(struct net_device *dev, u16 handshake_value) -{ - struct ft1000_info *info = netdev_priv(dev); - u32 tempx; - - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - DWNLD_HANDSHAKE_LOC); - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, handshake_value); /* Handshake */ - } else { - tempx = (u32)handshake_value; - tempx = ntohl(tempx); - ft1000_write_dpram_mag_32(dev, DWNLD_MAG_HANDSHAKE_LOC, tempx); /* Handshake */ - } -} - -static u16 get_request_type(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 request_type; - u32 tempx; - - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, DWNLD_TYPE_LOC); - request_type = ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - } else { - tempx = ft1000_read_dpram_mag_32(dev, DWNLD_MAG_TYPE_LOC); - tempx = ntohl(tempx); - request_type = (u16)tempx; - } - - return request_type; - -} - -static long get_request_value(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - long value; - u16 w_val; - - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - DWNLD_SIZE_MSW_LOC); - - w_val = ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - - value = (long)(w_val << 16); - - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - DWNLD_SIZE_LSW_LOC); - - w_val = ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - - value = (long)(value | w_val); - } else { - value = ft1000_read_dpram_mag_32(dev, DWNLD_MAG_SIZE_LOC); - value = ntohl(value); - } - - return value; - -} - -static void put_request_value(struct net_device *dev, long lvalue) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 size; - u32 tempx; - - if (info->AsicID == ELECTRABUZZ_ID) { - size = (u16) (lvalue >> 16); - - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - DWNLD_SIZE_MSW_LOC); - - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, size); - - size = (u16) (lvalue); - - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - DWNLD_SIZE_LSW_LOC); - - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, size); - } else { - tempx = ntohl(lvalue); - ft1000_write_dpram_mag_32(dev, DWNLD_MAG_SIZE_LOC, tempx); /* Handshake */ - } - -} - -static u16 hdr_checksum(struct pseudo_hdr *pHdr) -{ - u16 *usPtr = (u16 *)pHdr; - u16 chksum; - - chksum = (((((usPtr[0] ^ usPtr[1]) ^ usPtr[2]) ^ usPtr[3]) ^ - usPtr[4]) ^ usPtr[5]) ^ usPtr[6]; - - return chksum; -} - -int card_download(struct net_device *dev, const u8 *pFileStart, - size_t FileLength) -{ - struct ft1000_info *info = netdev_priv(dev); - int Status = SUCCESS; - u32 uiState; - u16 handshake; - struct pseudo_hdr *pHdr; - u16 usHdrLength; - long word_length; - u16 request; - u16 temp; - struct prov_record *pprov_record; - u8 *pbuffer; - struct dsp_file_hdr *pFileHdr5; - struct dsp_image_info *pDspImageInfoV6 = NULL; - long requested_version; - bool bGoodVersion = false; - struct drv_msg *pMailBoxData; - u16 *pUsData = NULL; - u16 *pUsFile = NULL; - u8 *pUcFile = NULL; - u8 *pBootEnd = NULL; - u8 *pCodeEnd = NULL; - int imageN; - long file_version; - long loader_code_address = 0; - long loader_code_size = 0; - long run_address = 0; - long run_size = 0; - unsigned long flags; - unsigned long templong; - unsigned long image_chksum = 0; - - file_version = *(long *)pFileStart; - if (file_version != 6) { - pr_err("unsupported firmware version %ld\n", file_version); - Status = FAILURE; - } - - uiState = STATE_START_DWNLD; - - pFileHdr5 = (struct dsp_file_hdr *)pFileStart; - - pUsFile = (u16 *) ((long)pFileStart + pFileHdr5->loader_offset); - pUcFile = (u8 *) ((long)pFileStart + pFileHdr5->loader_offset); - pBootEnd = (u8 *) ((long)pFileStart + pFileHdr5->loader_code_end); - loader_code_address = pFileHdr5->loader_code_address; - loader_code_size = pFileHdr5->loader_code_size; - bGoodVersion = false; - - while ((Status == SUCCESS) && (uiState != STATE_DONE_FILE)) { - - switch (uiState) { - case STATE_START_DWNLD: - - handshake = get_handshake(dev, HANDSHAKE_DSP_BL_READY); - - if (handshake == HANDSHAKE_DSP_BL_READY) - put_handshake(dev, HANDSHAKE_DRIVER_READY); - else - Status = FAILURE; - - uiState = STATE_BOOT_DWNLD; - - break; - - case STATE_BOOT_DWNLD: - handshake = get_handshake(dev, HANDSHAKE_REQUEST); - if (handshake == HANDSHAKE_REQUEST) { - /* - * Get type associated with the request. - */ - request = get_request_type(dev); - switch (request) { - case REQUEST_RUN_ADDRESS: - put_request_value(dev, - loader_code_address); - break; - case REQUEST_CODE_LENGTH: - put_request_value(dev, - loader_code_size); - break; - case REQUEST_DONE_BL: - /* Reposition ptrs to beginning of code section */ - pUsFile = (u16 *) ((long)pBootEnd); - pUcFile = (u8 *) ((long)pBootEnd); - uiState = STATE_CODE_DWNLD; - break; - case REQUEST_CODE_SEGMENT: - word_length = get_request_value(dev); - if (word_length > MAX_LENGTH) { - Status = FAILURE; - break; - } - if ((word_length * 2 + (long)pUcFile) > - (long)pBootEnd) { - /* - * Error, beyond boot code range. - */ - Status = FAILURE; - break; - } - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, - flags); - /* - * Position ASIC DPRAM auto-increment pointer. - */ - outw(DWNLD_MAG_PS_HDR_LOC, - dev->base_addr + - FT1000_REG_DPRAM_ADDR); - if (word_length & 0x01) - word_length++; - word_length = word_length / 2; - - for (; word_length > 0; word_length--) { /* In words */ - templong = *pUsFile++; - templong |= - (*pUsFile++ << 16); - pUcFile += 4; - outl(templong, - dev->base_addr + - FT1000_REG_MAG_DPDATAL); - } - spin_unlock_irqrestore(&info-> - dpram_lock, - flags); - break; - default: - Status = FAILURE; - break; - } - put_handshake(dev, HANDSHAKE_RESPONSE); - } else { - Status = FAILURE; - } - - break; - - case STATE_CODE_DWNLD: - handshake = get_handshake(dev, HANDSHAKE_REQUEST); - if (handshake == HANDSHAKE_REQUEST) { - /* - * Get type associated with the request. - */ - request = get_request_type(dev); - switch (request) { - case REQUEST_FILE_CHECKSUM: - netdev_dbg(dev, - "ft1000_dnld: REQUEST_FOR_CHECKSUM\n"); - put_request_value(dev, image_chksum); - break; - case REQUEST_RUN_ADDRESS: - if (bGoodVersion) { - put_request_value(dev, - run_address); - } else { - Status = FAILURE; - break; - } - break; - case REQUEST_CODE_LENGTH: - if (bGoodVersion) { - put_request_value(dev, - run_size); - } else { - Status = FAILURE; - break; - } - break; - case REQUEST_DONE_CL: - /* Reposition ptrs to beginning of provisioning section */ - pUsFile = (u16 *) ((long)pFileStart + pFileHdr5->commands_offset); - pUcFile = (u8 *) ((long)pFileStart + pFileHdr5->commands_offset); - uiState = STATE_DONE_DWNLD; - break; - case REQUEST_CODE_SEGMENT: - if (!bGoodVersion) { - Status = FAILURE; - break; - } - word_length = get_request_value(dev); - if (word_length > MAX_LENGTH) { - Status = FAILURE; - break; - } - if ((word_length * 2 + (long)pUcFile) > - (long)pCodeEnd) { - /* - * Error, beyond boot code range. - */ - Status = FAILURE; - break; - } - /* - * Position ASIC DPRAM auto-increment pointer. - */ - outw(DWNLD_MAG_PS_HDR_LOC, - dev->base_addr + - FT1000_REG_DPRAM_ADDR); - if (word_length & 0x01) - word_length++; - word_length = word_length / 2; - - for (; word_length > 0; word_length--) { /* In words */ - templong = *pUsFile++; - templong |= - (*pUsFile++ << 16); - pUcFile += 4; - outl(templong, - dev->base_addr + - FT1000_REG_MAG_DPDATAL); - } - break; - - case REQUEST_MAILBOX_DATA: - /* Convert length from byte count to word count. Make sure we round up. */ - word_length = - (long)(info->DSPInfoBlklen + 1) / 2; - put_request_value(dev, word_length); - pMailBoxData = - (struct drv_msg *)&info->DSPInfoBlk[0]; - pUsData = - (u16 *)&pMailBoxData->data[0]; - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, - flags); - if (file_version == 5) { - /* - * Position ASIC DPRAM auto-increment pointer. - */ - ft1000_write_reg(dev, - FT1000_REG_DPRAM_ADDR, - DWNLD_PS_HDR_LOC); - - for (; word_length > 0; word_length--) { /* In words */ - temp = ntohs(*pUsData); - ft1000_write_reg(dev, - FT1000_REG_DPRAM_DATA, - temp); - pUsData++; - } - } else { - /* - * Position ASIC DPRAM auto-increment pointer. - */ - outw(DWNLD_MAG_PS_HDR_LOC, - dev->base_addr + - FT1000_REG_DPRAM_ADDR); - if (word_length & 0x01) - word_length++; - - word_length = word_length / 2; - - for (; word_length > 0; word_length--) { /* In words */ - templong = *pUsData++; - templong |= - (*pUsData++ << 16); - outl(templong, - dev->base_addr + - FT1000_REG_MAG_DPDATAL); - } - } - spin_unlock_irqrestore(&info-> - dpram_lock, - flags); - break; - - case REQUEST_VERSION_INFO: - word_length = - pFileHdr5->version_data_size; - put_request_value(dev, word_length); - pUsFile = - (u16 *) ((long)pFileStart + - pFileHdr5-> - version_data_offset); - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, - flags); - /* - * Position ASIC DPRAM auto-increment pointer. - */ - outw(DWNLD_MAG_PS_HDR_LOC, - dev->base_addr + - FT1000_REG_DPRAM_ADDR); - if (word_length & 0x01) - word_length++; - word_length = word_length / 2; - - for (; word_length > 0; word_length--) { /* In words */ - templong = - ntohs(*pUsFile++); - temp = - ntohs(*pUsFile++); - templong |= - (temp << 16); - outl(templong, - dev->base_addr + - FT1000_REG_MAG_DPDATAL); - } - spin_unlock_irqrestore(&info-> - dpram_lock, - flags); - break; - - case REQUEST_CODE_BY_VERSION: - bGoodVersion = false; - requested_version = - get_request_value(dev); - pDspImageInfoV6 = - (struct dsp_image_info *) ((long) - pFileStart - + - sizeof - (struct dsp_file_hdr)); - for (imageN = 0; - imageN < - pFileHdr5->nDspImages; - imageN++) { - temp = (u16) - (pDspImageInfoV6-> - version); - templong = temp; - temp = (u16) - (pDspImageInfoV6-> - version >> 16); - templong |= - (temp << 16); - if (templong == - requested_version) { - bGoodVersion = - true; - pUsFile = - (u16 - *) ((long) - pFileStart - + - pDspImageInfoV6-> - begin_offset); - pUcFile = - (u8 - *) ((long) - pFileStart - + - pDspImageInfoV6-> - begin_offset); - pCodeEnd = - (u8 - *) ((long) - pFileStart - + - pDspImageInfoV6-> - end_offset); - run_address = - pDspImageInfoV6-> - run_address; - run_size = - pDspImageInfoV6-> - image_size; - image_chksum = - (u32) - pDspImageInfoV6-> - checksum; - netdev_dbg(dev, - "ft1000_dnld: image_chksum = 0x%8x\n", - (unsigned - int) - image_chksum); - break; - } - pDspImageInfoV6++; - } - if (!bGoodVersion) { - /* - * Error, beyond boot code range. - */ - Status = FAILURE; - break; - } - break; - - default: - Status = FAILURE; - break; - } - put_handshake(dev, HANDSHAKE_RESPONSE); - } else { - Status = FAILURE; - } - - break; - - case STATE_DONE_DWNLD: - if (((unsigned long)(pUcFile) - (unsigned long) pFileStart) >= - (unsigned long)FileLength) { - uiState = STATE_DONE_FILE; - break; - } - - pHdr = (struct pseudo_hdr *)pUsFile; - - if (pHdr->portdest == 0x80 /* DspOAM */ - && (pHdr->portsrc == 0x00 /* Driver */ - || pHdr->portsrc == 0x10 /* FMM */)) { - uiState = STATE_SECTION_PROV; - } else { - netdev_dbg(dev, - "Download error: Bad Port IDs in Pseudo Record\n"); - netdev_dbg(dev, "\t Port Source = 0x%2.2x\n", - pHdr->portsrc); - netdev_dbg(dev, "\t Port Destination = 0x%2.2x\n", - pHdr->portdest); - Status = FAILURE; - } - - break; - - case STATE_SECTION_PROV: - - pHdr = (struct pseudo_hdr *)pUcFile; - - if (pHdr->checksum == hdr_checksum(pHdr)) { - if (pHdr->portdest != 0x80 /* Dsp OAM */) { - uiState = STATE_DONE_PROV; - break; - } - usHdrLength = ntohs(pHdr->length); /* Byte length for PROV records */ - - /* Get buffer for provisioning data */ - pbuffer = - kmalloc(usHdrLength + sizeof(struct pseudo_hdr), - GFP_ATOMIC); - if (pbuffer) { - memcpy(pbuffer, pUcFile, - (u32) (usHdrLength + - sizeof(struct pseudo_hdr))); - /* link provisioning data */ - pprov_record = - kmalloc(sizeof(struct prov_record), - GFP_ATOMIC); - if (pprov_record) { - pprov_record->pprov_data = - pbuffer; - list_add_tail(&pprov_record-> - list, - &info->prov_list); - /* Move to next entry if available */ - pUcFile = - (u8 *)((unsigned long) pUcFile + - (unsigned long) ((usHdrLength + 1) & 0xFFFFFFFE) + sizeof(struct pseudo_hdr)); - if ((unsigned long) (pUcFile) - - (unsigned long) (pFileStart) >= - (unsigned long)FileLength) { - uiState = - STATE_DONE_FILE; - } - } else { - kfree(pbuffer); - Status = FAILURE; - } - } else { - Status = FAILURE; - } - } else { - /* Checksum did not compute */ - Status = FAILURE; - } - - break; - - case STATE_DONE_PROV: - uiState = STATE_DONE_FILE; - break; - - default: - Status = FAILURE; - break; - } /* End Switch */ - - } /* End while */ - - return Status; - -} diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c deleted file mode 100644 index eecfa377054d..000000000000 --- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c +++ /dev/null @@ -1,2068 +0,0 @@ -/*--------------------------------------------------------------------------- - FT1000 driver for Flarion Flash OFDM NIC Device - - Copyright (C) 2002 Flarion Technologies, All rights reserved. - Copyright (C) 2006 Patrik Ostrihon, All rights reserved. - Copyright (C) 2006 ProWeb Consulting, a.s, All rights reserved. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. You should have received a copy of the GNU General Public - License along with this program; if not, write to the - Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111-1307, USA. - -------------------------------------------------------------------------*/ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include "ft1000.h" - -static const struct firmware *fw_entry; - -static void ft1000_hbchk(u_long data); -static struct timer_list poll_timer = { - .function = ft1000_hbchk -}; - -static u16 cmdbuffer[1024]; -static u8 tempbuffer[1600]; -static u8 ft1000_card_present; -static u8 flarion_ft1000_cnt; - -static irqreturn_t ft1000_interrupt(int irq, void *dev_id); -static void ft1000_enable_interrupts(struct net_device *dev); -static void ft1000_disable_interrupts(struct net_device *dev); - -/* new kernel */ -MODULE_AUTHOR(""); -MODULE_DESCRIPTION("Support for Flarion Flash OFDM NIC Device. Support for PCMCIA when used with ft1000_cs."); -MODULE_LICENSE("GPL"); -MODULE_SUPPORTED_DEVICE("FT1000"); - -#define MAX_RCV_LOOP 100 - -/*--------------------------------------------------------------------------- - - Function: ft1000_read_fifo_len - Description: This function will read the ASIC Uplink FIFO status register - which will return the number of bytes remaining in the Uplink FIFO. - Sixteen bytes are subtracted to make sure that the ASIC does not - reach its threshold. - Input: - dev - network device structure - Output: - value - number of bytes available in the ASIC Uplink FIFO. - - -------------------------------------------------------------------------*/ -static inline u16 ft1000_read_fifo_len(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - - if (info->AsicID == ELECTRABUZZ_ID) - return (ft1000_read_reg(dev, FT1000_REG_UFIFO_STAT) - 16); - else - return (ft1000_read_reg(dev, FT1000_REG_MAG_UFSR) - 16); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_read_dpram - Description: This function will read the specific area of dpram - (Electrabuzz ASIC only) - Input: - dev - device structure - offset - index of dpram - Output: - value - value of dpram - - -------------------------------------------------------------------------*/ -u16 ft1000_read_dpram(struct net_device *dev, int offset) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - u16 data; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, offset); - data = ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - spin_unlock_irqrestore(&info->dpram_lock, flags); - - return data; -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_write_dpram - Description: This function will write to a specific area of dpram - (Electrabuzz ASIC only) - Input: - dev - device structure - offset - index of dpram - value - value to write - Output: - none. - - -------------------------------------------------------------------------*/ -static inline void ft1000_write_dpram(struct net_device *dev, - int offset, u16 value) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, offset); - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, value); - spin_unlock_irqrestore(&info->dpram_lock, flags); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_read_dpram_mag_16 - Description: This function will read the specific area of dpram - (Magnemite ASIC only) - Input: - dev - device structure - offset - index of dpram - Output: - value - value of dpram - - -------------------------------------------------------------------------*/ -u16 ft1000_read_dpram_mag_16(struct net_device *dev, int offset, int Index) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - u16 data; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, offset); - /* check if we want to read upper or lower 32-bit word */ - if (Index) - data = ft1000_read_reg(dev, FT1000_REG_MAG_DPDATAL); - else - data = ft1000_read_reg(dev, FT1000_REG_MAG_DPDATAH); - - spin_unlock_irqrestore(&info->dpram_lock, flags); - - return data; -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_write_dpram_mag_16 - Description: This function will write to a specific area of dpram - (Magnemite ASIC only) - Input: - dev - device structure - offset - index of dpram - value - value to write - Output: - none. - - -------------------------------------------------------------------------*/ -static inline void ft1000_write_dpram_mag_16(struct net_device *dev, - int offset, u16 value, int Index) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, offset); - if (Index) - ft1000_write_reg(dev, FT1000_REG_MAG_DPDATAL, value); - else - ft1000_write_reg(dev, FT1000_REG_MAG_DPDATAH, value); - - spin_unlock_irqrestore(&info->dpram_lock, flags); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_read_dpram_mag_32 - Description: This function will read the specific area of dpram - (Magnemite ASIC only) - Input: - dev - device structure - offset - index of dpram - Output: - value - value of dpram - - -------------------------------------------------------------------------*/ -u32 ft1000_read_dpram_mag_32(struct net_device *dev, int offset) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - u32 data; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, offset); - data = inl(dev->base_addr + FT1000_REG_MAG_DPDATAL); - spin_unlock_irqrestore(&info->dpram_lock, flags); - - return data; -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_write_dpram_mag_32 - Description: This function will write to a specific area of dpram - (Magnemite ASIC only) - Input: - dev - device structure - offset - index of dpram - value - value to write - Output: - none. - - -------------------------------------------------------------------------*/ -void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value) -{ - struct ft1000_info *info = netdev_priv(dev); - unsigned long flags; - - /* Provide mutual exclusive access while reading ASIC registers. */ - spin_lock_irqsave(&info->dpram_lock, flags); - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, offset); - outl(value, dev->base_addr + FT1000_REG_MAG_DPDATAL); - spin_unlock_irqrestore(&info->dpram_lock, flags); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_enable_interrupts - Description: This function will enable interrupts base on the current - interrupt mask. - Input: - dev - device structure - Output: - None. - - -------------------------------------------------------------------------*/ -static void ft1000_enable_interrupts(struct net_device *dev) -{ - u16 tempword; - - ft1000_write_reg(dev, FT1000_REG_SUP_IMASK, ISR_DEFAULT_MASK); - tempword = ft1000_read_reg(dev, FT1000_REG_SUP_IMASK); - pr_debug("current interrupt enable mask = 0x%x\n", tempword); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_disable_interrupts - Description: This function will disable all interrupts. - Input: - dev - device structure - Output: - None. - - -------------------------------------------------------------------------*/ -static void ft1000_disable_interrupts(struct net_device *dev) -{ - u16 tempword; - - ft1000_write_reg(dev, FT1000_REG_SUP_IMASK, ISR_MASK_ALL); - tempword = ft1000_read_reg(dev, FT1000_REG_SUP_IMASK); - pr_debug("current interrupt enable mask = 0x%x\n", tempword); -} - -/*--------------------------------------------------------------------------- - Function: ft1000_read_dsp_timer - Description: This function reads the DSP timer and stores its value in the - DSP_TIME field of the ft1000_info struct passed as argument - Input: - dev - device structure - info - ft1000_info structure - Output: - None. - - -------------------------------------------------------------------------*/ -static void ft1000_read_dsp_timer(struct net_device *dev, - struct ft1000_info *info) -{ - if (info->AsicID == ELECTRABUZZ_ID) { - info->DSP_TIME[0] = ft1000_read_dpram(dev, FT1000_DSP_TIMER0); - info->DSP_TIME[1] = ft1000_read_dpram(dev, FT1000_DSP_TIMER1); - info->DSP_TIME[2] = ft1000_read_dpram(dev, FT1000_DSP_TIMER2); - info->DSP_TIME[3] = ft1000_read_dpram(dev, FT1000_DSP_TIMER3); - } else { - info->DSP_TIME[0] = - ft1000_read_dpram_mag_16(dev, FT1000_MAG_DSP_TIMER0, - FT1000_MAG_DSP_TIMER0_INDX); - info->DSP_TIME[1] = - ft1000_read_dpram_mag_16(dev, FT1000_MAG_DSP_TIMER1, - FT1000_MAG_DSP_TIMER1_INDX); - info->DSP_TIME[2] = - ft1000_read_dpram_mag_16(dev, FT1000_MAG_DSP_TIMER2, - FT1000_MAG_DSP_TIMER2_INDX); - info->DSP_TIME[3] = - ft1000_read_dpram_mag_16(dev, FT1000_MAG_DSP_TIMER3, - FT1000_MAG_DSP_TIMER3_INDX); - } -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_reset_asic - Description: This function will call the Card Service function to reset the - ASIC. - Input: - dev - device structure - Output: - none - - -------------------------------------------------------------------------*/ -static void ft1000_reset_asic(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - struct ft1000_pcmcia *pcmcia = info->priv; - u16 tempword; - - (*info->ft1000_reset) (pcmcia->link); - - /* - * Let's use the register provided by the Magnemite ASIC to reset the - * ASIC and DSP. - */ - if (info->AsicID == MAGNEMITE_ID) { - ft1000_write_reg(dev, FT1000_REG_RESET, - DSP_RESET_BIT | ASIC_RESET_BIT); - } - mdelay(1); - if (info->AsicID == ELECTRABUZZ_ID) { - /* set watermark to -1 in order to not generate an interrupt */ - ft1000_write_reg(dev, FT1000_REG_WATERMARK, 0xffff); - } else { - /* set watermark to -1 in order to not generate an interrupt */ - ft1000_write_reg(dev, FT1000_REG_MAG_WATERMARK, 0xffff); - } - /* clear interrupts */ - tempword = ft1000_read_reg(dev, FT1000_REG_SUP_ISR); - pr_debug("interrupt status register = 0x%x\n", tempword); - ft1000_write_reg(dev, FT1000_REG_SUP_ISR, tempword); - tempword = ft1000_read_reg(dev, FT1000_REG_SUP_ISR); - pr_debug("interrupt status register = 0x%x\n", tempword); - -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_reset_card - Description: This function will reset the card - Input: - dev - device structure - Output: - status - false (card reset fail) - true (card reset successful) - - -------------------------------------------------------------------------*/ -static int ft1000_reset_card(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 tempword; - int i; - unsigned long flags; - struct prov_record *ptr; - struct prov_record *tmp; - - info->CardReady = 0; - info->ProgConStat = 0; - info->squeseqnum = 0; - ft1000_disable_interrupts(dev); - - /* del_timer(&poll_timer); */ - - /* Make sure we free any memory reserve for provisioning */ - list_for_each_entry_safe(ptr, tmp, &info->prov_list, list) { - pr_debug("deleting provisioning record\n"); - list_del(&ptr->list); - kfree(ptr->pprov_data); - kfree(ptr); - } - - if (info->AsicID == ELECTRABUZZ_ID) { - pr_debug("resetting DSP\n"); - ft1000_write_reg(dev, FT1000_REG_RESET, DSP_RESET_BIT); - } else { - pr_debug("resetting ASIC and DSP\n"); - ft1000_write_reg(dev, FT1000_REG_RESET, - DSP_RESET_BIT | ASIC_RESET_BIT); - } - - /* Copy DSP session record into info block if this is not a coldstart */ - if (ft1000_card_present == 1) { - spin_lock_irqsave(&info->dpram_lock, flags); - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_RX_BASE); - for (i = 0; i < MAX_DSP_SESS_REC; i++) { - info->DSPSess.Rec[i] = - ft1000_read_reg(dev, - FT1000_REG_DPRAM_DATA); - } - } else { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_MAG_RX_BASE); - for (i = 0; i < MAX_DSP_SESS_REC / 2; i++) { - info->DSPSess.MagRec[i] = - inl(dev->base_addr - + FT1000_REG_MAG_DPDATA); - } - } - spin_unlock_irqrestore(&info->dpram_lock, flags); - } - - pr_debug("resetting ASIC\n"); - mdelay(10); - /* reset ASIC */ - ft1000_reset_asic(dev); - - pr_debug("downloading dsp image\n"); - - if (info->AsicID == MAGNEMITE_ID) { - /* Put dsp in reset and take ASIC out of reset */ - pr_debug("Put DSP in reset and take ASIC out of reset\n"); - ft1000_write_reg(dev, FT1000_REG_RESET, DSP_RESET_BIT); - - /* Setting MAGNEMITE ASIC to big endian mode */ - ft1000_write_reg(dev, FT1000_REG_SUP_CTRL, HOST_INTF_BE); - /* Download bootloader */ - card_bootload(dev); - - /* Take DSP out of reset */ - ft1000_write_reg(dev, FT1000_REG_RESET, 0); - /* FLARION_DSP_ACTIVE; */ - mdelay(10); - pr_debug("Take DSP out of reset\n"); - - /* - * Wait for 0xfefe indicating dsp ready before starting - * download - */ - for (i = 0; i < 50; i++) { - tempword = ft1000_read_dpram_mag_16(dev, - FT1000_MAG_DPRAM_FEFE, - FT1000_MAG_DPRAM_FEFE_INDX); - if (tempword == 0xfefe) - break; - mdelay(20); - } - - if (i == 50) { - pr_debug("No FEFE detected from DSP\n"); - return false; - } - - } else { - /* Take DSP out of reset */ - ft1000_write_reg(dev, FT1000_REG_RESET, ~DSP_RESET_BIT); - mdelay(10); - } - - if (card_download(dev, fw_entry->data, fw_entry->size)) { - pr_debug("card download unsuccessful\n"); - return false; - } - pr_debug("card download successful\n"); - - mdelay(10); - - if (info->AsicID == ELECTRABUZZ_ID) { - /* - * Need to initialize the FIFO length counter to zero in order - * to sync up with the DSP - */ - info->fifo_cnt = 0; - ft1000_write_dpram(dev, FT1000_FIFO_LEN, info->fifo_cnt); - /* Initialize DSP heartbeat area to ho */ - ft1000_write_dpram(dev, FT1000_HI_HO, ho); - tempword = ft1000_read_dpram(dev, FT1000_HI_HO); - pr_debug("hi_ho value = 0x%x\n", tempword); - } else { - /* Initialize DSP heartbeat area to ho */ - ft1000_write_dpram_mag_16(dev, FT1000_MAG_HI_HO, ho_mag, - FT1000_MAG_HI_HO_INDX); - tempword = - ft1000_read_dpram_mag_16(dev, FT1000_MAG_HI_HO, - FT1000_MAG_HI_HO_INDX); - pr_debug("hi_ho value = 0x%x\n", tempword); - } - - info->CardReady = 1; - ft1000_enable_interrupts(dev); - - /* Schedule heartbeat process to run every 2 seconds */ - /* poll_timer.expires = jiffies + (2*HZ); */ - /* poll_timer.data = (u_long)dev; */ - /* add_timer(&poll_timer); */ - - return true; - -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_chkcard - Description: This function will check if the device is presently available on - the system. - Input: - dev - device structure - Output: - status - false (device is not present) - true (device is present) - - -------------------------------------------------------------------------*/ -static int ft1000_chkcard(struct net_device *dev) -{ - u16 tempword; - - /* - * Mask register is used to check for device presence since it is never - * set to zero. - */ - tempword = ft1000_read_reg(dev, FT1000_REG_SUP_IMASK); - if (tempword == 0) { - pr_debug("IMASK = 0 Card not detected\n"); - return false; - } - /* - * The system will return the value of 0xffff for the version register - * if the device is not present. - */ - tempword = ft1000_read_reg(dev, FT1000_REG_ASIC_ID); - if (tempword == 0xffff) { - pr_debug("Version = 0xffff Card not detected\n"); - return false; - } - return true; -} - - -/*--------------------------------------------------------------------------- - - Function: ft1000_hbchk - Description: This function will perform the heart beat check of the DSP as - well as the ASIC. - Input: - dev - device structure - Output: - none - - -------------------------------------------------------------------------*/ -static void ft1000_hbchk(u_long data) -{ - struct net_device *dev = (struct net_device *)data; - - struct ft1000_info *info; - u16 tempword; - - info = netdev_priv(dev); - - if (info->CardReady == 1) { - /* Perform dsp heartbeat check */ - if (info->AsicID == ELECTRABUZZ_ID) { - tempword = ft1000_read_dpram(dev, FT1000_HI_HO); - } else { - tempword = - ntohs(ft1000_read_dpram_mag_16 - (dev, FT1000_MAG_HI_HO, - FT1000_MAG_HI_HO_INDX)); - } - pr_debug("hi_ho value = 0x%x\n", tempword); - /* Let's perform another check if ho is not detected */ - if (tempword != ho) { - if (info->AsicID == ELECTRABUZZ_ID) - tempword = ft1000_read_dpram(dev, FT1000_HI_HO); - else - tempword = ntohs(ft1000_read_dpram_mag_16(dev, - FT1000_MAG_HI_HO, - FT1000_MAG_HI_HO_INDX)); - } - if (tempword != ho) { - pr_info("heartbeat failed - no ho detected\n"); - ft1000_read_dsp_timer(dev, info); - info->DrvErrNum = DSP_HB_INFO; - if (ft1000_reset_card(dev) == 0) { - pr_info("Hardware Failure Detected - PC Card disabled\n"); - info->ProgConStat = 0xff; - return; - } - /* Schedule this module to run every 2 seconds */ - poll_timer.expires = jiffies + (2*HZ); - poll_timer.data = (u_long)dev; - add_timer(&poll_timer); - return; - } - - tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - /* Let's check doorbell again if fail */ - if (tempword & FT1000_DB_HB) - tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - - if (tempword & FT1000_DB_HB) { - pr_info("heartbeat doorbell not clear by firmware\n"); - ft1000_read_dsp_timer(dev, info); - info->DrvErrNum = DSP_HB_INFO; - if (ft1000_reset_card(dev) == 0) { - pr_info("Hardware Failure Detected - PC Card disabled\n"); - info->ProgConStat = 0xff; - return; - } - /* Schedule this module to run every 2 seconds */ - poll_timer.expires = jiffies + (2*HZ); - poll_timer.data = (u_long)dev; - add_timer(&poll_timer); - return; - } - /* - * Set dedicated area to hi and ring appropriate doorbell - * according to hi/ho heartbeat protocol - */ - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_dpram(dev, FT1000_HI_HO, hi); - } else { - ft1000_write_dpram_mag_16(dev, FT1000_MAG_HI_HO, hi_mag, - FT1000_MAG_HI_HO_INDX); - } - - if (info->AsicID == ELECTRABUZZ_ID) { - tempword = ft1000_read_dpram(dev, FT1000_HI_HO); - } else { - tempword = - ntohs(ft1000_read_dpram_mag_16 - (dev, FT1000_MAG_HI_HO, - FT1000_MAG_HI_HO_INDX)); - } - /* Let's write hi again if fail */ - if (tempword != hi) { - if (info->AsicID == ELECTRABUZZ_ID) - ft1000_write_dpram(dev, FT1000_HI_HO, hi); - else - ft1000_write_dpram_mag_16(dev, FT1000_MAG_HI_HO, - hi_mag, FT1000_MAG_HI_HO_INDX); - - if (info->AsicID == ELECTRABUZZ_ID) - tempword = ft1000_read_dpram(dev, FT1000_HI_HO); - else - tempword = ntohs(ft1000_read_dpram_mag_16(dev, - FT1000_MAG_HI_HO, - FT1000_MAG_HI_HO_INDX)); - } - - if (tempword != hi) { - pr_info("heartbeat failed - cannot write hi into DPRAM\n"); - ft1000_read_dsp_timer(dev, info); - info->DrvErrNum = DSP_HB_INFO; - if (ft1000_reset_card(dev) == 0) { - pr_info("Hardware Failure Detected - PC Card disabled\n"); - info->ProgConStat = 0xff; - return; - } - /* Schedule this module to run every 2 seconds */ - poll_timer.expires = jiffies + (2*HZ); - poll_timer.data = (u_long)dev; - add_timer(&poll_timer); - return; - } - ft1000_write_reg(dev, FT1000_REG_DOORBELL, FT1000_DB_HB); - - } - - /* Schedule this module to run every 2 seconds */ - poll_timer.expires = jiffies + (2 * HZ); - poll_timer.data = (u_long)dev; - add_timer(&poll_timer); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_send_cmd - Description: - Input: - Output: - - -------------------------------------------------------------------------*/ -static void ft1000_send_cmd(struct net_device *dev, u16 *ptempbuffer, int size, - u16 qtype) -{ - struct ft1000_info *info = netdev_priv(dev); - int i; - u16 tempword; - unsigned long flags; - - size += sizeof(struct pseudo_hdr); - /* check for odd byte and increment to 16-bit word align value */ - if ((size & 0x0001)) - size++; - pr_debug("total length = %d\n", size); - pr_debug("length = %d\n", ntohs(*ptempbuffer)); - /* - * put message into slow queue area - * All messages are in the form total_len + pseudo header + message body - */ - spin_lock_irqsave(&info->dpram_lock, flags); - - /* Make sure SLOWQ doorbell is clear */ - tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - i = 0; - while (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - i++; - if (i == 10) { - spin_unlock_irqrestore(&info->dpram_lock, flags); - return; - } - tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - } - - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_TX_BASE); - /* Write total length to dpram */ - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, size); - /* Write pseudo header and messgae body */ - for (i = 0; i < (size >> 1); i++) { - pr_debug("data %d = 0x%x\n", i, *ptempbuffer); - tempword = htons(*ptempbuffer++); - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, tempword); - } - } else { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_MAG_TX_BASE); - /* Write total length to dpram */ - ft1000_write_reg(dev, FT1000_REG_MAG_DPDATAH, htons(size)); - /* Write pseudo header and messgae body */ - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_MAG_TX_BASE + 1); - for (i = 0; i < (size >> 2); i++) { - pr_debug("data = 0x%x\n", *ptempbuffer); - outw(*ptempbuffer++, - dev->base_addr + FT1000_REG_MAG_DPDATAL); - pr_debug("data = 0x%x\n", *ptempbuffer); - outw(*ptempbuffer++, - dev->base_addr + FT1000_REG_MAG_DPDATAH); - } - pr_debug("data = 0x%x\n", *ptempbuffer); - outw(*ptempbuffer++, dev->base_addr + FT1000_REG_MAG_DPDATAL); - pr_debug("data = 0x%x\n", *ptempbuffer); - outw(*ptempbuffer++, dev->base_addr + FT1000_REG_MAG_DPDATAH); - } - spin_unlock_irqrestore(&info->dpram_lock, flags); - - /* ring doorbell to notify DSP that we have a message ready */ - ft1000_write_reg(dev, FT1000_REG_DOORBELL, FT1000_DB_DPRAM_TX); -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_receive_cmd - Description: This function will read a message from the dpram area. - Input: - dev - network device structure - pbuffer - caller supply address to buffer - pnxtph - pointer to next pseudo header - Output: - Status = 0 (unsuccessful) - = 1 (successful) - - -------------------------------------------------------------------------*/ -static bool ft1000_receive_cmd(struct net_device *dev, u16 *pbuffer, - int maxsz, u16 *pnxtph) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 size; - u16 *ppseudohdr; - int i; - u16 tempword; - unsigned long flags; - - if (info->AsicID == ELECTRABUZZ_ID) { - size = ft1000_read_dpram(dev, *pnxtph) - + sizeof(struct pseudo_hdr); - } else { - size = ntohs(ft1000_read_dpram_mag_16(dev, FT1000_MAG_PH_LEN, - FT1000_MAG_PH_LEN_INDX)) - + sizeof(struct pseudo_hdr); - } - if (size > maxsz) { - pr_debug("Invalid command length = %d\n", size); - return false; - } - ppseudohdr = (u16 *)pbuffer; - spin_lock_irqsave(&info->dpram_lock, flags); - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_RX_BASE + 2); - for (i = 0; i <= (size >> 1); i++) { - tempword = - ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - *pbuffer++ = ntohs(tempword); - } - } else { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_MAG_RX_BASE); - *pbuffer = inw(dev->base_addr + FT1000_REG_MAG_DPDATAH); - pr_debug("received data = 0x%x\n", *pbuffer); - pbuffer++; - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_MAG_RX_BASE + 1); - for (i = 0; i <= (size >> 2); i++) { - *pbuffer = - inw(dev->base_addr + - FT1000_REG_MAG_DPDATAL); - pbuffer++; - *pbuffer = - inw(dev->base_addr + - FT1000_REG_MAG_DPDATAH); - pbuffer++; - } - /* copy odd aligned word */ - *pbuffer = inw(dev->base_addr + FT1000_REG_MAG_DPDATAL); - pr_debug("received data = 0x%x\n", *pbuffer); - pbuffer++; - *pbuffer = inw(dev->base_addr + FT1000_REG_MAG_DPDATAH); - pr_debug("received data = 0x%x\n", *pbuffer); - pbuffer++; - } - if (size & 0x0001) { - /* copy odd byte from fifo */ - tempword = ft1000_read_reg(dev, FT1000_REG_DPRAM_DATA); - *pbuffer = ntohs(tempword); - } - spin_unlock_irqrestore(&info->dpram_lock, flags); - - /* - * Check if pseudo header checksum is good - * Calculate pseudo header checksum - */ - tempword = *ppseudohdr++; - for (i = 1; i < 7; i++) - tempword ^= *ppseudohdr++; - if (tempword != *ppseudohdr) { - pr_debug("Pseudo header checksum mismatch\n"); - /* Drop this message */ - return false; - } - return true; -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_proc_drvmsg - Description: This function will process the various driver messages. - Input: - dev - device structure - pnxtph - pointer to next pseudo header - Output: - none - - -------------------------------------------------------------------------*/ -static void ft1000_proc_drvmsg(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 msgtype; - u16 tempword; - struct media_msg *pmediamsg; - struct dsp_init_msg *pdspinitmsg; - struct drv_msg *pdrvmsg; - u16 len; - u16 i; - struct prov_record *ptr; - struct pseudo_hdr *ppseudo_hdr; - u16 *pmsg; - struct timeval tv; - union { - u8 byte[2]; - u16 wrd; - } convert; - - if (info->AsicID == ELECTRABUZZ_ID) - tempword = FT1000_DPRAM_RX_BASE+2; - else - tempword = FT1000_DPRAM_MAG_RX_BASE; - - if (ft1000_receive_cmd(dev, &cmdbuffer[0], MAX_CMD_SQSIZE, &tempword)) { - - /* - * Get the message type which is total_len + PSEUDO header - * + msgtype + message body - */ - pdrvmsg = (struct drv_msg *)&cmdbuffer[0]; - msgtype = ntohs(pdrvmsg->type); - pr_debug("Command message type = 0x%x\n", msgtype); - switch (msgtype) { - case DSP_PROVISION: - pr_debug("Got a provisioning request message from DSP\n"); - mdelay(25); - while (list_empty(&info->prov_list) == 0) { - pr_debug("Sending a provisioning message\n"); - /* Make sure SLOWQ doorbell is clear */ - tempword = ft1000_read_reg(dev, - FT1000_REG_DOORBELL); - i = 0; - while (tempword & FT1000_DB_DPRAM_TX) { - mdelay(5); - i++; - if (i == 10) - break; - } - ptr = list_entry(info->prov_list.next, - struct prov_record, list); - len = *(u16 *)ptr->pprov_data; - len = htons(len); - - pmsg = (u16 *)ptr->pprov_data; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - ppseudo_hdr->portsrc = 0; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - pr_debug("checksum = 0x%x\n", - ppseudo_hdr->checksum); - for (i = 1; i < 7; i++) { - ppseudo_hdr->checksum ^= *pmsg++; - pr_debug("checksum = 0x%x\n", - ppseudo_hdr->checksum); - } - - ft1000_send_cmd(dev, (u16 *)ptr->pprov_data, - len, SLOWQ_TYPE); - list_del(&ptr->list); - kfree(ptr->pprov_data); - kfree(ptr); - } - /* - * Indicate adapter is ready to take application - * messages after all provisioning messages are sent - */ - info->CardReady = 1; - break; - case MEDIA_STATE: - pmediamsg = (struct media_msg *)&cmdbuffer[0]; - if (info->ProgConStat != 0xFF) { - if (pmediamsg->state) { - pr_debug("Media is up\n"); - if (info->mediastate == 0) { - netif_carrier_on(dev); - netif_wake_queue(dev); - info->mediastate = 1; - do_gettimeofday(&tv); - info->ConTm = tv.tv_sec; - } - } else { - pr_debug("Media is down\n"); - if (info->mediastate == 1) { - info->mediastate = 0; - netif_carrier_off(dev); - netif_stop_queue(dev); - info->ConTm = 0; - } - } - } else { - pr_debug("Media is down\n"); - if (info->mediastate == 1) { - info->mediastate = 0; - netif_carrier_off(dev); - netif_stop_queue(dev); - info->ConTm = 0; - } - } - break; - case DSP_INIT_MSG: - pdspinitmsg = (struct dsp_init_msg *)&cmdbuffer[0]; - memcpy(info->DspVer, pdspinitmsg->DspVer, DSPVERSZ); - pr_debug("DSPVER = 0x%2x 0x%2x 0x%2x 0x%2x\n", - info->DspVer[0], info->DspVer[1], - info->DspVer[2], info->DspVer[3]); - memcpy(info->HwSerNum, pdspinitmsg->HwSerNum, - HWSERNUMSZ); - memcpy(info->Sku, pdspinitmsg->Sku, SKUSZ); - memcpy(info->eui64, pdspinitmsg->eui64, EUISZ); - dev->dev_addr[0] = info->eui64[0]; - dev->dev_addr[1] = info->eui64[1]; - dev->dev_addr[2] = info->eui64[2]; - dev->dev_addr[3] = info->eui64[5]; - dev->dev_addr[4] = info->eui64[6]; - dev->dev_addr[5] = info->eui64[7]; - - if (ntohs(pdspinitmsg->length) == - (sizeof(struct dsp_init_msg) - 20)) { - memcpy(info->ProductMode, - pdspinitmsg->ProductMode, MODESZ); - memcpy(info->RfCalVer, pdspinitmsg->RfCalVer, - CALVERSZ); - memcpy(info->RfCalDate, pdspinitmsg->RfCalDate, - CALDATESZ); - pr_debug("RFCalVer = 0x%2x 0x%2x\n", - info->RfCalVer[0], info->RfCalVer[1]); - } - - break; - case DSP_STORE_INFO: - pr_debug("Got DSP_STORE_INFO\n"); - tempword = ntohs(pdrvmsg->length); - info->DSPInfoBlklen = tempword; - if (tempword < (MAX_DSP_SESS_REC - 4)) { - pmsg = (u16 *)&pdrvmsg->data[0]; - for (i = 0; i < ((tempword + 1) / 2); i++) { - pr_debug("dsp info data = 0x%x\n", - *pmsg); - info->DSPInfoBlk[i + 10] = *pmsg++; - } - } - break; - case DSP_GET_INFO: - pr_debug("Got DSP_GET_INFO\n"); - /* - * copy dsp info block to dsp - * allow any outstanding ioctl to finish - */ - mdelay(10); - tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - tempword = ft1000_read_reg(dev, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) - mdelay(10); - } - - if ((tempword & FT1000_DB_DPRAM_TX) == 0) { - /* - * Put message into Slow Queue - * Form Pseudo header - */ - pmsg = (u16 *)info->DSPInfoBlk; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - ppseudo_hdr->length = - htons(info->DSPInfoBlklen + 4); - ppseudo_hdr->source = 0x10; - ppseudo_hdr->destination = 0x20; - ppseudo_hdr->portdest = 0; - ppseudo_hdr->portsrc = 0; - ppseudo_hdr->sh_str_id = 0; - ppseudo_hdr->control = 0; - ppseudo_hdr->rsvd1 = 0; - ppseudo_hdr->rsvd2 = 0; - ppseudo_hdr->qos_class = 0; - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - /* Insert application id */ - ppseudo_hdr->portsrc = 0; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - for (i = 1; i < 7; i++) - ppseudo_hdr->checksum ^= *pmsg++; - - info->DSPInfoBlk[8] = 0x7200; - info->DSPInfoBlk[9] = - htons(info->DSPInfoBlklen); - ft1000_send_cmd(dev, info->DSPInfoBlk, - (u16)(info->DSPInfoBlklen+4), - 0); - } - - break; - case GET_DRV_ERR_RPT_MSG: - pr_debug("Got GET_DRV_ERR_RPT_MSG\n"); - /* - * copy driver error message to dsp - * allow any outstanding ioctl to finish - */ - mdelay(10); - tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - tempword = ft1000_read_reg(dev, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) - mdelay(10); - } - - if ((tempword & FT1000_DB_DPRAM_TX) == 0) { - /* - * Put message into Slow Queue - * Form Pseudo header - */ - pmsg = (u16 *)&tempbuffer[0]; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - ppseudo_hdr->length = htons(0x0012); - ppseudo_hdr->source = 0x10; - ppseudo_hdr->destination = 0x20; - ppseudo_hdr->portdest = 0; - ppseudo_hdr->portsrc = 0; - ppseudo_hdr->sh_str_id = 0; - ppseudo_hdr->control = 0; - ppseudo_hdr->rsvd1 = 0; - ppseudo_hdr->rsvd2 = 0; - ppseudo_hdr->qos_class = 0; - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - /* Insert application id */ - ppseudo_hdr->portsrc = 0; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - for (i = 1; i < 7; i++) - ppseudo_hdr->checksum ^= *pmsg++; - - pmsg = (u16 *)&tempbuffer[16]; - *pmsg++ = htons(RSP_DRV_ERR_RPT_MSG); - *pmsg++ = htons(0x000e); - *pmsg++ = htons(info->DSP_TIME[0]); - *pmsg++ = htons(info->DSP_TIME[1]); - *pmsg++ = htons(info->DSP_TIME[2]); - *pmsg++ = htons(info->DSP_TIME[3]); - convert.byte[0] = info->DspVer[0]; - convert.byte[1] = info->DspVer[1]; - *pmsg++ = convert.wrd; - convert.byte[0] = info->DspVer[2]; - convert.byte[1] = info->DspVer[3]; - *pmsg++ = convert.wrd; - *pmsg++ = htons(info->DrvErrNum); - - ft1000_send_cmd(dev, (u16 *)&tempbuffer[0], - (u16)(0x0012), 0); - info->DrvErrNum = 0; - } - - break; - default: - break; - } - } -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_parse_dpram_msg - Description: This function will parse the message received from the DSP - via the DPRAM interface. - Input: - dev - device structure - Output: - status - FAILURE - SUCCESS - - -------------------------------------------------------------------------*/ -static int ft1000_parse_dpram_msg(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - u16 doorbell; - u16 portid; - u16 nxtph; - u16 total_len; - int i = 0; - unsigned long flags; - - doorbell = ft1000_read_reg(dev, FT1000_REG_DOORBELL); - pr_debug("Doorbell = 0x%x\n", doorbell); - - if (doorbell & FT1000_ASIC_RESET_REQ) { - /* Copy DSP session record from info block */ - spin_lock_irqsave(&info->dpram_lock, flags); - if (info->AsicID == ELECTRABUZZ_ID) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_RX_BASE); - for (i = 0; i < MAX_DSP_SESS_REC; i++) { - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, - info->DSPSess.Rec[i]); - } - } else { - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, - FT1000_DPRAM_MAG_RX_BASE); - for (i = 0; i < MAX_DSP_SESS_REC / 2; i++) { - outl(info->DSPSess.MagRec[i], - dev->base_addr + FT1000_REG_MAG_DPDATA); - } - } - spin_unlock_irqrestore(&info->dpram_lock, flags); - - /* clear ASIC RESET request */ - ft1000_write_reg(dev, FT1000_REG_DOORBELL, - FT1000_ASIC_RESET_REQ); - pr_debug("Got an ASIC RESET Request\n"); - ft1000_write_reg(dev, FT1000_REG_DOORBELL, - FT1000_ASIC_RESET_DSP); - - if (info->AsicID == MAGNEMITE_ID) { - /* Setting MAGNEMITE ASIC to big endian mode */ - ft1000_write_reg(dev, FT1000_REG_SUP_CTRL, - HOST_INTF_BE); - } - } - - if (doorbell & FT1000_DSP_ASIC_RESET) { - pr_debug("Got a dsp ASIC reset message\n"); - ft1000_write_reg(dev, FT1000_REG_DOORBELL, - FT1000_DSP_ASIC_RESET); - udelay(200); - return SUCCESS; - } - - if (doorbell & FT1000_DB_DPRAM_RX) { - pr_debug("Got a slow queue message\n"); - nxtph = FT1000_DPRAM_RX_BASE + 2; - if (info->AsicID == ELECTRABUZZ_ID) { - total_len = - ft1000_read_dpram(dev, FT1000_DPRAM_RX_BASE); - } else { - total_len = - ntohs(ft1000_read_dpram_mag_16 - (dev, FT1000_MAG_TOTAL_LEN, - FT1000_MAG_TOTAL_LEN_INDX)); - } - pr_debug("total length = %d\n", total_len); - if ((total_len < MAX_CMD_SQSIZE) - && (total_len > sizeof(struct pseudo_hdr))) { - total_len += nxtph; - /* - * ft1000_read_reg will return a value that needs to be - * byteswap in order to get DSP_QID_OFFSET. - */ - if (info->AsicID == ELECTRABUZZ_ID) { - portid = (ft1000_read_dpram(dev, DSP_QID_OFFSET - + FT1000_DPRAM_RX_BASE + 2) - >> 8) & 0xff; - } else { - portid = - ft1000_read_dpram_mag_16 - (dev, FT1000_MAG_PORT_ID, - FT1000_MAG_PORT_ID_INDX) & 0xff; - } - pr_debug("DSP_QID = 0x%x\n", portid); - - if (portid == DRIVERID) { - /* - * We are assumming one driver message from the - * DSP at a time. - */ - ft1000_proc_drvmsg(dev); - } - } - ft1000_write_reg(dev, FT1000_REG_DOORBELL, FT1000_DB_DPRAM_RX); - } - - if (doorbell & FT1000_DB_COND_RESET) { - /* Reset ASIC and DSP */ - ft1000_read_dsp_timer(dev, info); - info->DrvErrNum = DSP_CONDRESET_INFO; - pr_debug("DSP conditional reset requested\n"); - ft1000_reset_card(dev); - ft1000_write_reg(dev, FT1000_REG_DOORBELL, - FT1000_DB_COND_RESET); - } - /* let's clear any unexpected doorbells from DSP */ - doorbell = - doorbell & ~(FT1000_DB_DPRAM_RX | FT1000_ASIC_RESET_REQ | - FT1000_DB_COND_RESET | 0xff00); - if (doorbell) { - pr_debug("Clearing unexpected doorbell = 0x%x\n", doorbell); - ft1000_write_reg(dev, FT1000_REG_DOORBELL, doorbell); - } - - return SUCCESS; - -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_flush_fifo - Description: This function will flush one packet from the downlink - FIFO. - Input: - dev - device structure - drv_err - driver error causing the flush fifo - Output: - None. - - -------------------------------------------------------------------------*/ -static void ft1000_flush_fifo(struct net_device *dev, u16 DrvErrNum) -{ - struct ft1000_info *info = netdev_priv(dev); - struct ft1000_pcmcia *pcmcia = info->priv; - u16 i; - u32 templong; - u16 tempword; - - if (pcmcia->PktIntfErr > MAX_PH_ERR) { - ft1000_read_dsp_timer(dev, info); - info->DrvErrNum = DrvErrNum; - ft1000_reset_card(dev); - return; - } - /* Flush corrupted pkt from FIFO */ - i = 0; - do { - if (info->AsicID == ELECTRABUZZ_ID) { - tempword = - ft1000_read_reg(dev, FT1000_REG_DFIFO); - tempword = - ft1000_read_reg(dev, FT1000_REG_DFIFO_STAT); - } else { - templong = - inl(dev->base_addr + FT1000_REG_MAG_DFR); - tempword = - inw(dev->base_addr + FT1000_REG_MAG_DFSR); - } - i++; - /* - * This should never happen unless the ASIC is broken. - * We must reset to recover. - */ - if ((i > 2048) || (tempword == 0)) { - ft1000_read_dsp_timer(dev, info); - if (tempword == 0) { - /* - * Let's check if ASIC reads are still ok by - * reading the Mask register which is never zero - * at this point of the code. - */ - tempword = - inw(dev->base_addr + - FT1000_REG_SUP_IMASK); - if (tempword == 0) { - /* - * This indicates that we can not - * communicate with the ASIC - */ - info->DrvErrNum = FIFO_FLUSH_BADCNT; - } else { - /* - * Let's assume that we really flush - * the FIFO - */ - pcmcia->PktIntfErr++; - return; - } - } else { - info->DrvErrNum = FIFO_FLUSH_MAXLIMIT; - } - return; - } - tempword = inw(dev->base_addr + FT1000_REG_SUP_STAT); - } while ((tempword & 0x03) != 0x03); - if (info->AsicID == ELECTRABUZZ_ID) { - i++; - pr_debug("Flushing FIFO complete = %x\n", tempword); - /* Flush last word in FIFO. */ - tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO); - /* Update FIFO counter for DSP */ - i = i * 2; - pr_debug("Flush Data byte count to dsp = %d\n", i); - info->fifo_cnt += i; - ft1000_write_dpram(dev, FT1000_FIFO_LEN, - info->fifo_cnt); - } else { - pr_debug("Flushing FIFO complete = %x\n", tempword); - /* Flush last word in FIFO */ - templong = inl(dev->base_addr + FT1000_REG_MAG_DFR); - tempword = inw(dev->base_addr + FT1000_REG_SUP_STAT); - pr_debug("FT1000_REG_SUP_STAT = 0x%x\n", tempword); - tempword = inw(dev->base_addr + FT1000_REG_MAG_DFSR); - pr_debug("FT1000_REG_MAG_DFSR = 0x%x\n", tempword); - } - if (DrvErrNum) - pcmcia->PktIntfErr++; -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_copy_up_pkt - Description: This function will pull Flarion packets out of the Downlink - FIFO and convert it to an ethernet packet. The ethernet packet will - then be deliver to the TCP/IP stack. - Input: - dev - device structure - Output: - status - FAILURE - SUCCESS - - -------------------------------------------------------------------------*/ -static int ft1000_copy_up_pkt(struct net_device *dev) -{ - u16 tempword; - struct ft1000_info *info = netdev_priv(dev); - u16 len; - struct sk_buff *skb; - u16 i; - u8 *pbuffer = NULL; - u8 *ptemp = NULL; - u16 chksum; - u32 *ptemplong; - u32 templong; - - /* Read length */ - if (info->AsicID == ELECTRABUZZ_ID) { - tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO); - len = tempword; - } else { - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRL); - len = ntohs(tempword); - } - chksum = tempword; - pr_debug("Number of Bytes in FIFO = %d\n", len); - - if (len > ENET_MAX_SIZE) { - pr_debug("size of ethernet packet invalid\n"); - if (info->AsicID == MAGNEMITE_ID) { - /* Read High word to complete 32 bit access */ - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRH); - } - ft1000_flush_fifo(dev, DSP_PKTLEN_INFO); - info->stats.rx_errors++; - return FAILURE; - } - - skb = dev_alloc_skb(len + 12 + 2); - - if (skb == NULL) { - /* Read High word to complete 32 bit access */ - if (info->AsicID == MAGNEMITE_ID) - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRH); - - ft1000_flush_fifo(dev, 0); - info->stats.rx_errors++; - return FAILURE; - } - pbuffer = (u8 *)skb_put(skb, len + 12); - - /* Pseudo header */ - if (info->AsicID == ELECTRABUZZ_ID) { - for (i = 1; i < 7; i++) { - tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO); - chksum ^= tempword; - } - /* read checksum value */ - tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO); - } else { - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRH); - pr_debug("Pseudo = 0x%x\n", tempword); - chksum ^= tempword; - - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRL); - pr_debug("Pseudo = 0x%x\n", tempword); - chksum ^= tempword; - - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRH); - pr_debug("Pseudo = 0x%x\n", tempword); - chksum ^= tempword; - - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRL); - pr_debug("Pseudo = 0x%x\n", tempword); - chksum ^= tempword; - - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRH); - pr_debug("Pseudo = 0x%x\n", tempword); - chksum ^= tempword; - - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRL); - pr_debug("Pseudo = 0x%x\n", tempword); - chksum ^= tempword; - - /* read checksum value */ - tempword = ft1000_read_reg(dev, FT1000_REG_MAG_DFRH); - pr_debug("Pseudo = 0x%x\n", tempword); - } - - if (chksum != tempword) { - pr_debug("Packet checksum mismatch 0x%x 0x%x\n", - chksum, tempword); - ft1000_flush_fifo(dev, DSP_PKTPHCKSUM_INFO); - info->stats.rx_errors++; - kfree_skb(skb); - return FAILURE; - } - /* subtract the number of bytes read already */ - ptemp = pbuffer; - - /* fake MAC address */ - *pbuffer++ = dev->dev_addr[0]; - *pbuffer++ = dev->dev_addr[1]; - *pbuffer++ = dev->dev_addr[2]; - *pbuffer++ = dev->dev_addr[3]; - *pbuffer++ = dev->dev_addr[4]; - *pbuffer++ = dev->dev_addr[5]; - *pbuffer++ = 0x00; - *pbuffer++ = 0x07; - *pbuffer++ = 0x35; - *pbuffer++ = 0xff; - *pbuffer++ = 0xff; - *pbuffer++ = 0xfe; - - if (info->AsicID == ELECTRABUZZ_ID) { - for (i = 0; i < len / 2; i++) { - tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO); - *pbuffer++ = (u8) (tempword >> 8); - *pbuffer++ = (u8)tempword; - if (ft1000_chkcard(dev) == false) { - kfree_skb(skb); - return FAILURE; - } - } - - /* Need to read one more word if odd byte */ - if (len & 0x0001) { - tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO); - *pbuffer++ = (u8) (tempword >> 8); - } - } else { - ptemplong = (u32 *)pbuffer; - for (i = 0; i < len / 4; i++) { - templong = inl(dev->base_addr + FT1000_REG_MAG_DFR); - pr_debug("Data = 0x%8x\n", templong); - *ptemplong++ = templong; - } - - /* Need to read one more word if odd align. */ - if (len & 0x0003) { - templong = inl(dev->base_addr + FT1000_REG_MAG_DFR); - pr_debug("Data = 0x%8x\n", templong); - *ptemplong++ = templong; - } - - } - - pr_debug("Data passed to Protocol layer:\n"); - for (i = 0; i < len + 12; i++) - pr_debug("Protocol Data: 0x%x\n", *ptemp++); - - skb->dev = dev; - skb->protocol = eth_type_trans(skb, dev); - skb->ip_summed = CHECKSUM_UNNECESSARY; - netif_rx(skb); - - info->stats.rx_packets++; - /* Add on 12 bytes for MAC address which was removed */ - info->stats.rx_bytes += (len + 12); - - if (info->AsicID == ELECTRABUZZ_ID) { - /* track how many bytes have been read from FIFO - round up to - * 16 bit word */ - tempword = len + 16; - if (tempword & 0x01) - tempword++; - info->fifo_cnt += tempword; - ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, FT1000_FIFO_LEN); - ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, info->fifo_cnt); - } - - return SUCCESS; -} - -/*--------------------------------------------------------------------------- - - Function: ft1000_copy_down_pkt - Description: This function will take an ethernet packet and convert it to - a Flarion packet prior to sending it to the ASIC Downlink - FIFO. - Input: - dev - device structure - packet - address of ethernet packet - len - length of IP packet - Output: - status - FAILURE - SUCCESS - - -------------------------------------------------------------------------*/ -static int ft1000_copy_down_pkt(struct net_device *dev, u16 *packet, u16 len) -{ - struct ft1000_info *info = netdev_priv(dev); - struct ft1000_pcmcia *pcmcia = info->priv; - union { - struct pseudo_hdr blk; - u16 buff[sizeof(struct pseudo_hdr) >> 1]; - u8 buffc[sizeof(struct pseudo_hdr)]; - } pseudo; - int i; - u32 *plong; - - /* Check if there is room on the FIFO */ - if (len > ft1000_read_fifo_len(dev)) { - udelay(10); - if (len > ft1000_read_fifo_len(dev)) - udelay(20); - if (len > ft1000_read_fifo_len(dev)) - udelay(20); - if (len > ft1000_read_fifo_len(dev)) - udelay(20); - if (len > ft1000_read_fifo_len(dev)) - udelay(20); - if (len > ft1000_read_fifo_len(dev)) - udelay(20); - if (len > ft1000_read_fifo_len(dev)) { - pr_debug("Transmit FIFO is full - pkt drop\n"); - info->stats.tx_errors++; - return SUCCESS; - } - } - /* Create pseudo header and send pseudo/ip to hardware */ - if (info->AsicID == ELECTRABUZZ_ID) - pseudo.blk.length = len; - else - pseudo.blk.length = ntohs(len); - - pseudo.blk.source = DSPID; /* Need to swap to get in correct - order */ - pseudo.blk.destination = HOSTID; - pseudo.blk.portdest = NETWORKID; /* Need to swap to get in - correct order */ - pseudo.blk.portsrc = DSPAIRID; - pseudo.blk.sh_str_id = 0; - pseudo.blk.control = 0; - pseudo.blk.rsvd1 = 0; - pseudo.blk.seq_num = 0; - pseudo.blk.rsvd2 = pcmcia->packetseqnum++; - pseudo.blk.qos_class = 0; - /* Calculate pseudo header checksum */ - pseudo.blk.checksum = pseudo.buff[0]; - for (i = 1; i < 7; i++) - pseudo.blk.checksum ^= pseudo.buff[i]; - - /* Production Mode */ - if (info->AsicID == ELECTRABUZZ_ID) { - /* copy first word to UFIFO_BEG reg */ - ft1000_write_reg(dev, FT1000_REG_UFIFO_BEG, pseudo.buff[0]); - pr_debug("data 0 BEG = 0x%04x\n", pseudo.buff[0]); - - /* copy subsequent words to UFIFO_MID reg */ - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[1]); - pr_debug("data 1 MID = 0x%04x\n", pseudo.buff[1]); - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[2]); - pr_debug("data 2 MID = 0x%04x\n", pseudo.buff[2]); - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[3]); - pr_debug("data 3 MID = 0x%04x\n", pseudo.buff[3]); - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[4]); - pr_debug("data 4 MID = 0x%04x\n", pseudo.buff[4]); - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[5]); - pr_debug("data 5 MID = 0x%04x\n", pseudo.buff[5]); - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[6]); - pr_debug("data 6 MID = 0x%04x\n", pseudo.buff[6]); - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, pseudo.buff[7]); - pr_debug("data 7 MID = 0x%04x\n", pseudo.buff[7]); - - /* Write PPP type + IP Packet into Downlink FIFO */ - for (i = 0; i < (len >> 1) - 1; i++) { - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, - htons(*packet)); - pr_debug("data %d MID = 0x%04x\n", - i + 8, htons(*packet)); - packet++; - } - - /* Check for odd byte */ - if (len & 0x0001) { - ft1000_write_reg(dev, FT1000_REG_UFIFO_MID, - htons(*packet)); - pr_debug("data MID = 0x%04x\n", htons(*packet)); - packet++; - ft1000_write_reg(dev, FT1000_REG_UFIFO_END, - htons(*packet)); - pr_debug("data %d MID = 0x%04x\n", - i + 8, htons(*packet)); - } else { - ft1000_write_reg(dev, FT1000_REG_UFIFO_END, - htons(*packet)); - pr_debug("data %d MID = 0x%04x\n", - i + 8, htons(*packet)); - } - } else { - outl(*(u32 *)&pseudo.buff[0], - dev->base_addr + FT1000_REG_MAG_UFDR); - pr_debug("Pseudo = 0x%8x\n", *(u32 *)&pseudo.buff[0]); - outl(*(u32 *)&pseudo.buff[2], - dev->base_addr + FT1000_REG_MAG_UFDR); - pr_debug("Pseudo = 0x%8x\n", *(u32 *)&pseudo.buff[2]); - outl(*(u32 *)&pseudo.buff[4], - dev->base_addr + FT1000_REG_MAG_UFDR); - pr_debug("Pseudo = 0x%8x\n", *(u32 *)&pseudo.buff[4]); - outl(*(u32 *)&pseudo.buff[6], - dev->base_addr + FT1000_REG_MAG_UFDR); - pr_debug("Pseudo = 0x%8x\n", *(u32 *)&pseudo.buff[6]); - - plong = (u32 *)packet; - /* Write PPP type + IP Packet into Downlink FIFO */ - for (i = 0; i < (len >> 2); i++) - outl(*plong++, dev->base_addr + FT1000_REG_MAG_UFDR); - - /* Check for odd alignment */ - if (len & 0x0003) { - pr_debug("data = 0x%8x\n", *plong); - outl(*plong++, dev->base_addr + FT1000_REG_MAG_UFDR); - } - outl(1, dev->base_addr + FT1000_REG_MAG_UFER); - } - - info->stats.tx_packets++; - /* Add 14 bytes for MAC address plus ethernet type */ - info->stats.tx_bytes += (len + 14); - return SUCCESS; -} - -static struct net_device_stats *ft1000_stats(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - - return &info->stats; -} - -static int ft1000_open(struct net_device *dev) -{ - ft1000_reset_card(dev); - - /* schedule ft1000_hbchk to perform periodic heartbeat checks on DSP - * and ASIC */ - init_timer(&poll_timer); - poll_timer.expires = jiffies + (2 * HZ); - poll_timer.data = (u_long)dev; - add_timer(&poll_timer); - - return 0; -} - -static int ft1000_close(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - - info->CardReady = 0; - del_timer(&poll_timer); - - if (ft1000_card_present == 1) { - pr_debug("Media is down\n"); - netif_stop_queue(dev); - - ft1000_disable_interrupts(dev); - ft1000_write_reg(dev, FT1000_REG_RESET, DSP_RESET_BIT); - - /* reset ASIC */ - ft1000_reset_asic(dev); - } - return 0; -} - -static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - u8 *pdata; - - if (skb == NULL) { - pr_debug("skb == NULL!!!\n"); - return 0; - } - - pr_debug("length of packet = %d\n", skb->len); - - pdata = (u8 *)skb->data; - - if (info->mediastate == 0) { - /* Drop packet is mediastate is down */ - pr_debug("mediastate is down\n"); - return SUCCESS; - } - - if ((skb->len < ENET_HEADER_SIZE) || (skb->len > ENET_MAX_SIZE)) { - /* Drop packet which has invalid size */ - pr_debug("invalid ethernet length\n"); - return SUCCESS; - } - ft1000_copy_down_pkt(dev, (u16 *) (pdata + ENET_HEADER_SIZE - 2), - skb->len - ENET_HEADER_SIZE + 2); - - dev_kfree_skb(skb); - - return 0; -} - -static irqreturn_t ft1000_interrupt(int irq, void *dev_id) -{ - struct net_device *dev = dev_id; - struct ft1000_info *info = netdev_priv(dev); - u16 tempword; - u16 inttype; - int cnt; - - if (info->CardReady == 0) { - ft1000_disable_interrupts(dev); - return IRQ_HANDLED; - } - - if (ft1000_chkcard(dev) == false) { - ft1000_disable_interrupts(dev); - return IRQ_HANDLED; - } - - ft1000_disable_interrupts(dev); - - /* Read interrupt type */ - inttype = ft1000_read_reg(dev, FT1000_REG_SUP_ISR); - - /* Make sure we process all interrupt before leaving the ISR due to the - * edge trigger interrupt type */ - while (inttype) { - if (inttype & ISR_DOORBELL_PEND) - ft1000_parse_dpram_msg(dev); - - if (inttype & ISR_RCV) { - pr_debug("Data in FIFO\n"); - - cnt = 0; - do { - /* Check if we have packets in the Downlink - * FIFO */ - if (info->AsicID == ELECTRABUZZ_ID) { - tempword = ft1000_read_reg(dev, - FT1000_REG_DFIFO_STAT); - } else { - tempword = ft1000_read_reg(dev, - FT1000_REG_MAG_DFSR); - } - if (!(tempword & 0x1f)) - break; - ft1000_copy_up_pkt(dev); - cnt++; - } while (cnt < MAX_RCV_LOOP); - - } - /* clear interrupts */ - tempword = ft1000_read_reg(dev, FT1000_REG_SUP_ISR); - pr_debug("interrupt status register = 0x%x\n", tempword); - ft1000_write_reg(dev, FT1000_REG_SUP_ISR, tempword); - - /* Read interrupt type */ - inttype = ft1000_read_reg(dev, FT1000_REG_SUP_ISR); - pr_debug("interrupt status register after clear = 0x%x\n", - inttype); - } - ft1000_enable_interrupts(dev); - return IRQ_HANDLED; -} - -void stop_ft1000_card(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - struct prov_record *ptr; - struct prov_record *tmp; - /* int cnt; */ - - info->CardReady = 0; - ft1000_card_present = 0; - netif_stop_queue(dev); - ft1000_disable_interrupts(dev); - - /* Make sure we free any memory reserve for provisioning */ - list_for_each_entry_safe(ptr, tmp, &info->prov_list, list) { - list_del(&ptr->list); - kfree(ptr->pprov_data); - kfree(ptr); - } - - kfree(info->priv); - - if (info->registered) { - unregister_netdev(dev); - info->registered = 0; - } - - free_irq(dev->irq, dev); - release_region(dev->base_addr, 256); - release_firmware(fw_entry); - flarion_ft1000_cnt--; - -} - -static void ft1000_get_drvinfo(struct net_device *dev, - struct ethtool_drvinfo *info) -{ - struct ft1000_info *ft_info; - - ft_info = netdev_priv(dev); - - strlcpy(info->driver, "ft1000", sizeof(info->driver)); - snprintf(info->bus_info, sizeof(info->bus_info), "PCMCIA 0x%lx", - dev->base_addr); - snprintf(info->fw_version, sizeof(info->fw_version), "%d.%d.%d.%d", - ft_info->DspVer[0], ft_info->DspVer[1], ft_info->DspVer[2], - ft_info->DspVer[3]); -} - -static u32 ft1000_get_link(struct net_device *dev) -{ - struct ft1000_info *info; - - info = netdev_priv(dev); - return info->mediastate; -} - -static const struct ethtool_ops ops = { - .get_drvinfo = ft1000_get_drvinfo, - .get_link = ft1000_get_link -}; - -struct net_device *init_ft1000_card(struct pcmcia_device *link, - void *ft1000_reset) -{ - struct ft1000_info *info; - struct ft1000_pcmcia *pcmcia; - struct net_device *dev; - - static const struct net_device_ops ft1000ops = { - .ndo_open = &ft1000_open, - .ndo_stop = &ft1000_close, - .ndo_start_xmit = &ft1000_start_xmit, - .ndo_get_stats = &ft1000_stats, - }; - - pr_debug("irq = %d, port = 0x%04llx\n", - link->irq, (unsigned long long)link->resource[0]->start); - - flarion_ft1000_cnt++; - - if (flarion_ft1000_cnt > 1) { - flarion_ft1000_cnt--; - - dev_info(&link->dev, - "This driver can not support more than one instance\n"); - return NULL; - } - - dev = alloc_etherdev(sizeof(struct ft1000_info)); - if (!dev) { - dev_err(&link->dev, "Failed to allocate etherdev\n"); - return NULL; - } - - SET_NETDEV_DEV(dev, &link->dev); - info = netdev_priv(dev); - - memset(info, 0, sizeof(struct ft1000_info)); - - pr_debug("address of dev = 0x%p\n", dev); - pr_debug("address of dev info = 0x%p\n", info); - pr_debug("device name = %s\n", dev->name); - - memset(&info->stats, 0, sizeof(struct net_device_stats)); - - info->priv = kzalloc(sizeof(struct ft1000_pcmcia), GFP_KERNEL); - pcmcia = info->priv; - pcmcia->link = link; - - spin_lock_init(&info->dpram_lock); - info->DrvErrNum = 0; - info->registered = 1; - info->ft1000_reset = ft1000_reset; - info->mediastate = 0; - info->fifo_cnt = 0; - info->CardReady = 0; - info->DSP_TIME[0] = 0; - info->DSP_TIME[1] = 0; - info->DSP_TIME[2] = 0; - info->DSP_TIME[3] = 0; - flarion_ft1000_cnt = 0; - - INIT_LIST_HEAD(&info->prov_list); - - info->squeseqnum = 0; - - /* dev->hard_start_xmit = &ft1000_start_xmit; */ - /* dev->get_stats = &ft1000_stats; */ - /* dev->open = &ft1000_open; */ - /* dev->stop = &ft1000_close; */ - - dev->netdev_ops = &ft1000ops; - - pr_debug("device name = %s\n", dev->name); - - dev->irq = link->irq; - dev->base_addr = link->resource[0]->start; - if (pcmcia_get_mac_from_cis(link, dev)) { - netdev_err(dev, "Could not read mac address\n"); - goto err_dev; - } - - if (request_irq(dev->irq, ft1000_interrupt, IRQF_SHARED, dev->name, - dev)) { - netdev_err(dev, "Could not request_irq\n"); - goto err_dev; - } - - if (request_region(dev->base_addr, 256, dev->name) == NULL) { - netdev_err(dev, "Could not request_region\n"); - goto err_irq; - } - - if (register_netdev(dev)) { - pr_debug("Could not register netdev\n"); - goto err_reg; - } - - info->AsicID = ft1000_read_reg(dev, FT1000_REG_ASIC_ID); - if (info->AsicID == ELECTRABUZZ_ID) { - pr_debug("ELECTRABUZZ ASIC\n"); - if (request_firmware(&fw_entry, "ft1000.img", - &link->dev) != 0) { - pr_info("Could not open ft1000.img\n"); - goto err_unreg; - } - } else { - pr_debug("MAGNEMITE ASIC\n"); - if (request_firmware(&fw_entry, "ft2000.img", - &link->dev) != 0) { - pr_info("Could not open ft2000.img\n"); - goto err_unreg; - } - } - - ft1000_enable_interrupts(dev); - - ft1000_card_present = 1; - dev->ethtool_ops = &ops; - pr_info("%s: addr 0x%04lx irq %d, MAC addr %pM\n", - dev->name, dev->base_addr, dev->irq, dev->dev_addr); - return dev; - -err_unreg: - unregister_netdev(dev); -err_reg: - release_region(dev->base_addr, 256); -err_irq: - free_irq(dev->irq, dev); -err_dev: - free_netdev(dev); - return NULL; -} diff --git a/drivers/staging/ft1000/ft1000-usb/Makefile b/drivers/staging/ft1000/ft1000-usb/Makefile deleted file mode 100644 index 7c4b78456254..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-$(CONFIG_FT1000_USB) += ft1000.o - -ft1000-y := ft1000_debug.o ft1000_download.o ft1000_hw.o ft1000_usb.o diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_debug.c b/drivers/staging/ft1000/ft1000-usb/ft1000_debug.c deleted file mode 100644 index f241a3a5a684..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_debug.c +++ /dev/null @@ -1,789 +0,0 @@ -/* - *--------------------------------------------------------------------------- - * FT1000 driver for Flarion Flash OFDM NIC Device - * - * Copyright (C) 2006 Flarion Technologies, All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) any - * later version. This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - - * Suite 330, Boston, MA 02111-1307, USA. - *--------------------------------------------------------------------------- - * - * File: ft1000_chdev.c - * - * Description: Custom character device dispatch routines. - * - * History: - * 8/29/02 Whc Ported to Linux. - * 6/05/06 Whc Porting to Linux 2.6.9 - * - *--------------------------------------------------------------------------- - */ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include "ft1000_usb.h" - -static int ft1000_flarion_cnt; - -static int ft1000_open(struct inode *inode, struct file *file); -static unsigned int ft1000_poll_dev(struct file *file, poll_table *wait); -static long ft1000_ioctl(struct file *file, unsigned int command, - unsigned long argument); -static int ft1000_release(struct inode *inode, struct file *file); - -/* List to free receive command buffer pool */ -struct list_head freercvpool; - -/* lock to arbitrate free buffer list for receive command data */ -spinlock_t free_buff_lock; - -int numofmsgbuf; - -/* - * Table of entry-point routines for char device - */ -static const struct file_operations ft1000fops = { - .unlocked_ioctl = ft1000_ioctl, - .poll = ft1000_poll_dev, - .open = ft1000_open, - .release = ft1000_release, - .llseek = no_llseek, -}; - -/* - --------------------------------------------------------------------------- - * Function: ft1000_get_buffer - * - * Parameters: - * - * Returns: - * - * Description: - * - * Notes: - * - *--------------------------------------------------------------------------- - */ -struct dpram_blk *ft1000_get_buffer(struct list_head *bufflist) -{ - unsigned long flags; - struct dpram_blk *ptr; - - spin_lock_irqsave(&free_buff_lock, flags); - /* Check if buffer is available */ - if (list_empty(bufflist)) { - pr_debug("No more buffer - %d\n", numofmsgbuf); - ptr = NULL; - } else { - numofmsgbuf--; - ptr = list_entry(bufflist->next, struct dpram_blk, list); - list_del(&ptr->list); - /* pr_debug("number of free msg buffers = %d\n", numofmsgbuf); */ - } - spin_unlock_irqrestore(&free_buff_lock, flags); - - return ptr; -} - - - - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_free_buffer - * - * Parameters: - * - * Returns: - * - * Description: - * - * Notes: - * - *--------------------------------------------------------------------------- - */ -void ft1000_free_buffer(struct dpram_blk *pdpram_blk, struct list_head *plist) -{ - unsigned long flags; - - spin_lock_irqsave(&free_buff_lock, flags); - /* Put memory back to list */ - list_add_tail(&pdpram_blk->list, plist); - numofmsgbuf++; - /*pr_debug("number of free msg buffers = %d\n", numofmsgbuf); */ - spin_unlock_irqrestore(&free_buff_lock, flags); -} - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_CreateDevice - * - * Parameters: dev - pointer to adapter object - * - * Returns: 0 if successful - * - * Description: Creates a private char device. - * - * Notes: Only called by init_module(). - * - *--------------------------------------------------------------------------- - */ -int ft1000_create_dev(struct ft1000_usb *dev) -{ - int result; - int i; - struct dentry *dir, *file; - struct ft1000_debug_dirs *tmp; - - /* make a new device name */ - sprintf(dev->DeviceName, "%s%d", "FT1000_", dev->CardNumber); - - pr_debug("number of instance = %d\n", ft1000_flarion_cnt); - pr_debug("DeviceCreated = %x\n", dev->DeviceCreated); - - if (dev->DeviceCreated) { - pr_debug("\"%s\" already registered\n", dev->DeviceName); - return -EIO; - } - - - /* register the device */ - pr_debug("\"%s\" debugfs device registration\n", dev->DeviceName); - - tmp = kmalloc(sizeof(struct ft1000_debug_dirs), GFP_KERNEL); - if (tmp == NULL) { - result = -1; - goto fail; - } - - dir = debugfs_create_dir(dev->DeviceName, NULL); - if (IS_ERR(dir)) { - result = PTR_ERR(dir); - goto debug_dir_fail; - } - - file = debugfs_create_file("device", S_IRUGO | S_IWUSR, dir, - dev, &ft1000fops); - if (IS_ERR(file)) { - result = PTR_ERR(file); - goto debug_file_fail; - } - - tmp->dent = dir; - tmp->file = file; - tmp->int_number = dev->CardNumber; - list_add(&tmp->list, &dev->nodes.list); - - pr_debug("registered debugfs directory \"%s\"\n", dev->DeviceName); - - /* initialize application information */ - dev->appcnt = 0; - for (i = 0; i < MAX_NUM_APP; i++) { - dev->app_info[i].nTxMsg = 0; - dev->app_info[i].nRxMsg = 0; - dev->app_info[i].nTxMsgReject = 0; - dev->app_info[i].nRxMsgMiss = 0; - dev->app_info[i].fileobject = NULL; - dev->app_info[i].app_id = i+1; - dev->app_info[i].DspBCMsgFlag = 0; - dev->app_info[i].NumOfMsg = 0; - init_waitqueue_head(&dev->app_info[i].wait_dpram_msg); - INIT_LIST_HEAD(&dev->app_info[i].app_sqlist); - } - - dev->DeviceCreated = TRUE; - ft1000_flarion_cnt++; - - return 0; - -debug_file_fail: - debugfs_remove(dir); -debug_dir_fail: - kfree(tmp); -fail: - return result; -} - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_DestroyDeviceDEBUG - * - * Parameters: dev - pointer to adapter object - * - * Description: Destroys a private char device. - * - * Notes: Only called by cleanup_module(). - * - *--------------------------------------------------------------------------- - */ -void ft1000_destroy_dev(struct net_device *netdev) -{ - struct ft1000_info *info = netdev_priv(netdev); - struct ft1000_usb *dev = info->priv; - int i; - struct dpram_blk *pdpram_blk; - struct dpram_blk *ptr; - struct list_head *pos, *q; - struct ft1000_debug_dirs *dir; - - if (dev->DeviceCreated) { - ft1000_flarion_cnt--; - list_for_each_safe(pos, q, &dev->nodes.list) { - dir = list_entry(pos, struct ft1000_debug_dirs, list); - if (dir->int_number == dev->CardNumber) { - debugfs_remove(dir->file); - debugfs_remove(dir->dent); - list_del(pos); - kfree(dir); - } - } - pr_debug("unregistered device \"%s\"\n", dev->DeviceName); - - /* Make sure we free any memory reserve for slow Queue */ - for (i = 0; i < MAX_NUM_APP; i++) { - while (list_empty(&dev->app_info[i].app_sqlist) == 0) { - pdpram_blk = list_entry(dev->app_info[i].app_sqlist.next, - struct dpram_blk, list); - list_del(&pdpram_blk->list); - ft1000_free_buffer(pdpram_blk, &freercvpool); - - } - wake_up_interruptible(&dev->app_info[i].wait_dpram_msg); - } - - /* Remove buffer allocated for receive command data */ - if (ft1000_flarion_cnt == 0) { - while (list_empty(&freercvpool) == 0) { - ptr = list_entry(freercvpool.next, struct dpram_blk, list); - list_del(&ptr->list); - kfree(ptr->pbuffer); - kfree(ptr); - } - } - dev->DeviceCreated = FALSE; - } - - -} - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_open - * - * Parameters: - * - * Description: - * - * Notes: - * - *--------------------------------------------------------------------------- - */ -static int ft1000_open(struct inode *inode, struct file *file) -{ - struct ft1000_info *info; - struct ft1000_usb *dev = (struct ft1000_usb *)inode->i_private; - int i, num; - - num = MINOR(inode->i_rdev) & 0xf; - pr_debug("minor number=%d\n", num); - - info = file->private_data = netdev_priv(dev->net); - - pr_debug("f_owner = %p number of application = %d\n", - &file->f_owner, dev->appcnt); - - /* Check if maximum number of application exceeded */ - if (dev->appcnt > MAX_NUM_APP) { - pr_debug("Maximum number of application exceeded\n"); - return -EACCES; - } - - /* Search for available application info block */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (dev->app_info[i].fileobject == NULL) - break; - } - - /* Fail due to lack of application info block */ - if (i == MAX_NUM_APP) { - pr_debug("Could not find an application info block\n"); - return -EACCES; - } - - dev->appcnt++; - dev->app_info[i].fileobject = &file->f_owner; - dev->app_info[i].nTxMsg = 0; - dev->app_info[i].nRxMsg = 0; - dev->app_info[i].nTxMsgReject = 0; - dev->app_info[i].nRxMsgMiss = 0; - - nonseekable_open(inode, file); - return 0; -} - - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_poll_dev - * - * Parameters: - * - * Description: - * - * Notes: - * - *--------------------------------------------------------------------------- - */ - -static unsigned int ft1000_poll_dev(struct file *file, poll_table *wait) -{ - struct net_device *netdev = file->private_data; - struct ft1000_info *info = netdev_priv(netdev); - struct ft1000_usb *dev = info->priv; - int i; - - if (ft1000_flarion_cnt == 0) { - pr_debug("called with ft1000_flarion_cnt value zero\n"); - return -EBADF; - } - - /* Search for matching file object */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (dev->app_info[i].fileobject == &file->f_owner) { - /* pr_debug("Message is for AppId = %d\n", dev->app_info[i].app_id); */ - break; - } - } - - /* Could not find application info block */ - if (i == MAX_NUM_APP) { - pr_debug("Could not find application info block\n"); - return -EACCES; - } - - if (list_empty(&dev->app_info[i].app_sqlist) == 0) { - pr_debug("Message detected in slow queue\n"); - return(POLLIN | POLLRDNORM | POLLPRI); - } - - poll_wait(file, &dev->app_info[i].wait_dpram_msg, wait); - /* pr_debug("Polling for data from DSP\n"); */ - - return 0; -} - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_ioctl - * - * Parameters: - * - * Description: - * - * Notes: - * - *--------------------------------------------------------------------------- - */ -static long ft1000_ioctl(struct file *file, unsigned int command, - unsigned long argument) -{ - void __user *argp = (void __user *)argument; - struct ft1000_info *info; - struct ft1000_usb *ft1000dev; - int result = 0; - int cmd; - int i; - u16 tempword; - unsigned long flags; - struct timeval tv; - struct IOCTL_GET_VER get_ver_data; - struct IOCTL_GET_DSP_STAT get_stat_data; - u8 ConnectionMsg[] = { - 0x00, 0x44, 0x10, 0x20, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x93, 0x64, - 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x02, 0x37, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x7f, 0x00, - 0x00, 0x01, 0x00, 0x00 - }; - - unsigned short ledStat = 0; - unsigned short conStat = 0; - - if (ft1000_flarion_cnt == 0) { - pr_debug("called with ft1000_flarion_cnt of zero\n"); - return -EBADF; - } - - /* pr_debug("command = 0x%x argument = 0x%8x\n", command, (u32)argument); */ - - info = file->private_data; - ft1000dev = info->priv; - cmd = _IOC_NR(command); - /* pr_debug("cmd = 0x%x\n", cmd); */ - - /* process the command */ - switch (cmd) { - case IOCTL_REGISTER_CMD: - pr_debug("IOCTL_FT1000_REGISTER called\n"); - result = get_user(tempword, (__u16 __user *)argp); - if (result) { - pr_debug("result = %d failed to get_user\n", result); - break; - } - if (tempword == DSPBCMSGID) { - /* Search for matching file object */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (ft1000dev->app_info[i].fileobject == &file->f_owner) { - ft1000dev->app_info[i].DspBCMsgFlag = 1; - pr_debug("Registered for broadcast messages\n"); - break; - } - } - } - break; - - case IOCTL_GET_VER_CMD: - pr_debug("IOCTL_FT1000_GET_VER called\n"); - - get_ver_data.drv_ver = FT1000_DRV_VER; - - if (copy_to_user(argp, &get_ver_data, sizeof(get_ver_data))) { - pr_debug("copy fault occurred\n"); - result = -EFAULT; - break; - } - - pr_debug("driver version = 0x%x\n", - (unsigned int)get_ver_data.drv_ver); - - break; - case IOCTL_CONNECT: - /* Connect Message */ - pr_debug("IOCTL_FT1000_CONNECT\n"); - ConnectionMsg[79] = 0xfc; - result = card_send_command(ft1000dev, ConnectionMsg, 0x4c); - - break; - case IOCTL_DISCONNECT: - /* Disconnect Message */ - pr_debug("IOCTL_FT1000_DISCONNECT\n"); - ConnectionMsg[79] = 0xfd; - result = card_send_command(ft1000dev, ConnectionMsg, 0x4c); - break; - case IOCTL_GET_DSP_STAT_CMD: - /* pr_debug("IOCTL_FT1000_GET_DSP_STAT\n"); */ - memset(&get_stat_data, 0, sizeof(get_stat_data)); - memcpy(get_stat_data.DspVer, info->DspVer, DSPVERSZ); - memcpy(get_stat_data.HwSerNum, info->HwSerNum, HWSERNUMSZ); - memcpy(get_stat_data.Sku, info->Sku, SKUSZ); - memcpy(get_stat_data.eui64, info->eui64, EUISZ); - - if (info->ProgConStat != 0xFF) { - ft1000_read_dpram16(ft1000dev, FT1000_MAG_DSP_LED, - (u8 *)&ledStat, FT1000_MAG_DSP_LED_INDX); - get_stat_data.LedStat = ntohs(ledStat); - pr_debug("LedStat = 0x%x\n", get_stat_data.LedStat); - ft1000_read_dpram16(ft1000dev, FT1000_MAG_DSP_CON_STATE, - (u8 *)&conStat, FT1000_MAG_DSP_CON_STATE_INDX); - get_stat_data.ConStat = ntohs(conStat); - pr_debug("ConStat = 0x%x\n", get_stat_data.ConStat); - } else { - get_stat_data.ConStat = 0x0f; - } - - - get_stat_data.nTxPkts = info->stats.tx_packets; - get_stat_data.nRxPkts = info->stats.rx_packets; - get_stat_data.nTxBytes = info->stats.tx_bytes; - get_stat_data.nRxBytes = info->stats.rx_bytes; - do_gettimeofday(&tv); - get_stat_data.ConTm = (u32)(tv.tv_sec - info->ConTm); - pr_debug("Connection Time = %d\n", (int)get_stat_data.ConTm); - if (copy_to_user(argp, &get_stat_data, sizeof(get_stat_data))) { - pr_debug("copy fault occurred\n"); - result = -EFAULT; - break; - } - pr_debug("GET_DSP_STAT succeed\n"); - break; - case IOCTL_SET_DPRAM_CMD: - { - struct IOCTL_DPRAM_BLK *dpram_data = NULL; - /* struct IOCTL_DPRAM_COMMAND dpram_command; */ - u16 qtype; - u16 msgsz; - struct pseudo_hdr *ppseudo_hdr; - u16 *pmsg; - u16 total_len; - u16 app_index; - u16 status; - - /* pr_debug("IOCTL_FT1000_SET_DPRAM called\n");*/ - - - if (ft1000_flarion_cnt == 0) - return -EBADF; - - if (ft1000dev->DrvMsgPend) - return -ENOTTY; - - if (ft1000dev->fProvComplete == 0) - return -EACCES; - - ft1000dev->fAppMsgPend = true; - - if (info->CardReady) { - - /* pr_debug("try to SET_DPRAM\n"); */ - - /* Get the length field to see how many bytes to copy */ - result = get_user(msgsz, (__u16 __user *)argp); - if (result) - break; - msgsz = ntohs(msgsz); - /* pr_debug("length of message = %d\n", msgsz); */ - - if (msgsz > MAX_CMD_SQSIZE) { - pr_debug("bad message length = %d\n", msgsz); - result = -EINVAL; - break; - } - - result = -ENOMEM; - dpram_data = kmalloc(msgsz + 2, GFP_KERNEL); - if (!dpram_data) - break; - - if (copy_from_user(dpram_data, argp, msgsz+2)) { - pr_debug("copy fault occurred\n"); - result = -EFAULT; - } else { - /* Check if this message came from a registered application */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (ft1000dev->app_info[i].fileobject == &file->f_owner) - break; - } - if (i == MAX_NUM_APP) { - pr_debug("No matching application fileobject\n"); - result = -EINVAL; - kfree(dpram_data); - break; - } - app_index = i; - - /* Check message qtype type which is the lower byte within qos_class */ - qtype = ntohs(dpram_data->pseudohdr.qos_class) & 0xff; - /* pr_debug("qtype = %d\n", qtype); */ - if (!qtype) { - /* Put message into Slow Queue */ - /* Only put a message into the DPRAM if msg doorbell is available */ - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_DOORBELL); - /* pr_debug("READ REGISTER tempword=%x\n", tempword); */ - if (tempword & FT1000_DB_DPRAM_TX) { - /* Suspend for 2ms and try again due to DSP doorbell busy */ - mdelay(2); - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - /* Suspend for 1ms and try again due to DSP doorbell busy */ - mdelay(1); - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - /* Suspend for 3ms and try again due to DSP doorbell busy */ - mdelay(3); - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - pr_debug("Doorbell not available\n"); - result = -ENOTTY; - kfree(dpram_data); - break; - } - } - } - } - } - - /*pr_debug("finished reading register\n"); */ - - /* Make sure we are within the limits of the slow queue memory limitation */ - if ((msgsz < MAX_CMD_SQSIZE) && (msgsz > PSEUDOSZ)) { - /* Need to put sequence number plus new checksum for message */ - pmsg = (u16 *)&dpram_data->pseudohdr; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - total_len = msgsz+2; - if (total_len & 0x1) - total_len++; - - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - ppseudo_hdr->portsrc = ft1000dev->app_info[app_index].app_id; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - /* pr_debug("checksum = 0x%x\n", ppseudo_hdr->checksum); */ - for (i = 1; i < 7; i++) { - ppseudo_hdr->checksum ^= *pmsg++; - /* pr_debug("checksum = 0x%x\n", ppseudo_hdr->checksum); */ - } - pmsg++; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - result = card_send_command(ft1000dev, dpram_data, total_len+2); - - - ft1000dev->app_info[app_index].nTxMsg++; - } else { - result = -EINVAL; - } - } - } - } else { - pr_debug("Card not ready take messages\n"); - result = -EACCES; - } - kfree(dpram_data); - - } - break; - case IOCTL_GET_DPRAM_CMD: - { - struct dpram_blk *pdpram_blk; - struct IOCTL_DPRAM_BLK __user *pioctl_dpram; - int msglen; - - /* pr_debug("IOCTL_FT1000_GET_DPRAM called\n"); */ - - if (ft1000_flarion_cnt == 0) - return -EBADF; - - /* Search for matching file object */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (ft1000dev->app_info[i].fileobject == &file->f_owner) { - /*pr_debug("Message is for AppId = %d\n", ft1000dev->app_info[i].app_id); */ - break; - } - } - - /* Could not find application info block */ - if (i == MAX_NUM_APP) { - pr_debug("Could not find application info block\n"); - result = -EBADF; - break; - } - - result = 0; - pioctl_dpram = argp; - if (list_empty(&ft1000dev->app_info[i].app_sqlist) == 0) { - /* pr_debug("Message detected in slow queue\n"); */ - spin_lock_irqsave(&free_buff_lock, flags); - pdpram_blk = list_entry(ft1000dev->app_info[i].app_sqlist.next, - struct dpram_blk, list); - list_del(&pdpram_blk->list); - ft1000dev->app_info[i].NumOfMsg--; - /* pr_debug("NumOfMsg for app %d = %d\n", i, ft1000dev->app_info[i].NumOfMsg); */ - spin_unlock_irqrestore(&free_buff_lock, flags); - msglen = ntohs(*(u16 *)pdpram_blk->pbuffer) + PSEUDOSZ; - result = get_user(msglen, &pioctl_dpram->total_len); - if (result) - break; - msglen = htons(msglen); - /* pr_debug("msg length = %x\n", msglen); */ - if (copy_to_user(&pioctl_dpram->pseudohdr, pdpram_blk->pbuffer, msglen)) { - pr_debug("copy fault occurred\n"); - result = -EFAULT; - break; - } - - ft1000_free_buffer(pdpram_blk, &freercvpool); - result = msglen; - } - /* pr_debug("IOCTL_FT1000_GET_DPRAM no message\n"); */ - } - break; - - default: - pr_debug("unknown command: 0x%x\n", command); - result = -ENOTTY; - break; - } - ft1000dev->fAppMsgPend = false; - return result; -} - -/* - *--------------------------------------------------------------------------- - * Function: ft1000_release - * - * Parameters: - * - * Description: - * - * Notes: - * - *--------------------------------------------------------------------------- - */ -static int ft1000_release(struct inode *inode, struct file *file) -{ - struct ft1000_info *info; - struct net_device *dev; - struct ft1000_usb *ft1000dev; - int i; - struct dpram_blk *pdpram_blk; - struct dpram_blk *tmp; - - dev = file->private_data; - info = netdev_priv(dev); - ft1000dev = info->priv; - - if (ft1000_flarion_cnt == 0) { - ft1000dev->appcnt--; - return -EBADF; - } - - /* Search for matching file object */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (ft1000dev->app_info[i].fileobject == &file->f_owner) { - /* pr_debug("Message is for AppId = %d\n", ft1000dev->app_info[i].app_id); */ - break; - } - } - - if (i == MAX_NUM_APP) - return 0; - - list_for_each_entry_safe(pdpram_blk, tmp, &ft1000dev->app_info[i].app_sqlist, list) { - pr_debug("Remove and free memory queue up on slow queue\n"); - list_del(&pdpram_blk->list); - ft1000_free_buffer(pdpram_blk, &freercvpool); - } - - /* initialize application information */ - ft1000dev->appcnt--; - pr_debug("appcnt = %d\n", ft1000dev->appcnt); - ft1000dev->app_info[i].fileobject = NULL; - - return 0; -} diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_download.c b/drivers/staging/ft1000/ft1000-usb/ft1000_download.c deleted file mode 100644 index cf850212f4b6..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_download.c +++ /dev/null @@ -1,1058 +0,0 @@ -/* - * CopyRight (C) 2007 Qualcomm Inc. All Rights Reserved. - * - * This file is part of Express Card USB Driver - */ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#include -#include -#include -#include -#include -#include -#include "ft1000_usb.h" - - -#define DWNLD_HANDSHAKE_LOC 0x02 -#define DWNLD_TYPE_LOC 0x04 -#define DWNLD_SIZE_MSW_LOC 0x06 -#define DWNLD_SIZE_LSW_LOC 0x08 -#define DWNLD_PS_HDR_LOC 0x0A - -#define MAX_DSP_WAIT_LOOPS 40 -#define DSP_WAIT_SLEEP_TIME 1000 /* 1 millisecond */ -#define DSP_WAIT_DISPATCH_LVL 50 /* 50 usec */ - -#define HANDSHAKE_TIMEOUT_VALUE 0xF1F1 -#define HANDSHAKE_RESET_VALUE 0xFEFE /* When DSP requests startover */ -#define HANDSHAKE_RESET_VALUE_USB 0xFE7E /* When DSP requests startover */ -#define HANDSHAKE_DSP_BL_READY 0xFEFE /* At start DSP writes this when bootloader ready */ -#define HANDSHAKE_DSP_BL_READY_USB 0xFE7E /* At start DSP writes this when bootloader ready */ -#define HANDSHAKE_DRIVER_READY 0xFFFF /* Driver writes after receiving 0xFEFE */ -#define HANDSHAKE_SEND_DATA 0x0000 /* DSP writes this when ready for more data */ - -#define HANDSHAKE_REQUEST 0x0001 /* Request from DSP */ -#define HANDSHAKE_RESPONSE 0x0000 /* Satisfied DSP request */ - -#define REQUEST_CODE_LENGTH 0x0000 -#define REQUEST_RUN_ADDRESS 0x0001 -#define REQUEST_CODE_SEGMENT 0x0002 /* In WORD count */ -#define REQUEST_DONE_BL 0x0003 -#define REQUEST_DONE_CL 0x0004 -#define REQUEST_VERSION_INFO 0x0005 -#define REQUEST_CODE_BY_VERSION 0x0006 -#define REQUEST_MAILBOX_DATA 0x0007 -#define REQUEST_FILE_CHECKSUM 0x0008 - -#define STATE_START_DWNLD 0x01 -#define STATE_BOOT_DWNLD 0x02 -#define STATE_CODE_DWNLD 0x03 -#define STATE_DONE_DWNLD 0x04 -#define STATE_SECTION_PROV 0x05 -#define STATE_DONE_PROV 0x06 -#define STATE_DONE_FILE 0x07 - -#define MAX_LENGTH 0x7f0 - -/* Temporary download mechanism for Magnemite */ -#define DWNLD_MAG_TYPE_LOC 0x00 -#define DWNLD_MAG_LEN_LOC 0x01 -#define DWNLD_MAG_ADDR_LOC 0x02 -#define DWNLD_MAG_CHKSUM_LOC 0x03 -#define DWNLD_MAG_VAL_LOC 0x04 - -#define HANDSHAKE_MAG_DSP_BL_READY 0xFEFE0000 /* At start DSP writes this when bootloader ready */ -#define HANDSHAKE_MAG_DSP_ENTRY 0x01000000 /* Dsp writes this to request for entry address */ -#define HANDSHAKE_MAG_DSP_DATA 0x02000000 /* Dsp writes this to request for data block */ -#define HANDSHAKE_MAG_DSP_DONE 0x03000000 /* Dsp writes this to indicate download done */ - -#define HANDSHAKE_MAG_DRV_READY 0xFFFF0000 /* Driver writes this to indicate ready to download */ -#define HANDSHAKE_MAG_DRV_DATA 0x02FECDAB /* Driver writes this to indicate data available to DSP */ -#define HANDSHAKE_MAG_DRV_ENTRY 0x01FECDAB /* Driver writes this to indicate entry point to DSP */ - -#define HANDSHAKE_MAG_TIMEOUT_VALUE 0xF1F1 - - -/* New Magnemite downloader */ -#define DWNLD_MAG1_HANDSHAKE_LOC 0x00 -#define DWNLD_MAG1_TYPE_LOC 0x01 -#define DWNLD_MAG1_SIZE_LOC 0x02 -#define DWNLD_MAG1_PS_HDR_LOC 0x03 - -struct dsp_file_hdr { - long version_id; /* Version ID of this image format. */ - long package_id; /* Package ID of code release. */ - long build_date; /* Date/time stamp when file was built. */ - long commands_offset; /* Offset to attached commands in Pseudo Hdr format. */ - long loader_offset; /* Offset to bootloader code. */ - long loader_code_address; /* Start address of bootloader. */ - long loader_code_end; /* Where bootloader code ends. */ - long loader_code_size; - long version_data_offset; /* Offset were scrambled version data begins. */ - long version_data_size; /* Size, in words, of scrambled version data. */ - long nDspImages; /* Number of DSP images in file. */ -}; - -struct dsp_image_info { - long coff_date; /* Date/time when DSP Coff image was built. */ - long begin_offset; /* Offset in file where image begins. */ - long end_offset; /* Offset in file where image begins. */ - long run_address; /* On chip Start address of DSP code. */ - long image_size; /* Size of image. */ - long version; /* Embedded version # of DSP code. */ - unsigned short checksum; /* DSP File checksum */ - unsigned short pad1; -} __packed; - - -/* checks if the doorbell register is cleared */ -static int check_usb_db(struct ft1000_usb *ft1000dev) -{ - int loopcnt; - u16 temp; - int status; - - loopcnt = 0; - - while (loopcnt < 10) { - status = ft1000_read_register(ft1000dev, &temp, - FT1000_REG_DOORBELL); - pr_debug("read FT1000_REG_DOORBELL value is %x\n", temp); - if (temp & 0x0080) { - pr_debug("Got checkusb doorbell\n"); - status = ft1000_write_register(ft1000dev, 0x0080, - FT1000_REG_DOORBELL); - status = ft1000_write_register(ft1000dev, 0x0100, - FT1000_REG_DOORBELL); - status = ft1000_write_register(ft1000dev, 0x8000, - FT1000_REG_DOORBELL); - break; - } - loopcnt++; - usleep_range(10000, 11000); - - } - - loopcnt = 0; - while (loopcnt < 20) { - status = ft1000_read_register(ft1000dev, &temp, - FT1000_REG_DOORBELL); - pr_debug("Doorbell = 0x%x\n", temp); - if (temp & 0x8000) { - loopcnt++; - usleep_range(10000, 11000); - } else { - pr_debug("door bell is cleared, return 0\n"); - return 0; - } - } - - return -1; -} - -/* gets the handshake and compares it with the expected value */ -static u16 get_handshake(struct ft1000_usb *ft1000dev, u16 expected_value) -{ - u16 handshake; - int loopcnt; - int status = 0; - - loopcnt = 0; - - while (loopcnt < 100) { - /* Need to clear downloader doorbell if Hartley ASIC */ - status = ft1000_write_register(ft1000dev, FT1000_DB_DNLD_RX, - FT1000_REG_DOORBELL); - if (ft1000dev->fcodeldr) { - pr_debug("fcodeldr is %d\n", ft1000dev->fcodeldr); - ft1000dev->fcodeldr = 0; - status = check_usb_db(ft1000dev); - if (status != 0) { - pr_debug("check_usb_db failed\n"); - break; - } - status = ft1000_write_register(ft1000dev, - FT1000_DB_DNLD_RX, - FT1000_REG_DOORBELL); - } - - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_HANDSHAKE_LOC, - (u8 *)&handshake, 1); - handshake = ntohs(handshake); - - if (status) - return HANDSHAKE_TIMEOUT_VALUE; - - if ((handshake == expected_value) || - (handshake == HANDSHAKE_RESET_VALUE_USB)) { - return handshake; - } - loopcnt++; - usleep_range(10000, 11000); - } - - return HANDSHAKE_TIMEOUT_VALUE; -} - -/* write the handshake value to the handshake location */ -static void put_handshake(struct ft1000_usb *ft1000dev, u16 handshake_value) -{ - u32 tempx; - u16 tempword; - int status; - - tempx = (u32)handshake_value; - tempx = ntohl(tempx); - - tempword = (u16)(tempx & 0xffff); - status = ft1000_write_dpram16(ft1000dev, DWNLD_MAG1_HANDSHAKE_LOC, - tempword, 0); - tempword = (u16)(tempx >> 16); - status = ft1000_write_dpram16(ft1000dev, DWNLD_MAG1_HANDSHAKE_LOC, - tempword, 1); - status = ft1000_write_register(ft1000dev, FT1000_DB_DNLD_TX, - FT1000_REG_DOORBELL); -} - -static u16 get_handshake_usb(struct ft1000_usb *ft1000dev, u16 expected_value) -{ - u16 handshake; - int loopcnt; - u16 temp; - int status = 0; - - loopcnt = 0; - handshake = 0; - - while (loopcnt < 100) { - if (ft1000dev->usbboot == 2) { - status = ft1000_read_dpram32(ft1000dev, 0, - (u8 *)&ft1000dev->tempbuf[0], 64); - for (temp = 0; temp < 16; temp++) { - pr_debug("tempbuf %d = 0x%x\n", - temp, ft1000dev->tempbuf[temp]); - } - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_HANDSHAKE_LOC, - (u8 *)&handshake, 1); - pr_debug("handshake from read_dpram16 = 0x%x\n", - handshake); - if (ft1000dev->dspalive == ft1000dev->tempbuf[6]) { - handshake = 0; - } else { - handshake = ft1000dev->tempbuf[1]; - ft1000dev->dspalive = - ft1000dev->tempbuf[6]; - } - } else { - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_HANDSHAKE_LOC, - (u8 *)&handshake, 1); - } - - loopcnt++; - usleep_range(10000, 11000); - handshake = ntohs(handshake); - if ((handshake == expected_value) || - (handshake == HANDSHAKE_RESET_VALUE_USB)) - return handshake; - } - - return HANDSHAKE_TIMEOUT_VALUE; -} - -static void put_handshake_usb(struct ft1000_usb *ft1000dev, u16 handshake_value) -{ - int i; - - for (i = 0; i < 1000; i++) - ; -} - -static u16 get_request_type(struct ft1000_usb *ft1000dev) -{ - u16 request_type; - int status; - u16 tempword; - u32 tempx; - - if (ft1000dev->bootmode == 1) { - status = fix_ft1000_read_dpram32(ft1000dev, - DWNLD_MAG1_TYPE_LOC, - (u8 *)&tempx); - tempx = ntohl(tempx); - } else { - tempx = 0; - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_TYPE_LOC, - (u8 *)&tempword, 1); - tempx |= (tempword << 16); - tempx = ntohl(tempx); - } - request_type = (u16)tempx; - - return request_type; -} - -static u16 get_request_type_usb(struct ft1000_usb *ft1000dev) -{ - u16 request_type; - int status; - u16 tempword; - u32 tempx; - - if (ft1000dev->bootmode == 1) { - status = fix_ft1000_read_dpram32(ft1000dev, - DWNLD_MAG1_TYPE_LOC, - (u8 *)&tempx); - tempx = ntohl(tempx); - } else { - if (ft1000dev->usbboot == 2) { - tempx = ft1000dev->tempbuf[2]; - tempword = ft1000dev->tempbuf[3]; - } else { - tempx = 0; - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_TYPE_LOC, - (u8 *)&tempword, 1); - } - tempx |= (tempword << 16); - tempx = ntohl(tempx); - } - request_type = (u16)tempx; - - return request_type; -} - -static long get_request_value(struct ft1000_usb *ft1000dev) -{ - u32 value; - u16 tempword; - int status; - - if (ft1000dev->bootmode == 1) { - status = fix_ft1000_read_dpram32(ft1000dev, - DWNLD_MAG1_SIZE_LOC, - (u8 *)&value); - value = ntohl(value); - } else { - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_SIZE_LOC, - (u8 *)&tempword, 0); - value = tempword; - status = ft1000_read_dpram16(ft1000dev, - DWNLD_MAG1_SIZE_LOC, - (u8 *)&tempword, 1); - value |= (tempword << 16); - value = ntohl(value); - } - - return value; -} - - -/* writes a value to DWNLD_MAG1_SIZE_LOC */ -static void put_request_value(struct ft1000_usb *ft1000dev, long lvalue) -{ - u32 tempx; - int status; - - tempx = ntohl(lvalue); - status = fix_ft1000_write_dpram32(ft1000dev, DWNLD_MAG1_SIZE_LOC, - (u8 *)&tempx); -} - - - -/* returns the checksum of the pseudo header */ -static u16 hdr_checksum(struct pseudo_hdr *pHdr) -{ - u16 *usPtr = (u16 *)pHdr; - u16 chksum; - - - chksum = (((((usPtr[0] ^ usPtr[1]) ^ usPtr[2]) ^ usPtr[3]) ^ - usPtr[4]) ^ usPtr[5]) ^ usPtr[6]; - - return chksum; -} - -static int check_buffers(u16 *buff_w, u16 *buff_r, int len, int offset) -{ - int i; - - for (i = 0; i < len; i++) { - if (buff_w[i] != buff_r[i + offset]) - return -EREMOTEIO; - } - - return 0; -} - -static int write_dpram32_and_check(struct ft1000_usb *ft1000dev, - u16 tempbuffer[], u16 dpram) -{ - int status; - u16 resultbuffer[64]; - int i; - - for (i = 0; i < 10; i++) { - status = ft1000_write_dpram32(ft1000dev, dpram, - (u8 *)&tempbuffer[0], 64); - if (status == 0) { - /* Work around for ASIC bit stuffing problem. */ - if ((tempbuffer[31] & 0xfe00) == 0xfe00) { - status = ft1000_write_dpram32(ft1000dev, - dpram+12, (u8 *)&tempbuffer[24], - 64); - } - /* Let's check the data written */ - status = ft1000_read_dpram32(ft1000dev, dpram, - (u8 *)&resultbuffer[0], 64); - if ((tempbuffer[31] & 0xfe00) == 0xfe00) { - if (check_buffers(tempbuffer, resultbuffer, 28, - 0)) { - pr_debug("DPRAM write failed 1 during bootloading\n"); - usleep_range(9000, 11000); - break; - } - status = ft1000_read_dpram32(ft1000dev, - dpram+12, - (u8 *)&resultbuffer[0], 64); - - if (check_buffers(tempbuffer, resultbuffer, 16, - 24)) { - pr_debug("DPRAM write failed 2 during bootloading\n"); - usleep_range(9000, 11000); - break; - } - } else { - if (check_buffers(tempbuffer, resultbuffer, 32, - 0)) { - pr_debug("DPRAM write failed 3 during bootloading\n"); - usleep_range(9000, 11000); - break; - } - } - if (status == 0) - break; - } - } - return status; -} - -/* writes a block of DSP image to DPRAM - * Parameters: struct ft1000_usb - device structure - * u16 **pUsFile - DSP image file pointer in u16 - * u8 **pUcFile - DSP image file pointer in u8 - * long word_length - length of the buffer to be written to DPRAM - */ -static int write_blk(struct ft1000_usb *ft1000dev, u16 **pUsFile, u8 **pUcFile, - long word_length) -{ - int status = 0; - u16 dpram; - int loopcnt, i; - u16 tempword; - u16 tempbuffer[64]; - - /*pr_debug("start word_length = %d\n",(int)word_length); */ - dpram = (u16)DWNLD_MAG1_PS_HDR_LOC; - tempword = *(*pUsFile); - (*pUsFile)++; - status = ft1000_write_dpram16(ft1000dev, dpram, tempword, 0); - tempword = *(*pUsFile); - (*pUsFile)++; - status = ft1000_write_dpram16(ft1000dev, dpram++, tempword, 1); - - *pUcFile = *pUcFile + 4; - word_length--; - tempword = (u16)word_length; - word_length = (word_length / 16) + 1; - for (; word_length > 0; word_length--) { /* In words */ - loopcnt = 0; - for (i = 0; i < 32; i++) { - if (tempword != 0) { - tempbuffer[i++] = *(*pUsFile); - (*pUsFile)++; - tempbuffer[i] = *(*pUsFile); - (*pUsFile)++; - *pUcFile = *pUcFile + 4; - loopcnt++; - tempword--; - } else { - tempbuffer[i++] = 0; - tempbuffer[i] = 0; - } - } - - /*pr_debug("loopcnt is %d\n", loopcnt); */ - /*pr_debug("write_blk: bootmode = %d\n", bootmode); */ - /*pr_debug("write_blk: dpram = %x\n", dpram); */ - if (ft1000dev->bootmode == 0) { - if (dpram >= 0x3F4) - status = ft1000_write_dpram32(ft1000dev, dpram, - (u8 *)&tempbuffer[0], 8); - else - status = ft1000_write_dpram32(ft1000dev, dpram, - (u8 *)&tempbuffer[0], 64); - } else { - status = write_dpram32_and_check(ft1000dev, tempbuffer, - dpram); - if (status != 0) { - pr_debug("Write failed tempbuffer[31] = 0x%x\n", - tempbuffer[31]); - break; - } - } - dpram = dpram + loopcnt; - } - return status; -} - -static void usb_dnld_complete(struct urb *urb) -{ - /* pr_debug("****** usb_dnld_complete\n"); */ -} - -/* writes a block of DSP image to DPRAM - * Parameters: struct ft1000_usb - device structure - * u16 **pUsFile - DSP image file pointer in u16 - * u8 **pUcFile - DSP image file pointer in u8 - * long word_length - length of the buffer to be written to DPRAM - */ -static int write_blk_fifo(struct ft1000_usb *ft1000dev, u16 **pUsFile, - u8 **pUcFile, long word_length) -{ - int byte_length; - - byte_length = word_length * 4; - - if (byte_length && ((byte_length % 64) == 0)) - byte_length += 4; - - if (byte_length < 64) - byte_length = 68; - - usb_init_urb(ft1000dev->tx_urb); - memcpy(ft1000dev->tx_buf, *pUcFile, byte_length); - usb_fill_bulk_urb(ft1000dev->tx_urb, - ft1000dev->dev, - usb_sndbulkpipe(ft1000dev->dev, - ft1000dev->bulk_out_endpointAddr), - ft1000dev->tx_buf, byte_length, usb_dnld_complete, - ft1000dev); - - usb_submit_urb(ft1000dev->tx_urb, GFP_ATOMIC); - - *pUsFile = *pUsFile + (word_length << 1); - *pUcFile = *pUcFile + (word_length << 2); - - return 0; -} - -static int scram_start_dwnld(struct ft1000_usb *ft1000dev, u16 *hshake, - u32 *state) -{ - int status = 0; - - if (ft1000dev->usbboot) - *hshake = get_handshake_usb(ft1000dev, HANDSHAKE_DSP_BL_READY); - else - *hshake = get_handshake(ft1000dev, HANDSHAKE_DSP_BL_READY); - if (*hshake == HANDSHAKE_DSP_BL_READY) { - pr_debug("handshake is HANDSHAKE_DSP_BL_READY, call put_handshake(HANDSHAKE_DRIVER_READY)\n"); - put_handshake(ft1000dev, HANDSHAKE_DRIVER_READY); - } else if (*hshake == HANDSHAKE_TIMEOUT_VALUE) { - status = -ETIMEDOUT; - } else { - pr_debug("Download error: Handshake failed\n"); - status = -ENETRESET; - } - *state = STATE_BOOT_DWNLD; - return status; -} - -static int request_code_segment(struct ft1000_usb *ft1000dev, u16 **s_file, - u8 **c_file, const u8 *endpoint, bool boot_case) -{ - long word_length; - int status = 0; - - word_length = get_request_value(ft1000dev); - /*pr_debug("word_length = 0x%x\n", (int)word_length); */ - /*NdisMSleep (100); */ - if (word_length > MAX_LENGTH) { - pr_debug("Download error: Max length exceeded\n"); - return -1; - } - if ((word_length * 2 + (long)c_file) > (long)endpoint) { - /* Error, beyond boot code range.*/ - pr_debug("Download error: Requested len=%d exceeds BOOT code boundary\n", - (int)word_length); - return -1; - } - if (word_length & 0x1) - word_length++; - word_length = word_length / 2; - - if (boot_case) { - status = write_blk(ft1000dev, s_file, c_file, word_length); - /*pr_debug("write_blk returned %d\n", status); */ - } else { - status = write_blk_fifo(ft1000dev, s_file, c_file, word_length); - if (ft1000dev->usbboot == 0) - ft1000dev->usbboot++; - if (ft1000dev->usbboot == 1) - status |= ft1000_write_dpram16(ft1000dev, - DWNLD_MAG1_PS_HDR_LOC, 0, 0); - } - return status; -} - -/* Scramble downloader for Harley based ASIC via USB interface */ -int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart, - u32 FileLength) -{ - int status = 0; - u32 state; - u16 handshake; - struct pseudo_hdr *pseudo_header; - u16 pseudo_header_len; - long word_length; - u16 request; - u16 temp; - - struct dsp_file_hdr *file_hdr; - struct dsp_image_info *dsp_img_info = NULL; - long requested_version; - bool correct_version; - struct drv_msg *mailbox_data; - u16 *data = NULL; - u16 *s_file = NULL; - u8 *c_file = NULL; - u8 *boot_end = NULL, *code_end = NULL; - int image; - long loader_code_address, loader_code_size = 0; - long run_address = 0, run_size = 0; - - u32 templong; - u32 image_chksum = 0; - - u16 dpram = 0; - u8 *pbuffer; - struct prov_record *pprov_record; - struct ft1000_info *pft1000info = netdev_priv(ft1000dev->net); - - ft1000dev->fcodeldr = 0; - ft1000dev->usbboot = 0; - ft1000dev->dspalive = 0xffff; - - /* - * Get version id of file, at first 4 bytes of file, for newer files. - */ - - state = STATE_START_DWNLD; - - file_hdr = pFileStart; - - ft1000_write_register(ft1000dev, 0x800, FT1000_REG_MAG_WATERMARK); - - s_file = (u16 *) (pFileStart + file_hdr->loader_offset); - c_file = (u8 *) (pFileStart + file_hdr->loader_offset); - - boot_end = (u8 *) (pFileStart + file_hdr->loader_code_end); - - loader_code_address = file_hdr->loader_code_address; - loader_code_size = file_hdr->loader_code_size; - correct_version = false; - - while ((status == 0) && (state != STATE_DONE_FILE)) { - switch (state) { - case STATE_START_DWNLD: - status = scram_start_dwnld(ft1000dev, &handshake, - &state); - break; - - case STATE_BOOT_DWNLD: - pr_debug("STATE_BOOT_DWNLD\n"); - ft1000dev->bootmode = 1; - handshake = get_handshake(ft1000dev, HANDSHAKE_REQUEST); - if (handshake == HANDSHAKE_REQUEST) { - /* - * Get type associated with the request. - */ - request = get_request_type(ft1000dev); - switch (request) { - case REQUEST_RUN_ADDRESS: - pr_debug("REQUEST_RUN_ADDRESS\n"); - put_request_value(ft1000dev, - loader_code_address); - break; - case REQUEST_CODE_LENGTH: - pr_debug("REQUEST_CODE_LENGTH\n"); - put_request_value(ft1000dev, - loader_code_size); - break; - case REQUEST_DONE_BL: - pr_debug("REQUEST_DONE_BL\n"); - /* Reposition ptrs to beginning of code section */ - s_file = (u16 *) (boot_end); - c_file = (u8 *) (boot_end); - /* pr_debug("download:s_file = 0x%8x\n", (int)s_file); */ - /* pr_debug("FT1000:download:c_file = 0x%8x\n", (int)c_file); */ - state = STATE_CODE_DWNLD; - ft1000dev->fcodeldr = 1; - break; - case REQUEST_CODE_SEGMENT: - status = request_code_segment(ft1000dev, - &s_file, &c_file, - boot_end, - true); - break; - default: - pr_debug("Download error: Bad request type=%d in BOOT download state\n", - request); - status = -1; - break; - } - if (ft1000dev->usbboot) - put_handshake_usb(ft1000dev, - HANDSHAKE_RESPONSE); - else - put_handshake(ft1000dev, - HANDSHAKE_RESPONSE); - } else { - pr_debug("Download error: Handshake failed\n"); - status = -1; - } - - break; - - case STATE_CODE_DWNLD: - /* pr_debug("STATE_CODE_DWNLD\n"); */ - ft1000dev->bootmode = 0; - if (ft1000dev->usbboot) - handshake = - get_handshake_usb(ft1000dev, - HANDSHAKE_REQUEST); - else - handshake = - get_handshake(ft1000dev, HANDSHAKE_REQUEST); - if (handshake == HANDSHAKE_REQUEST) { - /* - * Get type associated with the request. - */ - if (ft1000dev->usbboot) - request = - get_request_type_usb(ft1000dev); - else - request = get_request_type(ft1000dev); - switch (request) { - case REQUEST_FILE_CHECKSUM: - pr_debug("image_chksum = 0x%8x\n", - image_chksum); - put_request_value(ft1000dev, - image_chksum); - break; - case REQUEST_RUN_ADDRESS: - pr_debug("REQUEST_RUN_ADDRESS\n"); - if (correct_version) { - pr_debug("run_address = 0x%8x\n", - (int)run_address); - put_request_value(ft1000dev, - run_address); - } else { - pr_debug("Download error: Got Run address request before image offset request\n"); - status = -1; - break; - } - break; - case REQUEST_CODE_LENGTH: - pr_debug("REQUEST_CODE_LENGTH\n"); - if (correct_version) { - pr_debug("run_size = 0x%8x\n", - (int)run_size); - put_request_value(ft1000dev, - run_size); - } else { - pr_debug("Download error: Got Size request before image offset request\n"); - status = -1; - break; - } - break; - case REQUEST_DONE_CL: - ft1000dev->usbboot = 3; - /* Reposition ptrs to beginning of provisioning section */ - s_file = - (u16 *) (pFileStart + - file_hdr->commands_offset); - c_file = - (u8 *) (pFileStart + - file_hdr->commands_offset); - state = STATE_DONE_DWNLD; - break; - case REQUEST_CODE_SEGMENT: - /* pr_debug("REQUEST_CODE_SEGMENT - CODELOADER\n"); */ - if (!correct_version) { - pr_debug("Download error: Got Code Segment request before image offset request\n"); - status = -1; - break; - } - - status = request_code_segment(ft1000dev, - &s_file, &c_file, - code_end, - false); - - break; - - case REQUEST_MAILBOX_DATA: - pr_debug("REQUEST_MAILBOX_DATA\n"); - /* Convert length from byte count to word count. Make sure we round up. */ - word_length = - (long)(pft1000info->DSPInfoBlklen + - 1) / 2; - put_request_value(ft1000dev, - word_length); - mailbox_data = - (struct drv_msg *)&(pft1000info-> - DSPInfoBlk[0]); - /* - * Position ASIC DPRAM auto-increment pointer. - */ - - data = (u16 *)&mailbox_data->data[0]; - dpram = (u16)DWNLD_MAG1_PS_HDR_LOC; - if (word_length & 0x1) - word_length++; - - word_length = word_length / 2; - - for (; word_length > 0; word_length--) { /* In words */ - - templong = *data++; - templong |= (*data++ << 16); - status = - fix_ft1000_write_dpram32 - (ft1000dev, dpram++, - (u8 *)&templong); - - } - break; - - case REQUEST_VERSION_INFO: - pr_debug("REQUEST_VERSION_INFO\n"); - word_length = - file_hdr->version_data_size; - put_request_value(ft1000dev, - word_length); - /* - * Position ASIC DPRAM auto-increment pointer. - */ - - s_file = - (u16 *) (pFileStart + - file_hdr-> - version_data_offset); - - dpram = (u16)DWNLD_MAG1_PS_HDR_LOC; - if (word_length & 0x1) - word_length++; - - word_length = word_length / 2; - - for (; word_length > 0; word_length--) { /* In words */ - - templong = ntohs(*s_file++); - temp = ntohs(*s_file++); - templong |= (temp << 16); - status = - fix_ft1000_write_dpram32 - (ft1000dev, dpram++, - (u8 *)&templong); - - } - break; - - case REQUEST_CODE_BY_VERSION: - pr_debug("REQUEST_CODE_BY_VERSION\n"); - correct_version = false; - requested_version = - get_request_value(ft1000dev); - - dsp_img_info = - (struct dsp_image_info *)(pFileStart - + - sizeof - (struct - dsp_file_hdr)); - - for (image = 0; - image < file_hdr->nDspImages; - image++) { - - if (dsp_img_info->version == - requested_version) { - correct_version = true; - pr_debug("correct_version is TRUE\n"); - s_file = - (u16 *) (pFileStart - + - dsp_img_info-> - begin_offset); - c_file = - (u8 *) (pFileStart + - dsp_img_info-> - begin_offset); - code_end = - (u8 *) (pFileStart + - dsp_img_info-> - end_offset); - run_address = - dsp_img_info-> - run_address; - run_size = - dsp_img_info-> - image_size; - image_chksum = - (u32)dsp_img_info-> - checksum; - break; - } - dsp_img_info++; - - } /* end of for */ - - if (!correct_version) { - /* - * Error, beyond boot code range. - */ - pr_debug("Download error: Bad Version Request = 0x%x.\n", - (int)requested_version); - status = -1; - break; - } - break; - - default: - pr_debug("Download error: Bad request type=%d in CODE download state.\n", - request); - status = -1; - break; - } - if (ft1000dev->usbboot) - put_handshake_usb(ft1000dev, - HANDSHAKE_RESPONSE); - else - put_handshake(ft1000dev, - HANDSHAKE_RESPONSE); - } else { - pr_debug("Download error: Handshake failed\n"); - status = -1; - } - - break; - - case STATE_DONE_DWNLD: - pr_debug("Code loader is done...\n"); - state = STATE_SECTION_PROV; - break; - - case STATE_SECTION_PROV: - pr_debug("STATE_SECTION_PROV\n"); - pseudo_header = (struct pseudo_hdr *)c_file; - - if (pseudo_header->checksum == - hdr_checksum(pseudo_header)) { - if (pseudo_header->portdest != - 0x80 /* Dsp OAM */) { - state = STATE_DONE_PROV; - break; - } - pseudo_header_len = ntohs(pseudo_header->length); /* Byte length for PROV records */ - - /* Get buffer for provisioning data */ - pbuffer = - kmalloc(pseudo_header_len + - sizeof(struct pseudo_hdr), - GFP_ATOMIC); - if (pbuffer) { - memcpy(pbuffer, c_file, - (u32) (pseudo_header_len + - sizeof(struct - pseudo_hdr))); - /* link provisioning data */ - pprov_record = - kmalloc(sizeof(struct prov_record), - GFP_ATOMIC); - if (pprov_record) { - pprov_record->pprov_data = - pbuffer; - list_add_tail(&pprov_record-> - list, - &pft1000info-> - prov_list); - /* Move to next entry if available */ - c_file = - (u8 *) ((unsigned long) - c_file + - (u32) ((pseudo_header_len + 1) & 0xFFFFFFFE) + sizeof(struct pseudo_hdr)); - if ((unsigned long)(c_file) - - (unsigned long)(pFileStart) - >= - (unsigned long)FileLength) { - state = STATE_DONE_FILE; - } - } else { - kfree(pbuffer); - status = -1; - } - } else { - status = -1; - } - } else { - /* Checksum did not compute */ - status = -1; - } - pr_debug("after STATE_SECTION_PROV, state = %d, status= %d\n", - state, status); - break; - - case STATE_DONE_PROV: - pr_debug("STATE_DONE_PROV\n"); - state = STATE_DONE_FILE; - break; - - default: - status = -1; - break; - } /* End Switch */ - - if (status != 0) - break; - -/**** - // Check if Card is present - status = Harley_Read_Register(&temp, FT1000_REG_SUP_IMASK); - if ( (status != NDIS_STATUS_SUCCESS) || (temp == 0x0000) ) { - break; - } - - status = Harley_Read_Register(&temp, FT1000_REG_ASIC_ID); - if ( (status != NDIS_STATUS_SUCCESS) || (temp == 0xffff) ) { - break; - } -****/ - - } /* End while */ - - pr_debug("Download exiting with status = 0x%8x\n", status); - ft1000_write_register(ft1000dev, FT1000_DB_DNLD_TX, - FT1000_REG_DOORBELL); - - return status; -} diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c deleted file mode 100644 index 9ea32cea2c03..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c +++ /dev/null @@ -1,1586 +0,0 @@ -/* CopyRight (C) 2007 Qualcomm Inc. All Rights Reserved. - * - * - * This file is part of Express Card USB Driver - */ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#include -#include -#include -#include -#include -#include "ft1000_usb.h" -#include - -#define HARLEY_READ_REGISTER 0x0 -#define HARLEY_WRITE_REGISTER 0x01 -#define HARLEY_READ_DPRAM_32 0x02 -#define HARLEY_READ_DPRAM_LOW 0x03 -#define HARLEY_READ_DPRAM_HIGH 0x04 -#define HARLEY_WRITE_DPRAM_32 0x05 -#define HARLEY_WRITE_DPRAM_LOW 0x06 -#define HARLEY_WRITE_DPRAM_HIGH 0x07 - -#define HARLEY_READ_OPERATION 0xc1 -#define HARLEY_WRITE_OPERATION 0x41 - -#if 0 -#define JDEBUG -#endif - -static int ft1000_submit_rx_urb(struct ft1000_info *info); - -static u8 tempbuffer[1600]; - -#define MAX_RCV_LOOP 100 - -/* send a control message via USB interface synchronously - * Parameters: ft1000_usb - device structure - * pipe - usb control message pipe - * request - control request - * requesttype - control message request type - * value - value to be written or 0 - * index - register index - * data - data buffer to hold the read/write values - * size - data size - * timeout - control message time out value - */ -static int ft1000_control(struct ft1000_usb *ft1000dev, unsigned int pipe, - u8 request, u8 requesttype, u16 value, u16 index, - void *data, u16 size, int timeout) -{ - int ret; - - if ((ft1000dev == NULL) || (ft1000dev->dev == NULL)) { - pr_debug("ft1000dev or ft1000dev->dev == NULL, failure\n"); - return -ENODEV; - } - - ret = usb_control_msg(ft1000dev->dev, pipe, request, requesttype, - value, index, data, size, timeout); - - if (ret > 0) - ret = 0; - - return ret; -} - -/* returns the value in a register */ -int ft1000_read_register(struct ft1000_usb *ft1000dev, u16 *Data, - u16 nRegIndx) -{ - int ret = 0; - - ret = ft1000_control(ft1000dev, - usb_rcvctrlpipe(ft1000dev->dev, 0), - HARLEY_READ_REGISTER, - HARLEY_READ_OPERATION, - 0, - nRegIndx, - Data, - 2, - USB_CTRL_GET_TIMEOUT); - - return ret; -} - -/* writes the value in a register */ -int ft1000_write_register(struct ft1000_usb *ft1000dev, u16 value, - u16 nRegIndx) -{ - int ret = 0; - - ret = ft1000_control(ft1000dev, - usb_sndctrlpipe(ft1000dev->dev, 0), - HARLEY_WRITE_REGISTER, - HARLEY_WRITE_OPERATION, - value, - nRegIndx, - NULL, - 0, - USB_CTRL_SET_TIMEOUT); - - return ret; -} - -/* read a number of bytes from DPRAM */ -int ft1000_read_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer, - u16 cnt) -{ - int ret = 0; - - ret = ft1000_control(ft1000dev, - usb_rcvctrlpipe(ft1000dev->dev, 0), - HARLEY_READ_DPRAM_32, - HARLEY_READ_OPERATION, - 0, - indx, - buffer, - cnt, - USB_CTRL_GET_TIMEOUT); - - return ret; -} - -/* writes into DPRAM a number of bytes */ -int ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer, - u16 cnt) -{ - int ret = 0; - - if (cnt % 4) - cnt += cnt - (cnt % 4); - - ret = ft1000_control(ft1000dev, - usb_sndctrlpipe(ft1000dev->dev, 0), - HARLEY_WRITE_DPRAM_32, - HARLEY_WRITE_OPERATION, - 0, - indx, - buffer, - cnt, - USB_CTRL_SET_TIMEOUT); - - return ret; -} - -/* read 16 bits from DPRAM */ -int ft1000_read_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer, - u8 highlow) -{ - int ret = 0; - u8 request; - - if (highlow == 0) - request = HARLEY_READ_DPRAM_LOW; - else - request = HARLEY_READ_DPRAM_HIGH; - - ret = ft1000_control(ft1000dev, - usb_rcvctrlpipe(ft1000dev->dev, 0), - request, - HARLEY_READ_OPERATION, - 0, - indx, - buffer, - 2, - USB_CTRL_GET_TIMEOUT); - - return ret; -} - -/* write into DPRAM a number of bytes */ -int ft1000_write_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u16 value, - u8 highlow) -{ - int ret = 0; - u8 request; - - if (highlow == 0) - request = HARLEY_WRITE_DPRAM_LOW; - else - request = HARLEY_WRITE_DPRAM_HIGH; - - ret = ft1000_control(ft1000dev, - usb_sndctrlpipe(ft1000dev->dev, 0), - request, - HARLEY_WRITE_OPERATION, - value, - indx, - NULL, - 0, - USB_CTRL_SET_TIMEOUT); - - return ret; -} - -/* read DPRAM 4 words at a time */ -int fix_ft1000_read_dpram32(struct ft1000_usb *ft1000dev, u16 indx, - u8 *buffer) -{ - u8 buf[16]; - u16 pos; - int ret = 0; - - pos = (indx / 4) * 4; - ret = ft1000_read_dpram32(ft1000dev, pos, buf, 16); - - if (ret == 0) { - pos = (indx % 4) * 4; - *buffer++ = buf[pos++]; - *buffer++ = buf[pos++]; - *buffer++ = buf[pos++]; - *buffer++ = buf[pos++]; - } else { - pr_debug("DPRAM32 Read failed\n"); - *buffer++ = 0; - *buffer++ = 0; - *buffer++ = 0; - *buffer++ = 0; - } - - return ret; -} - - -/* Description: This function write to DPRAM 4 words at a time */ -int fix_ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer) -{ - u16 pos1; - u16 pos2; - u16 i; - u8 buf[32]; - u8 resultbuffer[32]; - u8 *pdata; - int ret = 0; - - pos1 = (indx / 4) * 4; - pdata = buffer; - ret = ft1000_read_dpram32(ft1000dev, pos1, buf, 16); - - if (ret == 0) { - pos2 = (indx % 4)*4; - buf[pos2++] = *buffer++; - buf[pos2++] = *buffer++; - buf[pos2++] = *buffer++; - buf[pos2++] = *buffer++; - ret = ft1000_write_dpram32(ft1000dev, pos1, buf, 16); - } else { - pr_debug("DPRAM32 Read failed\n"); - return ret; - } - - ret = ft1000_read_dpram32(ft1000dev, pos1, (u8 *)&resultbuffer[0], 16); - - if (ret == 0) { - buffer = pdata; - for (i = 0; i < 16; i++) { - if (buf[i] != resultbuffer[i]) - ret = -1; - } - } - - if (ret == -1) { - ret = ft1000_write_dpram32(ft1000dev, pos1, - (u8 *)&tempbuffer[0], 16); - ret = ft1000_read_dpram32(ft1000dev, pos1, - (u8 *)&resultbuffer[0], 16); - if (ret == 0) { - buffer = pdata; - for (i = 0; i < 16; i++) { - if (tempbuffer[i] != resultbuffer[i]) { - ret = -1; - pr_debug("Failed to write\n"); - } - } - } - } - - return ret; -} - -/* reset or activate the DSP */ -static void card_reset_dsp(struct ft1000_usb *ft1000dev, bool value) -{ - int status = 0; - u16 tempword; - - status = ft1000_write_register(ft1000dev, HOST_INTF_BE, - FT1000_REG_SUP_CTRL); - status = ft1000_read_register(ft1000dev, &tempword, - FT1000_REG_SUP_CTRL); - - if (value) { - pr_debug("Reset DSP\n"); - status = ft1000_read_register(ft1000dev, &tempword, - FT1000_REG_RESET); - tempword |= DSP_RESET_BIT; - status = ft1000_write_register(ft1000dev, tempword, - FT1000_REG_RESET); - } else { - pr_debug("Activate DSP\n"); - status = ft1000_read_register(ft1000dev, &tempword, - FT1000_REG_RESET); - tempword |= DSP_ENCRYPTED; - tempword &= ~DSP_UNENCRYPTED; - status = ft1000_write_register(ft1000dev, tempword, - FT1000_REG_RESET); - status = ft1000_read_register(ft1000dev, &tempword, - FT1000_REG_RESET); - tempword &= ~EFUSE_MEM_DISABLE; - tempword &= ~DSP_RESET_BIT; - status = ft1000_write_register(ft1000dev, tempword, - FT1000_REG_RESET); - status = ft1000_read_register(ft1000dev, &tempword, - FT1000_REG_RESET); - } -} - -/* send a command to ASIC - * Parameters: ft1000_usb - device structure - * ptempbuffer - command buffer - * size - command buffer size - */ -int card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer, - int size) -{ - int ret; - unsigned short temp; - unsigned char *commandbuf; - - pr_debug("enter card_send_command... size=%d\n", size); - - ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL); - if (ret) - return ret; - - commandbuf = kmalloc(size + 2, GFP_KERNEL); - if (!commandbuf) - return -ENOMEM; - memcpy((void *)commandbuf + 2, ptempbuffer, size); - - if (temp & 0x0100) - usleep_range(900, 1100); - - /* check for odd word */ - size = size + 2; - - /* Must force to be 32 bit aligned */ - if (size % 4) - size += 4 - (size % 4); - - ret = ft1000_write_dpram32(ft1000dev, 0, commandbuf, size); - if (ret) - return ret; - usleep_range(900, 1100); - ret = ft1000_write_register(ft1000dev, FT1000_DB_DPRAM_TX, - FT1000_REG_DOORBELL); - if (ret) - return ret; - usleep_range(900, 1100); - - ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL); - -#if 0 - if ((temp & 0x0100) == 0) - pr_debug("Message sent\n"); -#endif - return ret; -} - -/* load or reload the DSP */ -int dsp_reload(struct ft1000_usb *ft1000dev) -{ - int status; - u16 tempword; - u32 templong; - - struct ft1000_info *pft1000info; - - pft1000info = netdev_priv(ft1000dev->net); - - pft1000info->CardReady = 0; - - /* Program Interrupt Mask register */ - status = ft1000_write_register(ft1000dev, 0xffff, FT1000_REG_SUP_IMASK); - - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_RESET); - tempword |= ASIC_RESET_BIT; - status = ft1000_write_register(ft1000dev, tempword, FT1000_REG_RESET); - msleep(1000); - status = ft1000_read_register(ft1000dev, &tempword, FT1000_REG_RESET); - pr_debug("Reset Register = 0x%x\n", tempword); - - /* Toggle DSP reset */ - card_reset_dsp(ft1000dev, 1); - msleep(1000); - card_reset_dsp(ft1000dev, 0); - msleep(1000); - - status = ft1000_write_register(ft1000dev, HOST_INTF_BE, - FT1000_REG_SUP_CTRL); - - /* Let's check for FEFE */ - status = - ft1000_read_dpram32(ft1000dev, FT1000_MAG_DPRAM_FEFE_INDX, - (u8 *)&templong, 4); - pr_debug("templong (fefe) = 0x%8x\n", templong); - - /* call codeloader */ - status = scram_dnldr(ft1000dev, pFileStart, FileLength); - - if (status != 0) - return -EIO; - - msleep(1000); - - return 0; -} - -/* call the Card Service function to reset the ASIC. */ -static void ft1000_reset_asic(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - struct ft1000_usb *ft1000dev = info->priv; - u16 tempword; - - /* Let's use the register provided by the Magnemite ASIC to reset the - * ASIC and DSP. - */ - ft1000_write_register(ft1000dev, DSP_RESET_BIT | ASIC_RESET_BIT, - FT1000_REG_RESET); - - mdelay(1); - - /* set watermark to -1 in order to not generate an interrupt */ - ft1000_write_register(ft1000dev, 0xffff, FT1000_REG_MAG_WATERMARK); - - /* clear interrupts */ - ft1000_read_register(ft1000dev, &tempword, FT1000_REG_SUP_ISR); - pr_debug("interrupt status register = 0x%x\n", tempword); - ft1000_write_register(ft1000dev, tempword, FT1000_REG_SUP_ISR); - ft1000_read_register(ft1000dev, &tempword, FT1000_REG_SUP_ISR); - pr_debug("interrupt status register = 0x%x\n", tempword); -} - -static int ft1000_reset_card(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - struct ft1000_usb *ft1000dev = info->priv; - u16 tempword; - struct prov_record *ptr; - struct prov_record *tmp; - - ft1000dev->fCondResetPend = true; - info->CardReady = 0; - ft1000dev->fProvComplete = false; - - /* Make sure we free any memory reserve for provisioning */ - list_for_each_entry_safe(ptr, tmp, &info->prov_list, list) { - pr_debug("deleting provisioning record\n"); - list_del(&ptr->list); - kfree(ptr->pprov_data); - kfree(ptr); - } - - pr_debug("reset asic\n"); - ft1000_reset_asic(dev); - - pr_debug("call dsp_reload\n"); - dsp_reload(ft1000dev); - - pr_debug("dsp reload successful\n"); - - mdelay(10); - - /* Initialize DSP heartbeat area */ - ft1000_write_dpram16(ft1000dev, FT1000_MAG_HI_HO, ho_mag, - FT1000_MAG_HI_HO_INDX); - ft1000_read_dpram16(ft1000dev, FT1000_MAG_HI_HO, (u8 *)&tempword, - FT1000_MAG_HI_HO_INDX); - pr_debug("hi_ho value = 0x%x\n", tempword); - - info->CardReady = 1; - - ft1000dev->fCondResetPend = false; - - return TRUE; -} - -/* callback function when a urb is transmitted */ -static void ft1000_usb_transmit_complete(struct urb *urb) -{ - - struct ft1000_usb *ft1000dev = urb->context; - - if (urb->status) - pr_err("%s: TX status %d\n", ft1000dev->net->name, urb->status); - - netif_wake_queue(ft1000dev->net); -} - -/* take an ethernet packet and convert it to a Flarion - * packet prior to sending it to the ASIC Downlink FIFO. - */ -static int ft1000_copy_down_pkt(struct net_device *netdev, u8 *packet, u16 len) -{ - struct ft1000_info *pInfo = netdev_priv(netdev); - struct ft1000_usb *pFt1000Dev = pInfo->priv; - - int count, ret; - u8 *t; - struct pseudo_hdr hdr; - - if (!pInfo->CardReady) { - pr_debug("Card Not Ready\n"); - return -ENODEV; - } - - count = sizeof(struct pseudo_hdr) + len; - if (count > MAX_BUF_SIZE) { - pr_debug("Message Size Overflow! size = %d\n", count); - return -EINVAL; - } - - if (count % 4) - count = count + (4 - (count % 4)); - - memset(&hdr, 0, sizeof(struct pseudo_hdr)); - - hdr.length = ntohs(count); - hdr.source = 0x10; - hdr.destination = 0x20; - hdr.portdest = 0x20; - hdr.portsrc = 0x10; - hdr.sh_str_id = 0x91; - hdr.control = 0x00; - - hdr.checksum = hdr.length ^ hdr.source ^ hdr.destination ^ - hdr.portdest ^ hdr.portsrc ^ hdr.sh_str_id ^ hdr.control; - - memcpy(&pFt1000Dev->tx_buf[0], &hdr, sizeof(hdr)); - memcpy(&pFt1000Dev->tx_buf[sizeof(struct pseudo_hdr)], packet, len); - - netif_stop_queue(netdev); - - usb_fill_bulk_urb(pFt1000Dev->tx_urb, - pFt1000Dev->dev, - usb_sndbulkpipe(pFt1000Dev->dev, - pFt1000Dev->bulk_out_endpointAddr), - pFt1000Dev->tx_buf, count, - ft1000_usb_transmit_complete, pFt1000Dev); - - t = (u8 *)pFt1000Dev->tx_urb->transfer_buffer; - - ret = usb_submit_urb(pFt1000Dev->tx_urb, GFP_ATOMIC); - - if (ret) { - pr_debug("failed tx_urb %d\n", ret); - return ret; - } - pInfo->stats.tx_packets++; - pInfo->stats.tx_bytes += (len + 14); - - return 0; -} - -/* transmit an ethernet packet - * Parameters: skb - socket buffer to be sent - * dev - network device - */ -static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev) -{ - struct ft1000_info *pInfo = netdev_priv(dev); - struct ft1000_usb *pFt1000Dev = pInfo->priv; - u8 *pdata; - int maxlen, pipe; - - if (skb == NULL) { - pr_debug("skb == NULL!!!\n"); - return NETDEV_TX_OK; - } - - if (pFt1000Dev->status & FT1000_STATUS_CLOSING) { - pr_debug("network driver is closed, return\n"); - goto err; - } - - pipe = usb_sndbulkpipe(pFt1000Dev->dev, - pFt1000Dev->bulk_out_endpointAddr); - maxlen = usb_maxpacket(pFt1000Dev->dev, pipe, usb_pipeout(pipe)); - - pdata = (u8 *)skb->data; - - if (pInfo->mediastate == 0) { - /* Drop packet is mediastate is down */ - pr_debug("mediastate is down\n"); - goto err; - } - - if ((skb->len < ENET_HEADER_SIZE) || (skb->len > ENET_MAX_SIZE)) { - /* Drop packet which has invalid size */ - pr_debug("invalid ethernet length\n"); - goto err; - } - - ft1000_copy_down_pkt(dev, pdata + ENET_HEADER_SIZE - 2, - skb->len - ENET_HEADER_SIZE + 2); - -err: - dev_kfree_skb(skb); - - return NETDEV_TX_OK; -} - -/* open the network driver */ -static int ft1000_open(struct net_device *dev) -{ - struct ft1000_info *pInfo = netdev_priv(dev); - struct ft1000_usb *pFt1000Dev = pInfo->priv; - struct timeval tv; - - pr_debug("ft1000_open is called for card %d\n", pFt1000Dev->CardNumber); - - pInfo->stats.rx_bytes = 0; - pInfo->stats.tx_bytes = 0; - pInfo->stats.rx_packets = 0; - pInfo->stats.tx_packets = 0; - do_gettimeofday(&tv); - pInfo->ConTm = tv.tv_sec; - pInfo->ProgConStat = 0; - - netif_start_queue(dev); - - netif_carrier_on(dev); - - return ft1000_submit_rx_urb(pInfo); -} - -static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev) -{ - struct ft1000_info *info = netdev_priv(dev); - - return &(info->stats); -} - -static const struct net_device_ops ftnet_ops = { - .ndo_open = &ft1000_open, - .ndo_stop = &ft1000_close, - .ndo_start_xmit = &ft1000_start_xmit, - .ndo_get_stats = &ft1000_netdev_stats, -}; - -/* initialize the network device */ -static int ft1000_reset(void *dev) -{ - ft1000_reset_card(dev); - return 0; -} - -int init_ft1000_netdev(struct ft1000_usb *ft1000dev) -{ - struct net_device *netdev; - struct ft1000_info *pInfo = NULL; - struct dpram_blk *pdpram_blk; - int i, ret_val; - struct list_head *cur, *tmp; - char card_nr[2]; - u8 gCardIndex = 0; - - netdev = alloc_etherdev(sizeof(struct ft1000_info)); - if (!netdev) { - pr_debug("can not allocate network device\n"); - return -ENOMEM; - } - - pInfo = netdev_priv(netdev); - - memset(pInfo, 0, sizeof(struct ft1000_info)); - - dev_alloc_name(netdev, netdev->name); - - pr_debug("network device name is %s\n", netdev->name); - - if (strncmp(netdev->name, "eth", 3) == 0) { - card_nr[0] = netdev->name[3]; - card_nr[1] = '\0'; - ret_val = kstrtou8(card_nr, 10, &gCardIndex); - if (ret_val) { - netdev_err(ft1000dev->net, "Can't parse netdev\n"); - goto err_net; - } - - ft1000dev->CardNumber = gCardIndex; - pr_debug("card number = %d\n", ft1000dev->CardNumber); - } else { - netdev_err(ft1000dev->net, "ft1000: Invalid device name\n"); - ret_val = -ENXIO; - goto err_net; - } - - memset(&pInfo->stats, 0, sizeof(struct net_device_stats)); - - spin_lock_init(&pInfo->dpram_lock); - pInfo->priv = ft1000dev; - pInfo->DrvErrNum = 0; - pInfo->registered = 1; - pInfo->ft1000_reset = ft1000_reset; - pInfo->mediastate = 0; - pInfo->fifo_cnt = 0; - ft1000dev->DeviceCreated = FALSE; - pInfo->CardReady = 0; - pInfo->DSP_TIME[0] = 0; - pInfo->DSP_TIME[1] = 0; - pInfo->DSP_TIME[2] = 0; - pInfo->DSP_TIME[3] = 0; - ft1000dev->fAppMsgPend = false; - ft1000dev->fCondResetPend = false; - ft1000dev->usbboot = 0; - ft1000dev->dspalive = 0; - memset(&ft1000dev->tempbuf[0], 0, sizeof(ft1000dev->tempbuf)); - - INIT_LIST_HEAD(&pInfo->prov_list); - - INIT_LIST_HEAD(&ft1000dev->nodes.list); - - netdev->netdev_ops = &ftnet_ops; - - ft1000dev->net = netdev; - - pr_debug("Initialize free_buff_lock and freercvpool\n"); - spin_lock_init(&free_buff_lock); - - /* initialize a list of buffers to be use for queuing - * up receive command data - */ - INIT_LIST_HEAD(&freercvpool); - - /* create list of free buffers */ - for (i = 0; i < NUM_OF_FREE_BUFFERS; i++) { - /* Get memory for DPRAM_DATA link list */ - pdpram_blk = kmalloc(sizeof(struct dpram_blk), GFP_KERNEL); - if (pdpram_blk == NULL) { - ret_val = -ENOMEM; - goto err_free; - } - /* Get a block of memory to store command data */ - pdpram_blk->pbuffer = kmalloc(MAX_CMD_SQSIZE, GFP_KERNEL); - if (pdpram_blk->pbuffer == NULL) { - ret_val = -ENOMEM; - kfree(pdpram_blk); - goto err_free; - } - /* link provisioning data */ - list_add_tail(&pdpram_blk->list, &freercvpool); - } - numofmsgbuf = NUM_OF_FREE_BUFFERS; - - return 0; - -err_free: - list_for_each_safe(cur, tmp, &freercvpool) { - pdpram_blk = list_entry(cur, struct dpram_blk, list); - list_del(&pdpram_blk->list); - kfree(pdpram_blk->pbuffer); - kfree(pdpram_blk); - } -err_net: - free_netdev(netdev); - return ret_val; -} - -/* register the network driver */ -int reg_ft1000_netdev(struct ft1000_usb *ft1000dev, - struct usb_interface *intf) -{ - struct net_device *netdev; - struct ft1000_info *pInfo; - int rc; - - netdev = ft1000dev->net; - pInfo = netdev_priv(ft1000dev->net); - - ft1000_read_register(ft1000dev, &pInfo->AsicID, FT1000_REG_ASIC_ID); - - usb_set_intfdata(intf, pInfo); - SET_NETDEV_DEV(netdev, &intf->dev); - - rc = register_netdev(netdev); - if (rc) { - pr_debug("could not register network device\n"); - free_netdev(netdev); - return rc; - } - - ft1000_create_dev(ft1000dev); - - pInfo->CardReady = 1; - - return 0; -} - -/* take a packet from the FIFO up link and - * convert it into an ethernet packet and deliver it to the IP stack - */ -static int ft1000_copy_up_pkt(struct urb *urb) -{ - struct ft1000_info *info = urb->context; - struct ft1000_usb *ft1000dev = info->priv; - struct net_device *net = ft1000dev->net; - - u16 tempword; - u16 len; - u16 lena; - struct sk_buff *skb; - u16 i; - u8 *pbuffer = NULL; - u8 *ptemp = NULL; - u16 *chksum; - - if (ft1000dev->status & FT1000_STATUS_CLOSING) { - pr_debug("network driver is closed, return\n"); - return 0; - } - /* Read length */ - len = urb->transfer_buffer_length; - lena = urb->actual_length; - - chksum = (u16 *)ft1000dev->rx_buf; - - tempword = *chksum++; - for (i = 1; i < 7; i++) - tempword ^= *chksum++; - - if (tempword != *chksum) { - info->stats.rx_errors++; - ft1000_submit_rx_urb(info); - return -1; - } - - skb = dev_alloc_skb(len + 12 + 2); - - if (skb == NULL) { - info->stats.rx_errors++; - ft1000_submit_rx_urb(info); - return -1; - } - - pbuffer = (u8 *)skb_put(skb, len + 12); - - /* subtract the number of bytes read already */ - ptemp = pbuffer; - - /* fake MAC address */ - *pbuffer++ = net->dev_addr[0]; - *pbuffer++ = net->dev_addr[1]; - *pbuffer++ = net->dev_addr[2]; - *pbuffer++ = net->dev_addr[3]; - *pbuffer++ = net->dev_addr[4]; - *pbuffer++ = net->dev_addr[5]; - *pbuffer++ = 0x00; - *pbuffer++ = 0x07; - *pbuffer++ = 0x35; - *pbuffer++ = 0xff; - *pbuffer++ = 0xff; - *pbuffer++ = 0xfe; - - memcpy(pbuffer, ft1000dev->rx_buf + sizeof(struct pseudo_hdr), - len - sizeof(struct pseudo_hdr)); - - skb->dev = net; - - skb->protocol = eth_type_trans(skb, net); - skb->ip_summed = CHECKSUM_UNNECESSARY; - netif_rx(skb); - - info->stats.rx_packets++; - /* Add on 12 bytes for MAC address which was removed */ - info->stats.rx_bytes += (lena + 12); - - ft1000_submit_rx_urb(info); - - return 0; -} - - -/* the receiving function of the network driver */ -static int ft1000_submit_rx_urb(struct ft1000_info *info) -{ - int result; - struct ft1000_usb *pFt1000Dev = info->priv; - - if (pFt1000Dev->status & FT1000_STATUS_CLOSING) { - pr_debug("network driver is closed, return\n"); - return -ENODEV; - } - - usb_fill_bulk_urb(pFt1000Dev->rx_urb, - pFt1000Dev->dev, - usb_rcvbulkpipe(pFt1000Dev->dev, - pFt1000Dev->bulk_in_endpointAddr), - pFt1000Dev->rx_buf, MAX_BUF_SIZE, - (usb_complete_t)ft1000_copy_up_pkt, info); - - result = usb_submit_urb(pFt1000Dev->rx_urb, GFP_ATOMIC); - - if (result) { - pr_err("submitting rx_urb %d failed\n", result); - return result; - } - - return 0; -} - -/* close the network driver */ -int ft1000_close(struct net_device *net) -{ - struct ft1000_info *pInfo = netdev_priv(net); - struct ft1000_usb *ft1000dev = pInfo->priv; - - ft1000dev->status |= FT1000_STATUS_CLOSING; - - pr_debug("pInfo=%p, ft1000dev=%p\n", pInfo, ft1000dev); - netif_carrier_off(net); - netif_stop_queue(net); - ft1000dev->status &= ~FT1000_STATUS_CLOSING; - - pInfo->ProgConStat = 0xff; - - return 0; -} - -/* check if the device is presently available on the system. */ -static int ft1000_chkcard(struct ft1000_usb *dev) -{ - u16 tempword; - int status; - - if (dev->fCondResetPend) { - pr_debug("Card is being reset, return FALSE\n"); - return TRUE; - } - /* Mask register is used to check for device presence since it is never - * set to zero. - */ - status = ft1000_read_register(dev, &tempword, FT1000_REG_SUP_IMASK); - if (tempword == 0) { - pr_debug("IMASK = 0 Card not detected\n"); - return FALSE; - } - /* The system will return the value of 0xffff for the version register - * if the device is not present. - */ - status = ft1000_read_register(dev, &tempword, FT1000_REG_ASIC_ID); - if (tempword != 0x1b01) { - dev->status |= FT1000_STATUS_CLOSING; - pr_debug("Version = 0xffff Card not detected\n"); - return FALSE; - } - return TRUE; -} - -/* read a message from the dpram area. - * Input: - * dev - network device structure - * pbuffer - caller supply address to buffer - */ -static bool ft1000_receive_cmd(struct ft1000_usb *dev, u16 *pbuffer, - int maxsz) -{ - u16 size; - int ret; - u16 *ppseudohdr; - int i; - u16 tempword; - - ret = - ft1000_read_dpram16(dev, FT1000_MAG_PH_LEN, (u8 *)&size, - FT1000_MAG_PH_LEN_INDX); - size = ntohs(size) + PSEUDOSZ; - if (size > maxsz) { - pr_debug("Invalid command length = %d\n", size); - return FALSE; - } - ppseudohdr = (u16 *)pbuffer; - ft1000_write_register(dev, FT1000_DPRAM_MAG_RX_BASE, - FT1000_REG_DPRAM_ADDR); - ret = - ft1000_read_register(dev, pbuffer, FT1000_REG_MAG_DPDATAH); - pbuffer++; - ft1000_write_register(dev, FT1000_DPRAM_MAG_RX_BASE + 1, - FT1000_REG_DPRAM_ADDR); - for (i = 0; i <= (size >> 2); i++) { - ret = - ft1000_read_register(dev, pbuffer, - FT1000_REG_MAG_DPDATAL); - pbuffer++; - ret = - ft1000_read_register(dev, pbuffer, - FT1000_REG_MAG_DPDATAH); - pbuffer++; - } - /* copy odd aligned word */ - ret = - ft1000_read_register(dev, pbuffer, FT1000_REG_MAG_DPDATAL); - - pbuffer++; - ret = - ft1000_read_register(dev, pbuffer, FT1000_REG_MAG_DPDATAH); - - pbuffer++; - if (size & 0x0001) { - /* copy odd byte from fifo */ - ret = - ft1000_read_register(dev, &tempword, - FT1000_REG_DPRAM_DATA); - *pbuffer = ntohs(tempword); - } - /* Check if pseudo header checksum is good - * Calculate pseudo header checksum - */ - tempword = *ppseudohdr++; - for (i = 1; i < 7; i++) - tempword ^= *ppseudohdr++; - - if (tempword != *ppseudohdr) - return FALSE; - - return TRUE; -} - -static int ft1000_dsp_prov(void *arg) -{ - struct ft1000_usb *dev = (struct ft1000_usb *)arg; - struct ft1000_info *info = netdev_priv(dev->net); - u16 tempword; - u16 len; - u16 i = 0; - struct prov_record *ptr; - struct pseudo_hdr *ppseudo_hdr; - u16 *pmsg; - int status; - u16 TempShortBuf[256]; - - while (list_empty(&info->prov_list) == 0) { - pr_debug("DSP Provisioning List Entry\n"); - - /* Check if doorbell is available */ - pr_debug("check if doorbell is cleared\n"); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - if (status) { - pr_debug("ft1000_read_register error\n"); - break; - } - - while (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - i++; - if (i == 10) { - pr_debug("message drop\n"); - return -1; - } - ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - } - - if (!(tempword & FT1000_DB_DPRAM_TX)) { - pr_debug("*** Provision Data Sent to DSP\n"); - - /* Send provisioning data */ - ptr = list_entry(info->prov_list.next, - struct prov_record, list); - len = *(u16 *)ptr->pprov_data; - len = htons(len); - len += PSEUDOSZ; - - pmsg = (u16 *)ptr->pprov_data; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - ppseudo_hdr->portsrc = 0; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - for (i = 1; i < 7; i++) - ppseudo_hdr->checksum ^= *pmsg++; - - TempShortBuf[0] = 0; - TempShortBuf[1] = htons(len); - memcpy(&TempShortBuf[2], ppseudo_hdr, len); - - status = - ft1000_write_dpram32(dev, 0, - (u8 *)&TempShortBuf[0], - (unsigned short)(len + 2)); - status = - ft1000_write_register(dev, FT1000_DB_DPRAM_TX, - FT1000_REG_DOORBELL); - - list_del(&ptr->list); - kfree(ptr->pprov_data); - kfree(ptr); - } - usleep_range(9000, 11000); - } - - pr_debug("DSP Provisioning List Entry finished\n"); - - msleep(100); - - dev->fProvComplete = true; - info->CardReady = 1; - - return 0; -} - -static int ft1000_proc_drvmsg(struct ft1000_usb *dev, u16 size) -{ - struct ft1000_info *info = netdev_priv(dev->net); - u16 msgtype; - u16 tempword; - struct media_msg *pmediamsg; - struct dsp_init_msg *pdspinitmsg; - struct drv_msg *pdrvmsg; - u16 i; - struct pseudo_hdr *ppseudo_hdr; - u16 *pmsg; - int status; - union { - u8 byte[2]; - u16 wrd; - } convert; - - char *cmdbuffer = kmalloc(1600, GFP_KERNEL); - - if (!cmdbuffer) - return -ENOMEM; - - status = ft1000_read_dpram32(dev, 0x200, cmdbuffer, size); - -#ifdef JDEBUG - print_hex_dump_debug("cmdbuffer: ", HEX_DUMP_OFFSET, 16, 1, - cmdbuffer, size, true); -#endif - pdrvmsg = (struct drv_msg *)&cmdbuffer[2]; - msgtype = ntohs(pdrvmsg->type); - pr_debug("Command message type = 0x%x\n", msgtype); - switch (msgtype) { - case MEDIA_STATE:{ - pr_debug("Command message type = MEDIA_STATE\n"); - pmediamsg = (struct media_msg *)&cmdbuffer[0]; - if (info->ProgConStat != 0xFF) { - if (pmediamsg->state) { - pr_debug("Media is up\n"); - if (info->mediastate == 0) { - if (dev->NetDevRegDone) - netif_wake_queue(dev->net); - info->mediastate = 1; - } - } else { - pr_debug("Media is down\n"); - if (info->mediastate == 1) { - info->mediastate = 0; - if (dev->NetDevRegDone) - info->ConTm = 0; - } - } - } else { - pr_debug("Media is down\n"); - if (info->mediastate == 1) { - info->mediastate = 0; - info->ConTm = 0; - } - } - break; - } - case DSP_INIT_MSG:{ - pr_debug("Command message type = DSP_INIT_MSG\n"); - pdspinitmsg = (struct dsp_init_msg *)&cmdbuffer[2]; - memcpy(info->DspVer, pdspinitmsg->DspVer, DSPVERSZ); - pr_debug("DSPVER = 0x%2x 0x%2x 0x%2x 0x%2x\n", - info->DspVer[0], info->DspVer[1], info->DspVer[2], - info->DspVer[3]); - memcpy(info->HwSerNum, pdspinitmsg->HwSerNum, - HWSERNUMSZ); - memcpy(info->Sku, pdspinitmsg->Sku, SKUSZ); - memcpy(info->eui64, pdspinitmsg->eui64, EUISZ); - pr_debug("EUI64=%2x.%2x.%2x.%2x.%2x.%2x.%2x.%2x\n", - info->eui64[0], info->eui64[1], info->eui64[2], - info->eui64[3], info->eui64[4], info->eui64[5], - info->eui64[6], info->eui64[7]); - dev->net->dev_addr[0] = info->eui64[0]; - dev->net->dev_addr[1] = info->eui64[1]; - dev->net->dev_addr[2] = info->eui64[2]; - dev->net->dev_addr[3] = info->eui64[5]; - dev->net->dev_addr[4] = info->eui64[6]; - dev->net->dev_addr[5] = info->eui64[7]; - - if (ntohs(pdspinitmsg->length) == - (sizeof(struct dsp_init_msg) - 20)) { - memcpy(info->ProductMode, pdspinitmsg->ProductMode, - MODESZ); - memcpy(info->RfCalVer, pdspinitmsg->RfCalVer, CALVERSZ); - memcpy(info->RfCalDate, pdspinitmsg->RfCalDate, - CALDATESZ); - pr_debug("RFCalVer = 0x%2x 0x%2x\n", - info->RfCalVer[0], info->RfCalVer[1]); - } - break; - } - case DSP_PROVISION:{ - pr_debug("Command message type = DSP_PROVISION\n"); - - /* kick off dspprov routine to start provisioning - * Send provisioning data to DSP - */ - if (list_empty(&info->prov_list) == 0) { - dev->fProvComplete = false; - status = ft1000_dsp_prov(dev); - if (status != 0) - goto out; - } else { - dev->fProvComplete = true; - status = ft1000_write_register(dev, FT1000_DB_HB, - FT1000_REG_DOORBELL); - pr_debug("No more DSP provisioning data in dsp image\n"); - } - pr_debug("DSP PROVISION is done\n"); - break; - } - case DSP_STORE_INFO:{ - pr_debug("Command message type = DSP_STORE_INFO"); - tempword = ntohs(pdrvmsg->length); - info->DSPInfoBlklen = tempword; - if (tempword < (MAX_DSP_SESS_REC - 4)) { - pmsg = (u16 *)&pdrvmsg->data[0]; - for (i = 0; i < ((tempword + 1) / 2); i++) { - pr_debug("dsp info data = 0x%x\n", *pmsg); - info->DSPInfoBlk[i + 10] = *pmsg++; - } - } else { - info->DSPInfoBlklen = 0; - } - break; - } - case DSP_GET_INFO:{ - pr_debug("Got DSP_GET_INFO\n"); - /* copy dsp info block to dsp */ - dev->DrvMsgPend = 1; - /* allow any outstanding ioctl to finish */ - mdelay(10); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) - break; - } - } - /* Put message into Slow Queue Form Pseudo header */ - pmsg = (u16 *)info->DSPInfoBlk; - *pmsg++ = 0; - *pmsg++ = htons(info->DSPInfoBlklen + 20 + info->DSPInfoBlklen); - ppseudo_hdr = - (struct pseudo_hdr *)(u16 *)&info->DSPInfoBlk[2]; - ppseudo_hdr->length = htons(info->DSPInfoBlklen + 4 - + info->DSPInfoBlklen); - ppseudo_hdr->source = 0x10; - ppseudo_hdr->destination = 0x20; - ppseudo_hdr->portdest = 0; - ppseudo_hdr->portsrc = 0; - ppseudo_hdr->sh_str_id = 0; - ppseudo_hdr->control = 0; - ppseudo_hdr->rsvd1 = 0; - ppseudo_hdr->rsvd2 = 0; - ppseudo_hdr->qos_class = 0; - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - /* Insert application id */ - ppseudo_hdr->portsrc = 0; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - for (i = 1; i < 7; i++) - ppseudo_hdr->checksum ^= *pmsg++; - - info->DSPInfoBlk[10] = 0x7200; - info->DSPInfoBlk[11] = htons(info->DSPInfoBlklen); - status = ft1000_write_dpram32(dev, 0, - (u8 *)&info->DSPInfoBlk[0], - (unsigned short)(info->DSPInfoBlklen + 22)); - status = ft1000_write_register(dev, FT1000_DB_DPRAM_TX, - FT1000_REG_DOORBELL); - dev->DrvMsgPend = 0; - break; - } - case GET_DRV_ERR_RPT_MSG:{ - pr_debug("Got GET_DRV_ERR_RPT_MSG\n"); - /* copy driver error message to dsp */ - dev->DrvMsgPend = 1; - /* allow any outstanding ioctl to finish */ - mdelay(10); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) { - mdelay(10); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_DOORBELL); - if (tempword & FT1000_DB_DPRAM_TX) - mdelay(10); - } - if ((tempword & FT1000_DB_DPRAM_TX) == 0) { - /* Put message into Slow Queue Form Pseudo header */ - pmsg = (u16 *)&tempbuffer[0]; - ppseudo_hdr = (struct pseudo_hdr *)pmsg; - ppseudo_hdr->length = htons(0x0012); - ppseudo_hdr->source = 0x10; - ppseudo_hdr->destination = 0x20; - ppseudo_hdr->portdest = 0; - ppseudo_hdr->portsrc = 0; - ppseudo_hdr->sh_str_id = 0; - ppseudo_hdr->control = 0; - ppseudo_hdr->rsvd1 = 0; - ppseudo_hdr->rsvd2 = 0; - ppseudo_hdr->qos_class = 0; - /* Insert slow queue sequence number */ - ppseudo_hdr->seq_num = info->squeseqnum++; - /* Insert application id */ - ppseudo_hdr->portsrc = 0; - /* Calculate new checksum */ - ppseudo_hdr->checksum = *pmsg++; - for (i = 1; i < 7; i++) - ppseudo_hdr->checksum ^= *pmsg++; - - pmsg = (u16 *)&tempbuffer[16]; - *pmsg++ = htons(RSP_DRV_ERR_RPT_MSG); - *pmsg++ = htons(0x000e); - *pmsg++ = htons(info->DSP_TIME[0]); - *pmsg++ = htons(info->DSP_TIME[1]); - *pmsg++ = htons(info->DSP_TIME[2]); - *pmsg++ = htons(info->DSP_TIME[3]); - convert.byte[0] = info->DspVer[0]; - convert.byte[1] = info->DspVer[1]; - *pmsg++ = convert.wrd; - convert.byte[0] = info->DspVer[2]; - convert.byte[1] = info->DspVer[3]; - *pmsg++ = convert.wrd; - *pmsg++ = htons(info->DrvErrNum); - - status = card_send_command(dev, - (unsigned char *)&tempbuffer[0], - (u16)(0x0012 + PSEUDOSZ)); - if (status) - goto out; - info->DrvErrNum = 0; - } - dev->DrvMsgPend = 0; - break; - } - default: - break; - } - - status = 0; -out: - kfree(cmdbuffer); - return status; -} - -/* Check which application has registered for dsp broadcast messages */ -static int dsp_broadcast_msg_id(struct ft1000_usb *dev) -{ - struct dpram_blk *pdpram_blk; - unsigned long flags; - int i; - - for (i = 0; i < MAX_NUM_APP; i++) { - if ((dev->app_info[i].DspBCMsgFlag) - && (dev->app_info[i].fileobject) - && (dev->app_info[i].NumOfMsg - < MAX_MSG_LIMIT)) { - pdpram_blk = ft1000_get_buffer(&freercvpool); - if (pdpram_blk == NULL) { - pr_debug("Out of memory in free receive command pool\n"); - dev->app_info[i].nRxMsgMiss++; - return -1; - } - if (ft1000_receive_cmd(dev, pdpram_blk->pbuffer, - MAX_CMD_SQSIZE)) { - /* Put message into the - * appropriate application block - */ - dev->app_info[i].nRxMsg++; - spin_lock_irqsave(&free_buff_lock, flags); - list_add_tail(&pdpram_blk->list, - &dev->app_info[i] .app_sqlist); - dev->app_info[i].NumOfMsg++; - spin_unlock_irqrestore(&free_buff_lock, flags); - wake_up_interruptible(&dev->app_info[i] - .wait_dpram_msg); - } else { - dev->app_info[i].nRxMsgMiss++; - ft1000_free_buffer(pdpram_blk, &freercvpool); - pr_debug("ft1000_get_buffer NULL\n"); - return -1; - } - } - } - return 0; -} - -static int handle_misc_portid(struct ft1000_usb *dev) -{ - struct dpram_blk *pdpram_blk; - int i; - - pdpram_blk = ft1000_get_buffer(&freercvpool); - if (pdpram_blk == NULL) { - pr_debug("Out of memory in free receive command pool\n"); - return -1; - } - if (!ft1000_receive_cmd(dev, pdpram_blk->pbuffer, MAX_CMD_SQSIZE)) - goto exit_failure; - - /* Search for correct application block */ - for (i = 0; i < MAX_NUM_APP; i++) { - if (dev->app_info[i].app_id == ((struct pseudo_hdr *) - pdpram_blk->pbuffer)->portdest) - break; - } - if (i == MAX_NUM_APP) { - pr_debug("No application matching id = %d\n", - ((struct pseudo_hdr *)pdpram_blk->pbuffer)->portdest); - goto exit_failure; - } else if (dev->app_info[i].NumOfMsg > MAX_MSG_LIMIT) { - goto exit_failure; - } else { - dev->app_info[i].nRxMsg++; - /* Put message into the appropriate application block */ - list_add_tail(&pdpram_blk->list, &dev->app_info[i].app_sqlist); - dev->app_info[i].NumOfMsg++; - } - return 0; - -exit_failure: - ft1000_free_buffer(pdpram_blk, &freercvpool); - return -1; -} - -int ft1000_poll(void *dev_id) -{ - struct ft1000_usb *dev = (struct ft1000_usb *)dev_id; - struct ft1000_info *info = netdev_priv(dev->net); - u16 tempword; - int status; - u16 size; - int i; - u16 data; - u16 modulo; - u16 portid; - - if (ft1000_chkcard(dev) == FALSE) { - pr_debug("failed\n"); - return -1; - } - status = ft1000_read_register(dev, &tempword, FT1000_REG_DOORBELL); - if (!status) { - if (tempword & FT1000_DB_DPRAM_RX) { - status = ft1000_read_dpram16(dev, - 0x200, (u8 *)&data, 0); - size = ntohs(data) + 16 + 2; - if (size % 4) { - modulo = 4 - (size % 4); - size = size + modulo; - } - status = ft1000_read_dpram16(dev, 0x201, - (u8 *)&portid, 1); - portid &= 0xff; - if (size < MAX_CMD_SQSIZE) { - switch (portid) { - case DRIVERID: - pr_debug("FT1000_REG_DOORBELL message type: FT1000_DB_DPRAM_RX : portid DRIVERID\n"); - status = ft1000_proc_drvmsg(dev, size); - if (status != 0) - return status; - break; - case DSPBCMSGID: - status = dsp_broadcast_msg_id(dev); - break; - default: - status = handle_misc_portid(dev); - break; - } - } else - pr_debug("Invalid total length for SlowQ = %d\n", - size); - status = ft1000_write_register(dev, - FT1000_DB_DPRAM_RX, - FT1000_REG_DOORBELL); - } else if (tempword & FT1000_DSP_ASIC_RESET) { - /* Let's reset the ASIC from the Host side as well */ - status = ft1000_write_register(dev, ASIC_RESET_BIT, - FT1000_REG_RESET); - status = ft1000_read_register(dev, &tempword, - FT1000_REG_RESET); - i = 0; - while (tempword & ASIC_RESET_BIT) { - status = ft1000_read_register(dev, &tempword, - FT1000_REG_RESET); - usleep_range(9000, 11000); - i++; - if (i == 100) - break; - } - if (i == 100) { - pr_debug("Unable to reset ASIC\n"); - return 0; - } - usleep_range(9000, 11000); - /* Program WMARK register */ - status = ft1000_write_register(dev, 0x600, - FT1000_REG_MAG_WATERMARK); - /* clear ASIC reset doorbell */ - status = ft1000_write_register(dev, - FT1000_DSP_ASIC_RESET, - FT1000_REG_DOORBELL); - usleep_range(9000, 11000); - } else if (tempword & FT1000_ASIC_RESET_REQ) { - pr_debug("FT1000_REG_DOORBELL message type: FT1000_ASIC_RESET_REQ\n"); - /* clear ASIC reset request from DSP */ - status = ft1000_write_register(dev, - FT1000_ASIC_RESET_REQ, - FT1000_REG_DOORBELL); - status = ft1000_write_register(dev, HOST_INTF_BE, - FT1000_REG_SUP_CTRL); - /* copy dsp session record from Adapter block */ - status = ft1000_write_dpram32(dev, 0, - (u8 *)&info->DSPSess.Rec[0], 1024); - status = ft1000_write_register(dev, 0x600, - FT1000_REG_MAG_WATERMARK); - /* ring doorbell to tell DSP that - * ASIC is out of reset - */ - status = ft1000_write_register(dev, - FT1000_ASIC_RESET_DSP, - FT1000_REG_DOORBELL); - } else if (tempword & FT1000_DB_COND_RESET) { - pr_debug("FT1000_REG_DOORBELL message type: FT1000_DB_COND_RESET\n"); - if (!dev->fAppMsgPend) { - /* Reset ASIC and DSP */ - status = ft1000_read_dpram16(dev, - FT1000_MAG_DSP_TIMER0, - (u8 *)&info->DSP_TIME[0], - FT1000_MAG_DSP_TIMER0_INDX); - status = ft1000_read_dpram16(dev, - FT1000_MAG_DSP_TIMER1, - (u8 *)&info->DSP_TIME[1], - FT1000_MAG_DSP_TIMER1_INDX); - status = ft1000_read_dpram16(dev, - FT1000_MAG_DSP_TIMER2, - (u8 *)&info->DSP_TIME[2], - FT1000_MAG_DSP_TIMER2_INDX); - status = ft1000_read_dpram16(dev, - FT1000_MAG_DSP_TIMER3, - (u8 *)&info->DSP_TIME[3], - FT1000_MAG_DSP_TIMER3_INDX); - info->CardReady = 0; - info->DrvErrNum = DSP_CONDRESET_INFO; - pr_debug("DSP conditional reset requested\n"); - info->ft1000_reset(dev->net); - } else { - dev->fProvComplete = false; - dev->fCondResetPend = true; - } - ft1000_write_register(dev, FT1000_DB_COND_RESET, - FT1000_REG_DOORBELL); - } - } - return 0; -} diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_ioctl.h b/drivers/staging/ft1000/ft1000-usb/ft1000_ioctl.h deleted file mode 100644 index e9472bebda0b..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_ioctl.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - *--------------------------------------------------------------------------- - * FT1000 driver for Flarion Flash OFDM NIC Device - * - * Copyright (C) 2002 Flarion Technologies, All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) any - * later version. This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - - * Suite 330, Boston, MA 02111-1307, USA. - *--------------------------------------------------------------------------- - * - * File: ft1000_ioctl.h - * - * Description: Common structures and defines relating to IOCTL - * - * History: - * 11/5/02 Whc Created. - * - *--------------------------------------------------------------------------- - */ -#ifndef _FT1000IOCTLH_ -#define _FT1000IOCTLH_ - -struct IOCTL_GET_VER { - unsigned long drv_ver; -} __packed; - -/* Data structure for Dsp statistics */ -struct IOCTL_GET_DSP_STAT { - unsigned char DspVer[DSPVERSZ]; /* DSP version number */ - unsigned char HwSerNum[HWSERNUMSZ]; /* Hardware Serial Number */ - unsigned char Sku[SKUSZ]; /* SKU */ - unsigned char eui64[EUISZ]; /* EUI64 */ - unsigned short ConStat; /* Connection Status */ - /* Bits 0-3 = Connection Status Field */ - /* 0000=Idle (Disconnect) */ - /* 0001=Searching */ - /* 0010=Active (Connected) */ - /* 0011=Waiting for L2 down */ - /* 0100=Sleep */ - unsigned short LedStat; /* Led Status */ - /* Bits 0-3 = Signal Strength Field */ - /* 0000 = -105dBm to -92dBm */ - /* 0001 = -92dBm to -85dBm */ - /* 0011 = -85dBm to -75dBm */ - /* 0111 = -75dBm to -50dBm */ - /* 1111 = -50dBm to 0dBm */ - /* Bits 4-7 = Reserved */ - /* Bits 8-11 = SNR Field */ - /* 0000 = <2dB */ - /* 0001 = 2dB to 8dB */ - /* 0011 = 8dB to 15dB */ - /* 0111 = 15dB to 22dB */ - /* 1111 = >22dB */ - /* Bits 12-15 = Reserved */ - unsigned long nTxPkts; /* Number of packets transmitted - * from host to dsp - */ - unsigned long nRxPkts; /* Number of packets received from - * dsp to host - */ - unsigned long nTxBytes; /* Number of bytes transmitted - * from host to dsp - */ - unsigned long nRxBytes; /* Number of bytes received from - * dsp to host - */ - unsigned long ConTm; /* Current session connection time - * in seconds - */ - unsigned char CalVer[CALVERSZ]; /* Proprietary Calibration - * Version - */ - unsigned char CalDate[CALDATESZ]; /* Proprietary Calibration Date */ -} __packed; - -/* Data structure for Dual Ported RAM messaging between Host and Dsp */ -struct IOCTL_DPRAM_BLK { - unsigned short total_len; - struct pseudo_hdr pseudohdr; - unsigned char buffer[1780]; -} __packed; - -struct IOCTL_DPRAM_COMMAND { - unsigned short extra; - struct IOCTL_DPRAM_BLK dpram_blk; -} __packed; - -/* - * Custom IOCTL command codes - */ -#define FT1000_MAGIC_CODE 'F' - -#define IOCTL_REGISTER_CMD 0 -#define IOCTL_SET_DPRAM_CMD 3 -#define IOCTL_GET_DPRAM_CMD 4 -#define IOCTL_GET_DSP_STAT_CMD 6 -#define IOCTL_GET_VER_CMD 7 -#define IOCTL_CONNECT 10 -#define IOCTL_DISCONNECT 11 - -#define IOCTL_FT1000_GET_DSP_STAT _IOR(FT1000_MAGIC_CODE, \ - IOCTL_GET_DSP_STAT_CMD, \ - struct IOCTL_GET_DSP_STAT) -#define IOCTL_FT1000_GET_VER _IOR(FT1000_MAGIC_CODE, IOCTL_GET_VER_CMD, \ - struct IOCTL_GET_VER) -#define IOCTL_FT1000_CONNECT _IO(FT1000_MAGIC_CODE, IOCTL_CONNECT) -#define IOCTL_FT1000_DISCONNECT _IO(FT1000_MAGIC_CODE, IOCTL_DISCONNECT) -#define IOCTL_FT1000_SET_DPRAM _IOW(FT1000_MAGIC_CODE, IOCTL_SET_DPRAM_CMD, \ - struct IOCTL_DPRAM_BLK) -#define IOCTL_FT1000_GET_DPRAM _IOR(FT1000_MAGIC_CODE, IOCTL_GET_DPRAM_CMD, \ - struct IOCTL_DPRAM_BLK) -#define IOCTL_FT1000_REGISTER _IOW(FT1000_MAGIC_CODE, IOCTL_REGISTER_CMD, \ - unsigned short *) - -#endif /* _FT1000IOCTLH_ */ diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c deleted file mode 100644 index d1ba0b827a55..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c +++ /dev/null @@ -1,248 +0,0 @@ -/*===================================================== - * CopyRight (C) 2007 Qualcomm Inc. All Rights Reserved. - * - * - * This file is part of Express Card USB Driver - *==================================================== - */ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#include -#include -#include -#include -#include -#include -#include "ft1000_usb.h" - -#include - -MODULE_DESCRIPTION("FT1000 EXPRESS CARD DRIVER"); -MODULE_LICENSE("Dual MPL/GPL"); -MODULE_SUPPORTED_DEVICE("QFT FT1000 Express Cards"); - -void *pFileStart; -size_t FileLength; - -#define VENDOR_ID 0x1291 /* Qualcomm vendor id */ -#define PRODUCT_ID 0x11 /* fake product id */ - -/* table of devices that work with this driver */ -static struct usb_device_id id_table[] = { - {USB_DEVICE(VENDOR_ID, PRODUCT_ID)}, - {}, -}; - -MODULE_DEVICE_TABLE(usb, id_table); - -static bool gPollingfailed; -static int ft1000_poll_thread(void *arg) -{ - int ret; - - while (!kthread_should_stop()) { - usleep_range(10000, 11000); - if (!gPollingfailed) { - ret = ft1000_poll(arg); - if (ret != 0) { - pr_debug("polling failed\n"); - gPollingfailed = true; - } - } - } - return 0; -} - -static int ft1000_probe(struct usb_interface *interface, - const struct usb_device_id *id) -{ - struct usb_host_interface *iface_desc; - struct usb_endpoint_descriptor *endpoint; - struct usb_device *dev; - unsigned numaltsetting; - int i, ret = 0, size; - - struct ft1000_usb *ft1000dev; - struct ft1000_info *pft1000info = NULL; - const struct firmware *dsp_fw; - - ft1000dev = kzalloc(sizeof(struct ft1000_usb), GFP_KERNEL); - if (!ft1000dev) - return -ENOMEM; - - dev = interface_to_usbdev(interface); - pr_debug("usb device descriptor info - number of configuration is %d\n", - dev->descriptor.bNumConfigurations); - - ft1000dev->dev = dev; - ft1000dev->status = 0; - ft1000dev->net = NULL; - ft1000dev->tx_urb = usb_alloc_urb(0, GFP_KERNEL); - ft1000dev->rx_urb = usb_alloc_urb(0, GFP_KERNEL); - if (!ft1000dev->tx_urb || !ft1000dev->rx_urb) { - ret = -ENOMEM; - goto err_fw; - } - - numaltsetting = interface->num_altsetting; - pr_debug("number of alt settings is: %d\n", numaltsetting); - iface_desc = interface->cur_altsetting; - pr_debug("number of endpoints is: %d\n", - iface_desc->desc.bNumEndpoints); - pr_debug("descriptor type is: %d\n", iface_desc->desc.bDescriptorType); - pr_debug("interface number is: %d\n", - iface_desc->desc.bInterfaceNumber); - pr_debug("alternatesetting is: %d\n", - iface_desc->desc.bAlternateSetting); - pr_debug("interface class is: %d\n", iface_desc->desc.bInterfaceClass); - pr_debug("control endpoint info:\n"); - pr_debug("descriptor0 type -- %d\n", - iface_desc->endpoint[0].desc.bmAttributes); - pr_debug("descriptor1 type -- %d\n", - iface_desc->endpoint[1].desc.bmAttributes); - pr_debug("descriptor2 type -- %d\n", - iface_desc->endpoint[2].desc.bmAttributes); - - for (i = 0; i < iface_desc->desc.bNumEndpoints; i++) { - endpoint = - (struct usb_endpoint_descriptor *)&iface_desc-> - endpoint[i].desc; - pr_debug("endpoint %d\n", i); - pr_debug("bEndpointAddress=%x, bmAttributes=%x\n", - endpoint->bEndpointAddress, endpoint->bmAttributes); - if (usb_endpoint_is_bulk_in(endpoint)) { - ft1000dev->bulk_in_endpointAddr = - endpoint->bEndpointAddress; - pr_debug("in: %d\n", endpoint->bEndpointAddress); - } - - if (usb_endpoint_is_bulk_in(endpoint)) { - ft1000dev->bulk_out_endpointAddr = - endpoint->bEndpointAddress; - pr_debug("out: %d\n", endpoint->bEndpointAddress); - } - } - - pr_debug("bulk_in=%d, bulk_out=%d\n", - ft1000dev->bulk_in_endpointAddr, - ft1000dev->bulk_out_endpointAddr); - - ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev); - if (ret < 0) { - dev_err(interface->usb_dev, "Error request_firmware()\n"); - goto err_fw; - } - - size = max_t(uint, dsp_fw->size, 4096); - pFileStart = kmalloc(size, GFP_KERNEL); - - if (!pFileStart) { - release_firmware(dsp_fw); - ret = -ENOMEM; - goto err_fw; - } - - memcpy(pFileStart, dsp_fw->data, dsp_fw->size); - FileLength = dsp_fw->size; - release_firmware(dsp_fw); - - pr_debug("start downloading dsp image...\n"); - - ret = init_ft1000_netdev(ft1000dev); - if (ret) - goto err_load; - - pft1000info = netdev_priv(ft1000dev->net); - - pr_debug("pft1000info=%p\n", pft1000info); - ret = dsp_reload(ft1000dev); - if (ret) { - dev_err(interface->usb_dev, - "Problem with DSP image loading\n"); - goto err_load; - } - - gPollingfailed = false; - ft1000dev->pPollThread = - kthread_run(ft1000_poll_thread, ft1000dev, "ft1000_poll"); - - if (IS_ERR(ft1000dev->pPollThread)) { - ret = PTR_ERR(ft1000dev->pPollThread); - goto err_load; - } - - msleep(500); - - while (!pft1000info->CardReady) { - if (gPollingfailed) { - ret = -EIO; - goto err_thread; - } - msleep(100); - pr_debug("Waiting for Card Ready\n"); - } - - pr_debug("Card Ready!!!! Registering network device\n"); - - ret = reg_ft1000_netdev(ft1000dev, interface); - if (ret) - goto err_thread; - - ft1000dev->NetDevRegDone = 1; - - return 0; - -err_thread: - kthread_stop(ft1000dev->pPollThread); -err_load: - kfree(pFileStart); -err_fw: - usb_free_urb(ft1000dev->rx_urb); - usb_free_urb(ft1000dev->tx_urb); - kfree(ft1000dev); - return ret; -} - -static void ft1000_disconnect(struct usb_interface *interface) -{ - struct ft1000_info *pft1000info; - struct ft1000_usb *ft1000dev; - - pft1000info = (struct ft1000_info *)usb_get_intfdata(interface); - pr_debug("In disconnect pft1000info=%p\n", pft1000info); - - if (pft1000info) { - ft1000dev = pft1000info->priv; - if (ft1000dev->pPollThread) - kthread_stop(ft1000dev->pPollThread); - - pr_debug("threads are terminated\n"); - - if (ft1000dev->net) { - pr_debug("destroy char driver\n"); - ft1000_destroy_dev(ft1000dev->net); - unregister_netdev(ft1000dev->net); - pr_debug("network device unregistered\n"); - free_netdev(ft1000dev->net); - - } - - usb_free_urb(ft1000dev->rx_urb); - usb_free_urb(ft1000dev->tx_urb); - - pr_debug("urb freed\n"); - - kfree(ft1000dev); - } - kfree(pFileStart); -} - -static struct usb_driver ft1000_usb_driver = { - .name = "ft1000usb", - .probe = ft1000_probe, - .disconnect = ft1000_disconnect, - .id_table = id_table, -}; - -module_usb_driver(ft1000_usb_driver); diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.h b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.h deleted file mode 100644 index 9b5050fcbb66..000000000000 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.h +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef _FT1000_USB_H_ -#define _FT1000_USB_H_ - -#include "../ft1000.h" -#include "ft1000_ioctl.h" -#define FT1000_DRV_VER 0x01010403 - -#define MAX_NUM_APP 6 -#define MAX_MSG_LIMIT 200 -#define NUM_OF_FREE_BUFFERS 1500 - -#define PSEUDOSZ 16 - -struct app_info_block { - u32 nTxMsg; /* DPRAM msg sent to DSP with app_id */ - u32 nRxMsg; /* DPRAM msg rcv from dsp with app_id */ - u32 nTxMsgReject; /* DPRAM msg rejected due to DSP doorbell - * set - */ - u32 nRxMsgMiss; /* DPRAM msg dropped due to overflow */ - struct fown_struct *fileobject;/* Application's file object */ - u16 app_id; /* Application id */ - int DspBCMsgFlag; - int NumOfMsg; /* number of messages queued up */ - wait_queue_head_t wait_dpram_msg; - struct list_head app_sqlist; /* link list of msgs for applicaton on - * slow queue - */ -} __packed; - -#define FALSE 0 -#define TRUE 1 - -#define FT1000_STATUS_CLOSING 0x01 - -#define DSPBCMSGID 0x10 - -/* Electrabuzz specific DPRAM mapping */ -/* this is used by ft1000_usb driver - isn't that a bug? */ -#undef FT1000_DPRAM_RX_BASE -#define FT1000_DPRAM_RX_BASE 0x1800 /* RX AREA (SlowQ) */ - -/* MEMORY MAP FOR MAGNEMITE */ -/* the indexes are swapped comparing to PCMCIA - is it OK or a bug? */ -#undef FT1000_MAG_DSP_LED_INDX -#define FT1000_MAG_DSP_LED_INDX 0x1 /* dsp led status for PAD - * device - */ -#undef FT1000_MAG_DSP_CON_STATE_INDX -#define FT1000_MAG_DSP_CON_STATE_INDX 0x0 /* DSP Connection Status Info */ - -/* Maximum times trying to get ASIC out of reset */ -#define MAX_ASIC_RESET_CNT 20 - -#define MAX_BUF_SIZE 4096 - -struct ft1000_debug_dirs { - struct list_head list; - struct dentry *dent; - struct dentry *file; - int int_number; -}; - -struct ft1000_usb { - struct usb_device *dev; - struct net_device *net; - - u32 status; - - struct urb *rx_urb; - struct urb *tx_urb; - - u8 tx_buf[MAX_BUF_SIZE]; - u8 rx_buf[MAX_BUF_SIZE]; - - u8 bulk_in_endpointAddr; - u8 bulk_out_endpointAddr; - - struct task_struct *pPollThread; - unsigned char fcodeldr; - unsigned char bootmode; - unsigned char usbboot; - unsigned short dspalive; - bool fProvComplete; - bool fCondResetPend; - bool fAppMsgPend; - int DeviceCreated; - int NetDevRegDone; - u8 CardNumber; - u8 DeviceName[15]; - struct ft1000_debug_dirs nodes; - spinlock_t fifo_lock; - int appcnt; - struct app_info_block app_info[MAX_NUM_APP]; - u16 DrvMsgPend; - unsigned short tempbuf[32]; -} __packed; - - -struct dpram_blk { - struct list_head list; - u16 *pbuffer; -} __packed; - -int ft1000_read_register(struct ft1000_usb *ft1000dev, - u16 *Data, u16 nRegIndx); -int ft1000_write_register(struct ft1000_usb *ft1000dev, - u16 value, u16 nRegIndx); -int ft1000_read_dpram32(struct ft1000_usb *ft1000dev, - u16 indx, u8 *buffer, u16 cnt); -int ft1000_write_dpram32(struct ft1000_usb *ft1000dev, - u16 indx, u8 *buffer, u16 cnt); -int ft1000_read_dpram16(struct ft1000_usb *ft1000dev, - u16 indx, u8 *buffer, u8 highlow); -int ft1000_write_dpram16(struct ft1000_usb *ft1000dev, - u16 indx, u16 value, u8 highlow); -int fix_ft1000_read_dpram32(struct ft1000_usb *ft1000dev, - u16 indx, u8 *buffer); -int fix_ft1000_write_dpram32(struct ft1000_usb *ft1000dev, - u16 indx, u8 *buffer); - -extern void *pFileStart; -extern size_t FileLength; -extern int numofmsgbuf; - -int ft1000_close(struct net_device *dev); -int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart, - u32 FileLength); - -extern struct list_head freercvpool; - -/* lock to arbitrate free buffer list for receive command data */ -extern spinlock_t free_buff_lock; - -int ft1000_create_dev(struct ft1000_usb *dev); -void ft1000_destroy_dev(struct net_device *dev); -int card_send_command(struct ft1000_usb *ft1000dev, - void *ptempbuffer, int size); - -struct dpram_blk *ft1000_get_buffer(struct list_head *bufflist); -void ft1000_free_buffer(struct dpram_blk *pdpram_blk, struct list_head *plist); - -int dsp_reload(struct ft1000_usb *ft1000dev); -int init_ft1000_netdev(struct ft1000_usb *ft1000dev); -struct usb_interface; -int reg_ft1000_netdev(struct ft1000_usb *ft1000dev, - struct usb_interface *intf); -int ft1000_poll(void *dev_id); - -#endif /* _FT1000_USB_H_ */ diff --git a/drivers/staging/ft1000/ft1000-usb/ft3000.img b/drivers/staging/ft1000/ft1000-usb/ft3000.img deleted file mode 100644 index 7bef6bd3680a22849b5dc7e85586ebc11d99510c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280414 zcmV((K;XXy000000000gge^$;MFapy0001>>Hq*N2><}82mk;q2><{H000010002u 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 z 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�p&;G!jOq6-w2--$fG%v*-nw=z-*qbl@ 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

2epj)5PTBNiUvJ{InLc`=Io^2C^A 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

BgE@7S2%-=CmQe1VWTRIv;_) zt*q491@CMN*6qksE$B>#5R^o7SRq;{SeJpGm?J_gOs2;82JWQj=g}I;7O#YSe~zDZ z%Q&;UetcrU-*i9E7p8Qhy;#r-8=>@l-C2^aemouisk019L>ID$<-~F*f$KOh{Jr}M zeOFZXU0F%N)XTxo?&%0WmyUjVuebiBc3o00!l0JT4ZqWJ!hO$H70F z1^dwlg5TMb@A&?lyE$Q1LDXYlFQU5F(UOJ*4W!KV z9&+ELjrEHY^tC!k=#y&rg_1s3kEcOBr!RQ{a;ckZ}RFpg%-kSHl{CN~r)OPPXx* zTVN}dbI)yyaKAfYCp|$`xr|sHM$gjLN_=t2AoPQi=bK^OL+OTPcp%>FN0+ySC8rG< z_!oNM>9^%AY6cn=a@v6^g4*pJE$jPIZgUMvkz%ji6uvUysZf9de;AJ?v1`*t(?{~= z=H=&PV4=QQ$HahAAy0CI?PLv>_zLb^{V!V(&ppT!B;E~vu;MPCioNFqT^X*iwkX5G z+Gi;UNFWD;mBf87J7Kk4Pi#_{Yg-5J-gSr)SX+D0Xm^4iZ^}Ulho!to_-Pp^&Dhuv zc)zwK(sRWvicJo)B3*pTr@i3^ZjhxA8-LFjxgW5mz}o2_dDyl&+X}3FpyI3FANjxs zVX#)}SC=Tr+Haq6ml*-%vC5rfiIx^qX23KW^gGT7ISuE;6gIwvmG#s;9C|SD)9T32 zSCH~LpoiS?VNti8E5yQbNZesTF`TF-jhuK*|HAWfXZu<}Tq2Xh;mi5c3)|a*ick5& zE7`QXzL!J%+@n4diHBFV*oK!;iG=xYK^+0~zRfbNy>7DOkaM~dm#_3i)yJmIx62Hw zS%n{)r~SYeL-*1)PR!&%hvWv6HN(X1R|nqk0l?O1FZT~ygpSQ!l)0TK*X5j8XmFQ_ z{n&h8x})%S<8CRe5|&?fq>?0BrWip%r13FaX>2j5W|D>pLd0t%B&eeEmIot^daC`^ zJj=89C{ewb0ARk|y6aC0-G6*T`OWdqXoKA084(`K2flW~vQx^cM#^p;<2Y5z*V6bm ziwXxTi&Cc<1=p{MJi6nWMhZPPH|$82HtPP=ycx=ZO*ZGKQ=M_m9=r1vB?^sfvdMg# z%ad2;pTPfo0Kt;adx4F>+-;|2a%^ja6BEI&$U@a&jcuHGP3@U_)qo%nu^MwwNF`Z0 z!2xNpG(h8WTEMto)F@Vpdl?Pl|MVN(lK)#!jVcDKJvhsT_hFVz6t|HU?-^Ck)7FI; z{9W9caL00_ip`t*u@CCX+EePf!h@B>hf#=vO>fIu;~0NlT~QCip3qEZUJK004!%U& zd+i!I3gLoBDaeUtw!y#Ie%hNSvqvJ0i}Q{NY?I2WKDV<68IZjkb;};3ceWH9yrA!H=lwtAksho6o21PX#D|)J_pFhr>j#2{_h>3M>VyZdKe8FPGd-v;zc5b|HmDYv~Q|w;$E6JTztim zjZfSiM(X&I8Tqn^eOx``oQ0EQbDM>hTCb5(fTc*|^b* z_VZg{tK#MPBudjlvlCe1K_!e(Lvt-!9C^+F6nQ6i9a7XGY6okmJ)sW+>XFc|KpkA$ zCE>qW6YB8O?e;+VYfxQpi*RxIbARdz*8{-s1U@+Al=s;)ls_MHW_s)mCv~ zWDFEKVTu(Z$nSOr$#j42ex04TfaJQ*x8*kvIFkg<77T)OY&eyu?bR*9VlN*vp9Wtx z<@4Di{&10s)oxUi7T^knWB)N^1(L=nD}v>D0axs)jUSn^vy*H1cirxQ#(N=rMvWS| zR!#&uPUUtk#KKN4FT_weR!%!5a2^ABpE6GF1>9>ySqdUKs}`UNolwdqE%qtQHYF*o=Q;x=<}l=49yU{PUy1xlt#>bPf@m==dO+&WXh=Mu&!dW+1-B&c+owzN(6`Q1B&}r zdvbz{B9n`Y>gHOsFNgHyiFu$l@uhVyP9xA~R|B}x(_6W+4%~Q6y4p`pn@Tt|$BmKx z-qjS|Eo7|3+*9zkpdTL^Ph9XBzvJgWyA~?E@gcye*`WEto(1rKY!g3m8V=YcwYqm2+m^&a3u{Au~Pmt z@u+Z_+qk8$TGjfhv&V?qcPfzLFSLr6TJA2d@NRQ}889o=Z=&4g86QR8XjntdJz9ErLnfLT1_F86IiZ2B|xT!ZkX8?*vHnB%$zVQFN zPp_MEup!7}85U=1ERfwT!D|21Y9*{d*nNUGDPEX1de*T5UlI{O#2KBa)y}MJ=lW>f zm%FAt^fC54#?W|u|0BCoQ~K$j4f8Tpg`kVahNUh8*uacLFc}Nsk8~`?!bduRh=U4= zYmckzY9dvmqgvw{Uviy<_!pFv5MHAzMIFYJ4NFyro$QJB<>@&%9pP6lz{vxpnqf~O z?8ywGAmD4Xf57s3k%;Y82*Ks`K6iRxk%}HCNDeM9t4+D;a-zP~j-*buP>3`-iG@6h z>}N3q0~BUroBKyjtSoMZpK_Fd5dj~IzwoJ+V_f0_z!STZZTy?RrZaJM8Cguj3bnKh zvMV4whl&s&UWhF=CG)Zu(}G(h=9o8oPFeMxY0S%3;2v63Lre-a0~I617ocRb@ilX7 z7MWPdSG$KT`ZJ>+8q!cTH>37+ z$D;%eDifrfmm~(0RnqG|XR}&hcBLB`-M9Q9{eK#9culkKbbp&Om?`{O=#{#Q#pocg z#+?2Pq9ar%R}qzr$9h!56{K9h5`xCm8i?-CU5)5GhR*Z{xr8f1U zZam7Ccvz<~R4yf|1g!GPmsbbh^RN3t2r+DPm_uN_u`ICal+Bp>9{!5IUv2@o(aUm_ zo(3-ueUVAwt8G*tE8W(dUMAW1pg4EhEJHSzzl6_p{gL&(X9kv04drAfu}B0W3%pa< z)HP*ib7Ve`!tIK4WNn{$%m+rkE!y%DoP64zX?w;DT_Q4($F(j)`p@ylZ0eNYIlB9n z7jf+|bxA0&v9EjsqNc(7jVq67%X^s~DYZO<~L z$qSs|DUXr%zpgE=M4@0c+zlVQ?qGt$U$x9JTVC=4*jZ=R6>s=MfseB1;6$`Ys6YY% zB!v2I;Qp1c>d%1wQ}fs(6eN?|)u=ze8%@j7`FAr#E`+{K(%blx&$W4JCj&8*comhL zlmH$NJf-w)-dV(jFOv5#6uw^8X>N%AK=v-r%;eMhp@uX9rWu*4?fcyUs`Yel*j=5t z%DaA2uUs2_%pdED8xOPR0v|T#pn7`LkYb3=Kn^V~Sce0hlZF8p!9N^wbh8&n?DINN z!+>x(;WX;}k@5KvDa;T!*R3au2-Vp4a59>v$6B6%sg9 zpIs&9H-K6!5sh1z@;^sj+9D#EugQ6tBI4WTs?Bzep;&!iIotqnCX>C8L`05NdiHDV z550{r$dlQl^bJ3&ClvWFIuERq|28M4!&lG>Xm zw|G;?*9n2<>iyRoq&|(jvYt^7MlgVS)7h*khhS45h($tp?<2qG|A7{Ir0QCL)B$QwBT+o_xTQ3(y5Z*HzlO zL9oN3+xeC)11m`hyV2~iyd-j{ny->~7hDv2V#x`hkmt2T4=VN1f4fmdr{kkvCgCX% z0#o+1*ou7@CAVj8AG~0}zW13DjvT!#b-(WjB1vJD3D3FWB#SS*Mr)2~ZYmG2fdUf& zk-z}}jY`f;Ffk%kr-if6ZvIZ*R7B=r{NH8IEWc_<#CT4|6>sZGMHoOqESQ5MrBR!U z^wi!wH=Yx5+A;k(M0pQmsC!FDlu*YYu%<(}l&8BxI*%i*B@6x0D9|!ltH;sz;3X^q zz+Gg=nadoa8NAt_zukJst$zr3PT-HliTu`>F?fcdUtWJkCM0H}vi-Fz4z_`snjTV6 z4?59<7-ISNF-BE0q$N;2P-H2DGIW8G%sy_;`h1|G?8Hzx z8)<3~y=bTL9BmgruPoBqUU%^)A~czv|9MP9bfkH$Oa)4?bnbJ29}bssl6q0W@$|Nd zwaQcj8;h{^&4rlS6drm+ifnw3-p(Z|U5+&(O|MoKMGt3=8YYs{0pcBol6k#2IsI-z zsVi?95O0t*r3N^{KLdq8LIzIzMJkv{L6dHv7LZYzKhe6kSHvc}%ou zw9y5|txNzgY=g<`u|*!60`CStTTxf;&*iQ`!J5wukzsE#Ht9hHk>K?C-!a@N16alY z01H@wY>}0Wn`%>lgh1_J_l^8h;1e(!&gZ8 zKT6z10@c&L2$dGRb#vTwm(pshP8 zPX)fo;LX?EwGQgVm6lWJ7E7l6n@2i=BF69d@eT^ly{rg2wpsPP<1N{kz9c?{EUQf1;2_r z9ZYZu(9QbF;9-+GpuPzFKFog(4FEwQk3dKzJ~FbC*V(VJdt0=$hM%IZ+5Sz5L-i6uwurDSr>T}E~Doo-+ zkZ`V*l&)2ikfYUQlV3>L9-n}|W7548C0K1&GW>hYN-Q3~5C|MDA%^U2t6?)8cjP~h zeu4%IQ1Oiby?cQ!h|noiKVb$3KfA^Z7DtWPzAoC<3tKbwC~*fz>Fa73hgF=Ia86_k z(&*pJ^+Qjp)xiUW)`-nT_~5VA6U&U~RgNYr<7ZMdP=shDwo3R{{=R^^CdRr)yTfa^ z1C@x9a(l=NXM?cT$pU9Oc+~DBsI$i`g7B}ECh}3?fJgV_Bf0$<2%M}Wu+1~AQYvnq z;36oT;X7_x`D+6$tW#|Jsx3Y%ibWNk%^m22;EV9rkBcL{Xj9*ytnQ5bZvI!&tYB8E zK9E6S-*3-Yfeal!)sf}31|wuY#0Fz1ADva-%(&BvtVN~7UPBRtsZne2VBUo|knP(sjzieTF5B8;qS{Jc~4hd+H?XaPeLTCk|(v~YtbHC^d zi`{h3+5QgyP;JLl?OFMoL+h}1gN?4?j$41y14!pkdkGJtnQ>%y&jK&yI_K z{5(R?I$W7Pg3d`Dx0+u@{!$!9UN}|D`qQhMN4uyxk&WOPs)&DFRXu#O&sh6^uE`S-z=)<;9O2tNlqduqA)$)VM!jV z6aj+AUa8tj2ya*sMdylJAmw@DGK#_Ru3 zDOcjIp`l(XEWYTEwbP-VKx#{j;S3Ns1>%U#JSiM16^+Q#HKgt3Upk_@`5clv7HEm) zxwVlVwICafQsU@eEfQo+Vy7b;y-y$kbkbO{B>8A5*ZFxD^G~ z+%nanyaVm|XI2hhN5TI1*Nc_ptF&|IJif4^x7Oh+Rtfgp%~M71_(Sga%#QXzra}n} zg#)?LV|WngDv~Z=&Z93I61FtL++{EfqI|`Xlc>(ba$|~1NQoD(_(&2d90?(`5Sta| zjokVUm~r1I`o%-EnAH*7ojjhs6?r;&wF8aFi3P>=@-EEXN&4J{9IaRxAfN4tIk*nz zeko`X(Ucck)W_lPDJVgK@Zc<#^Eu%cO^BOs=1kFB@|8^U9Z8k!uAgbiP>mb8i!3Cf z&&xNr4x_o)f5Q6n_FiP1+ z-ONQ3x13E^y{#)D2Qyz{?1evzO}v@Dqpgc`@ChohkSDK6XOCo$wb4G?yo6jo9t-}^ z<`*x^SByC<1Cy+nrVI}^^E=Q7TeX`T?xah!p~C)jp_TTm3yD}4=e^}ajhQ~(|i2#QAvn@Nu0JP#PK6VR^}XWFDVn(x$AP2l44qouG; zyIo1qg1IMmc2D=jW;dq|e7AUE<}_3I{DKG!Unp{z&o0Z};uN6*X%iL3)o_c4&BYd< z8L%JEu+7iV*gRX@h9}c@p|l#^Q_VN8F%f`#>1AjPR_`zSQ&FAlE zYN6zHr7>f4Hvfk`r(GuJhgxn~F5|TH{jCN!Vee2CTg_gYa!{-k|09(|`Y?I@M|pQ% zAVLKSx9px`Z* zXnUzTWZlD-nLC^yFr5z$J`%(<#o?6intW&L5Fmwu3Lw##bd*6(Z$#N;*SHp`8Qf{J)RYE<%R$l zFh@eX4e&?e$k{LRMo3^0^Ny5oP}NTI350>MsA4yKFGyE;mxVy4Xi?ta#F%7OOb5ztud?+!WO>;ebdpW&O;l4wa$ciTiOh6 z1&e=@LTwa262xdFw{gB1;?^@kNv5vNk==64rGD~)q;8q^uZ-Hd z`_v;y=z#QjvIaK;Xo%5E&Crnw=t`Dh zR3dS)eNQT>`XYeJUlEFfMwrkG3$J7koWcSL2aX^pjMX;J#o?||)a`K%Wt8V26SG2W z5Q<|MGh;UwS^xY2^TUtHw8#x6+K#beUzr%_Sg%DN>b#%5`ycm&2t8R@t+fGEp*}z7 zUvhzp{YG{om-{4siJ(uWi_Oc@^#?kEisGi()3Sw#^BOIFdfS+ySAkrsDvCC>Fh0>!Sukj1OR zM~r$5f<-BSD;roZP8)C9Q9($dMpC&JKUic_lc`Y++Gc9 zuisPDw+PZoDIxlL#hes+WZR9XfR;W-r|MIH=1*UewgWJff*DZF0Hxt)X*6%<2cyGo z^u5OvqAd8&r@34S^X9DYfXST6|au>IS z7KtLYzzu4E_(B!~6TC{)A!#cyO9Atsg!5I|pGN;IUT~;MZ zAUHGmU?BtsW)X^mBfqmJ2PIoL_J*}UKscVQQ7oVRp(eY>8RTESl&cpfh)8o7S63v? zlvS;OSqw)K))^`ACF-U4X0B3@KSXIIW)!CZ2c>{k2ug7gX7@ElRXV!2!am%UA+Xb` zjoY1|tH_9EdXiIM_rhU0Jya1`&@KkMJaRVEkNs3%GTP`LhrS>8`w(AljN)XwuM~A_ z0}z`J(C=jr8qF}Q&&Lm&;H|%DIzNm!4aBubKr?Q7l!fu{a6RP(Xx-YHV`Jcd$37VJ zR{Zves82YcuF&H$R_g#P5V*g+VlZCrEVX}X0f{TI5KX-3qWb-n3e<6F1Tun)HI6VK zj=2G3oakPTLla%&xJX0;YNisALF6ih>)Yd=L{86K`A;*YY9H2=0C(;v_|-Ycc>tbG z7lzG!n*y#~j1I)}j5!Hl_V}Hw%%K+#fbkee zZ#1BStWq3CI~+Z3UZX-RH@+w90u{)!ULNiY>Ol&DCZY0vg1Vx+za)Xu(-X?7N}(wb zdPENwy!>av9}N9XADm5Bo1K}u#)-_qX1C-m`%f3Q!anbeY;$jVaNge($PpLM-~C8Y zOxg)-h4J(~?j6CGlCOh*&1EG9BR)ji8|$}qI%p}h7UJgk$gV1_-%az*5eTkz)Ik`C zQzx5Kqoptm;91p;+SBm2jWt4aS0Q@}nO=1v$CpsDAs>j^%4K}=lhkl&2J;20aL_I}Uskk`& z#+4_>Y`VF&2;A-j?GeeNs$_hxu480B$q81DOAfkcp;wiZ>k~`p=-0@*TQuaM!%d9v zZ`{`yt0@pHK(jDZ+AGdT9S`8osL~=?;OlN0nI*w@g+5@(w%2&!ih21P8`pW^Wd4J@VE!#`&4siGm}B> zy+xYa5y@?nR_|^K|7<<3eEahj6-~74*V#RC#K#MngT2QT-Vu2D z<}KP<8*JvlxZ)(5{#1BvqflXSKWx10#m;IB(NP=8=lZC=%aE=W>5VO-GNo%EbHMt3 z^`@}G@?}yyCe(gz>c?M=ZjJ^!1QMYd6k3lhy?4nwz79zpwW{XWni-?FZbw(PiI2AB zjaAsY9To^&bAK*tnMsxG?dr7fseo@bOZjb6Bg_;!bjGznMHd^(e*z4Ru9{>IT z)o$s}D28b*OaY?TlBr@8>;Mx9%iDmi2(eIY830=>*Q7X%`h93Y=+rDmoOWyM0+W97 zft>yfj%cUx7H+8S*XTdL1p+q{4b|Ja>9p3k3&$dj+Q`pD^m~~i%ICg8<>{DeO^+h2 zuo`7sOzgkyTm|>+B$PsMamTF4g<`bOyAJU~BalsJm}>XXQxqgZ%WkIWh+-ClAA`*4 zV-!zz+qUMYu=<&%pvwMKs|QNB0bqy0!)B4vrdh49U(U>3Yk)=~Hj|r!{IP%rLO4>$ zN`xIAl1CGj!nP>P>3>{P6oy(fLGj2VI{`0~ESj1pEed`XZnwpHb&0~M};=Io{5TfC38!*=$djKl#D+6p){ zr{xs+XdVwd5C@l!yr=@BB~J zs!zb*Y|EbE5GW0%!|tf=^??F~c%6)}bo+uYRt`5KPpX#TO~1?;M{eQE3>FzwhLIe~ zZhqp5-b6++Z~h>fntx%$!E7kILPZ(4ohR4Cu1=b32=jhh>ATnIm8$obxS?6bm!V~J+>Rw z+PXdV6ZyD0mW>^{=h#d~VyxrBA|=9hX6~5wR&-~+pIh+DPFCWHP%IYnMSKmAgrR}o-nsw2aqS-weNP zSWQiniiZ`JmXRFFKeG@-Ab7xoC7vyAaj7FUKSwo&N^l;}J)%#p-02G;{cRpQZZ4ek zYveeLoOmeo;De*zakUCjK+Qy#J@y0H!H50fAA6c39RkR2HxqdA&=YO@Ninn>s~0}Q z^77!j<}|>wTlCksgCFgQZU&%A!u}oh)EPbc2xvUMiZ2p15&Ykr({8%wlvHM7*yl?) zthB(hEL!Lv%bI{HKesbQX`y{PXI@TT6>|Ev_MqVN+akWzfEE!@tdy$<1m0X%a^$_t zUtWwnRNHycd$=I*>bCZvqEGS15D0!5hP6EE{MD#}*5ff02WQZCN_ZRX)>2htg(Cd* z##91Pcm8z4|M(T^u->pDu&RyhqvKg2mqEDN^$~0EPOdzrhuO@5ZL>sgUJ5Qhf>Rp7 zd$daQNAkj|eY+ZAGHr@;6>jju^ug}%)~GSKGeHZ1{(Qxe+BRPHK2P|=lwf4D&v=)q zw|!wnVx+gpPlD`y=LBCq^MXz;7qg!M+v>ORe0zp1L6x|Q)WH~tC9-$&7(_b_7eD#} z@9a6OWY7G;rRY(KruFV1|C}RX9SXm7On)wGf+GhHs{5KFZaUS0#if8&LwMhe)>ukJ zZBqu%JGEeClQ(It3MBWgMW)Vk|%U0&vb~EF*se% zywvO^+;KTreh%+U84&e3dsuH)C=7>jz8UtM=pUZ3JSNrgh6N^v>&`GBiCWhH#N8<1 zsFvR}g|zXjS0%N*y}1e zm?{>dWIu&G=Kuo%l21sPAatgI*y|o58iWxT&-T*F79xK`6YR$e%4 zfbwee+qTiZ@rz=dmN8sndcM7^JFRmBS}}EXh8=&(1|wH1Xcl5%;_}0y{rI%@aiMiL zTzzXv`O_rcj5K5EEj@lh@N?!gfSU3c18KZ?%Z{#N!e)liSMJ!~J?cq^o7?4`V9ndr zX6?0PLa<5gqi>pjO;i1`d2xSr<0yKQ0L&&XAH2$*Kv`|ww5-kA7H&$Fm6V+vlQvHN z82hO*5zAh2xEhEecE6oDtT>XZ za~KwDDKX+c_m7nPFzBH9x;wi(+>|9vMW3Uu2sW#aTb!^UL#q-kCnstm`S(|Q9c{%~ zWZ&46QtIy9?F^B1VrWB%$VUj3A;dZW@^obDLj=foO>yx*WJO@BRSCNDz%Ly?-Vk?j z5=D#LSyi}-nrxE$8EJuTHmYWDsMB5|%ens5*18m{Uvt+Qs+GbY1b;D|~rJ6l_{Dr{xG)`9%t`ycZ9M-4? z#d-A?o0HkEAtDEZhsE;ljPV^xhG#4T)9EieLQHxCK9k$6BPV?Zc?!tT1-DD z4ijMgtRVUKCPGam92W!A$ftZMTmxll`1DmYEmf9|M5HF_?)gl=v_DeBZvQ&q^9DZ;mJ;V6pW#jTR+G!u~Ag zO0;|AU9xERA5)2d2@Ilab%K#dqI2dk?>gRyp?%vD)gi}f#mTSyUDjQD(+=BK`YyQU zX&b^yX} zeG3bzfNw$^M_K-rzJmmYCksc05D-#gMyA&JxiU)ZL77OwK&qMSK%SdF<_y7J-V|+a zK$1veQ>ggg!jPN{4LG>9tqOP@$CQZ}U{S}Z!b)Nj63r96%O4-}tr6nArY}YoJ4JV* zABWWVL&}_P+urp7Xu1vVz3O6>tBIQ9Um~*I=!3T2;0J)wqM!7Iy}RDj1saN&w$Eq zT9j&Jw#lURpBR=YE;Haa>mqEo@h=WLA7imr0$F6=?19Sa9Ij2Dm9*Kv@DIw;CR59z zlf$>wTlm|K(^~xW|$6K7N z!qN^$Mzza5G+^HBPoAVArqqNRTEHnB0e)EBp{(P=Mj~snd;c|U(_WT2Nl&utnQoTx z3rWBBG0R+vT?e+!yXC4+9=~5w`9B(ccSQVQ7Z2Up=bF(Bc?a?5V+JW)MGN}g zN>${oASAKE3Il@0E{S85bYqW1KLei14lf}jdZt0LQR_|$bQ`g`gD%nBOjj|?KOmgP z$@Tgwo$Q$OO#FVsSfL3B(nnjmBlCK2q?q{@=OFC+V_Xh@R9MRmC9M9;?@2$k%|1)i zix;DWvr9;ZxkwctNv-}!=3gK4)Gngqr&Uw*!Ly?jAwX0jjKIZcUWQ~VuX3uNw6C#l z*xKzCed`i06*i@V*y}AfEkZpOX=2mj!s6iZs2K_9pz?@=42nquJDmOoAON#lO~U4Q zwYKV|)^^OZI#JT51Cg|p{v^%)gEzx4EZ)=^H}_9^{+!MndqiJ0jhyKZaE;v2Cf|;^ z9ctIW(rPWX1k!MM%n1ylU#6?iE2$_j@w+p1tN;rIklqw}bJzlDO9;Gt<$*DrSyhIc zc-dvzX;kwgpGavKfGQcPqWgj&lS6&DM#?8M&s`C`l^%aCbnzgay*T=_m%ObtVrZo@c zv|=%t!H1^D>g2t|1{%i(&UcI$B6{JIT!xg@<#GKp9z#o{^5Z%gvbPgobIu|uuYVYMJ8@fL@c3H8;{N}MRfLLPX2$() zc8P=My-aok?(mp`N+x5X`}TS3f@H}5P+Hjyrt5SU)41!J^posfeZ*~}ho%YB-AP*o zL)LPiIcn7Ktzy^K*V-}sY3-4F&C;Lc9J}>TA!go3g-_%XtIZxs8Q$9Jq zdbgl`vRUU$b(1+YcNN^>uQL3h_RIXA^&9T3_soQE7?=K0({HktJ0Q$<=w42J``(l3 zGfJcFe##_${3)7t`fGOX-5}4T`)_VuIH_OAFT3ge)?UeV`_v!b%J^~l?&^tI_4CwI zce`wN_)z^qP~(<%iQLr-+cx**v93S$Hq`bAr{v^CJbh-`nx;qW)-B=@4Rn^w@;OM z%f0+d+{evAX+_UBnuhrmAJyHPmbyf*M_uFhr3w5QZCzmriHGvGzWIOTbz1a})q6H9 zUFb0@vDRezv{fvRv)o(xXA8WaS7;W_dC5G=#r@oOMb{Y@FD%z*lxSJv%eK?eb@3Tb zsad+JdMlrDOIBQs`L?Nh;kVlNKEmer!>=`p+8labkong#!?X3)uYiNjOK$vUuDu|* zY1$9Hrw0NR*96>9sb3dA_fgknum3SF!M3-rv=%I09P0E(<TP(m^X8vv{bF})-NJ-oqGOIpS=D=muWp*-8PYB@H|nz5 z_0`RmGm0bR(-*m$_Iz`Bl~ps#*-eA_|NnCWZduZ6XIEcgWtpbq$CT?Wq@Bs2*e%{P z{q;FjwVMY*Rg|sH&x=|v!Mak_K)NjTVV!ToKKIlJ*;3ZK&t?de$LC*o^YhY%LPakd z%WS`y8^a54+1xpsZ30P~Z-i!J`n<$UiUnRCWO>&~sG zl8nEl5>qtf)_bx!ScV3u2Qys0x%f=ks{Y@1mo2@Umbtb>K*&>OYljf4*Qq$h8w-rq z&Al#hl<~%WuNxXA=eC6ZdOpM5^8tg4fI@=+0~AasVPIf_aTpmG7`UJuxF8gO