This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 debian/changelog                            |    3 +-
 debian/patches/0018-sdio_crown_beach.patch  |   17 +
 debian/patches/0019-marvell_8686_8688.patch |42180 ++++++++++++++++++++++++++-
 3 files changed, 42194 insertions(+), 6 deletions(-)

New commits:
commit cb29ee2997ba598028e1ad4bbdd073deac2d057d
Author: Alek Du <[EMAIL PROTECTED]>
Date:   Thu Aug 28 11:27:52 2008 +0800

    Check in Feng's patch: Add a workaround in mmc/sdio code for Marvell devices


Diff in this email is a maximum of 400 lines.
diff --git a/debian/changelog b/debian/changelog
index 3f3499e..5d02bae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,8 +7,9 @@ kernel-mid-2.6.24 (2.6.24-13) UNRELEASED; urgency=low
 
   [ Alek Du ]
   * Upgrade USBC to 2.0.0.32L.0010 (PV) release
+  * Check in Feng's patch: add a workaround in mmc/sdio code for Marvell 
devices
 
- -- Alek Du <[EMAIL PROTECTED]>  Sun, 11 May 2008 10:49:29 +0800
+ -- Alek Du <[EMAIL PROTECTED]>  Thu, 28 Aug 2008 11:26:59 +0800
 
 kernel-mid-2.6.24 (2.6.24-12) gaston; urgency=low
 
diff --git a/debian/patches/0018-sdio_crown_beach.patch 
b/debian/patches/0018-sdio_crown_beach.patch
index d4aecd0..f835b93 100644
--- a/debian/patches/0018-sdio_crown_beach.patch
+++ b/debian/patches/0018-sdio_crown_beach.patch
@@ -28,6 +28,23 @@ index d5e51b1..962b8be 100644
        }
  
        return 0;
+diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
+index 87a50f4..ba2a699 100644
+--- a/drivers/mmc/core/sdio.c
++++ b/drivers/mmc/core/sdio.c
+@@ -332,6 +332,12 @@ int mmc_attach_sdio(struct mmc_host *host, u32 ocr)
+       if (err)
+               goto remove;
+ 
++      /* add a workaround for Marvell SDIO dev */
++      if (card->cis.vendor == 0x2df) {
++              if (card->cis.max_dtr >= 25000000)
++                      card->cis.max_dtr = 25000000;
++      }
++
+       /*
+        * No support for high-speed yet, so just set
+        * the card's maximum speed.
 diff --git a/drivers/mmc/core/sdio_io.c b/drivers/mmc/core/sdio_io.c
 index 625b92c..f4c62c0 100644
 --- a/drivers/mmc/core/sdio_io.c
diff --git a/debian/patches/0019-marvell_8686_8688.patch 
b/debian/patches/0019-marvell_8686_8688.patch
index e5b0141..f75068d 100644
--- a/debian/patches/0019-marvell_8686_8688.patch
+++ b/debian/patches/0019-marvell_8686_8688.patch
@@ -21840,7 +21840,7 @@ index 0000000..5d1ae59
 +    " ";
 diff --git a/drivers/net/wireless/8686_v9/wlan/wlan_wext.c 
b/drivers/net/wireless/8686_v9/wlan/wlan_wext.c
 new file mode 100644
-index 0000000..ab10860
+index 0000000..371a1bb
 --- /dev/null
 +++ b/drivers/net/wireless/8686_v9/wlan/wlan_wext.c
 @@ -0,0 +1,7850 @@
@@ -35680,6 +35680,14 @@ index 0000000..f90922e
 +consider it more useful to permit linking proprietary applications with the
 +library.  If this is what you want to do, use the GNU Lesser General
 +Public License instead of this License.
+diff --git a/drivers/net/wireless/8688_wlan/.tmp_versions/8688_a2.mod 
b/drivers/net/wireless/8688_wlan/.tmp_versions/8688_a2.mod
+new file mode 100644
+index 0000000..e959597
+--- /dev/null
++++ b/drivers/net/wireless/8688_wlan/.tmp_versions/8688_a2.mod
+@@ -0,0 +1,2 @@
++drivers/net/wireless/8688_wlan/8688_a2.ko
++drivers/net/wireless/8688_wlan/wlan/wlan_main.o 
drivers/net/wireless/8688_wlan/wlan/wlan_init.o 
drivers/net/wireless/8688_wlan/wlan/wlan_wext.o 
drivers/net/wireless/8688_wlan/wlan/wlan_rx.o 
drivers/net/wireless/8688_wlan/wlan/wlan_tx.o 
drivers/net/wireless/8688_wlan/wlan/wlan_cmd.o 
drivers/net/wireless/8688_wlan/wlan/wlan_cmdresp.o 
drivers/net/wireless/8688_wlan/wlan/wlan_scan.o 
drivers/net/wireless/8688_wlan/wlan/wlan_join.o 
drivers/net/wireless/8688_wlan/wlan/wlan_wmm.o 
drivers/net/wireless/8688_wlan/wlan/wlan_11d.o 
drivers/net/wireless/8688_wlan/wlan/wlan_11h.o 
drivers/net/wireless/8688_wlan/wlan/wlan_meas.o 
drivers/net/wireless/8688_wlan/wlan/wlan_proc.o 
drivers/net/wireless/8688_wlan/wlan/wlan_debug.o 
drivers/net/wireless/8688_wlan/wlan/wlan_sdio.o
 diff --git a/drivers/net/wireless/8688_wlan/Makefile 
b/drivers/net/wireless/8688_wlan/Makefile
 new file mode 100644
 index 0000000..3ba9d4a
@@ -35873,6 +35881,9 @@ index 0000000..3ba9d4a
 +      $(MAKE) -C app/wlanconfig $@
 +
 +# End of file
+diff --git a/drivers/net/wireless/8688_wlan/Module.symvers 
b/drivers/net/wireless/8688_wlan/Module.symvers
+new file mode 100644
+index 0000000..e69de29
 diff --git a/drivers/net/wireless/8688_wlan/gpl.txt 
b/drivers/net/wireless/8688_wlan/gpl.txt
 new file mode 100644
 index 0000000..f90922e
@@ -72554,10 +72565,10 @@ index 0000000..57a19fa
 +
 +#endif /* __WLAN_WMM_H */
 diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
-index 2c08c0a..59ba93b 100644
+index 2c08c0a..8c227fc 100644
 --- a/drivers/net/wireless/Kconfig
 +++ b/drivers/net/wireless/Kconfig
-@@ -656,4 +656,20 @@ source "drivers/net/wireless/b43legacy/Kconfig"
+@@ -656,4 +656,25 @@ source "drivers/net/wireless/b43legacy/Kconfig"
  source "drivers/net/wireless/zd1211rw/Kconfig"
  source "drivers/net/wireless/rt2x00/Kconfig"
  
@@ -72577,18 +72588,42177 @@ index 2c08c0a..59ba93b 100644
 +        depends on PCI && WLAN_80211 && MMC && MMC_SDHCI && BT 
 +      default y
 +
++config 8688_B2 
++        tristate "Marvell 8688 Beta2 driver"
++        depends on PCI && WLAN_80211 && MMC && MMC_SDHCI && BT 
++      default y
++
  endmenu
 diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
-index 6f32b53..143c132 100644
+index 6f32b53..a5ef50e 100644
 --- a/drivers/net/wireless/Makefile
 +++ b/drivers/net/wireless/Makefile
-@@ -33,6 +33,9 @@ obj-$(CONFIG_PCI_ATMEL)         += atmel_pci.o
+@@ -33,6 +33,11 @@ obj-$(CONFIG_PCI_ATMEL)         += atmel_pci.o
  obj-$(CONFIG_PCMCIA_ATMEL)      += atmel_cs.o
  
  obj-$(CONFIG_PRISM54)         += prism54/
 +obj-$(CONFIG_MMC_SD8686)      += 8686_v9/
 +obj-$(CONFIG_MMC_SD8688)      += 8688_wlan/
 +obj-$(CONFIG_MMC_SD8688)      += 8688_bt/
++obj-$(CONFIG_8688_B2)         += b2_wlan/
++obj-$(CONFIG_8688_B2)         += b2_bt/
  
  obj-$(CONFIG_HOSTAP)          += hostap/
  obj-$(CONFIG_BCM43XX)         += bcm43xx/
+diff --git a/drivers/net/wireless/b2_bt/.tmp_versions/8688_b2_bt.mod 
b/drivers/net/wireless/b2_bt/.tmp_versions/8688_b2_bt.mod
+new file mode 100644
+index 0000000..ad216a3
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/.tmp_versions/8688_b2_bt.mod
+@@ -0,0 +1,2 @@
++drivers/net/wireless/b2_bt/8688_b2_bt.ko
++drivers/net/wireless/b2_bt/bt/bt_main.o 
drivers/net/wireless/b2_bt/bt/bt_sdio.o drivers/net/wireless/b2_bt/bt/bt_proc.o
+diff --git a/drivers/net/wireless/b2_bt/Makefile 
b/drivers/net/wireless/b2_bt/Makefile
+new file mode 100644
+index 0000000..db8b041
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/Makefile
+@@ -0,0 +1,47 @@
++# File: Makefile
++# Copyright (C) 2007-2008, Marvell International Ltd.
++#
++
++#############################################################################
++# Configuration Options
++#############################################################################
++
++# Debug Option
++# DEBUG LEVEL n/1:
++# n: NO DEBUG
++# 1: PRINTM(MSG,...), PRINTM(FATAL,...), PRINTM(WARN,...) and PRINTM(INFO,...)
++CONFIG_DEBUG=1
++
++#############################################################################
++# Compiler Flags
++#############################################################################
++
++EXTRA_CFLAGS += -I$(PWD)/bt
++LD += -S
++
++EXTRA_CFLAGS += -DFPNUM='"38"'
++
++ifeq ($(CONFIG_DEBUG),1)
++      EXTRA_CFLAGS += -DDEBUG_LEVEL1
++endif
++
++
++#############################################################################
++# Make Targets
++#############################################################################
++
++ifneq ($(KERNELRELEASE),)
++
++BTOBJS = bt/bt_main.o bt/bt_sdio.o bt/bt_proc.o
++
++obj-m := 8688_b2_bt.o
++8688_b2_bt-objs := $(BTOBJS)
++
++
++# Otherwise we were called directly from the command line; invoke the kernel 
build system.
++else
++default:
++      $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
++endif
++
++# End of file;
+diff --git a/drivers/net/wireless/b2_bt/Module.symvers 
b/drivers/net/wireless/b2_bt/Module.symvers
+new file mode 100644
+index 0000000..e69de29
+diff --git a/drivers/net/wireless/b2_bt/README 
b/drivers/net/wireless/b2_bt/README
+new file mode 100644
+index 0000000..7c1cad4
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/README
+@@ -0,0 +1,102 @@
++===============================================================================
++                      U S E R  M A N U A L
++
++ Copyright (C) 2003-2008, Marvell International Ltd. 
++
++ This software file (the "File") is distributed by Marvell International 
++ Ltd. under the terms of the GNU General Public License Version 2, June 1991 
++ (the "License").  You may use, redistribute and/or modify this File in 
++ accordance with the terms and conditions of the License, a copy of which 
++ is available along with the File in the gpl.txt file or by writing to 
++ the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
++ 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++
++ THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE 
++ IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 
++ ARE EXPRESSLY DISCLAIMED.  The License provides additional details about 
++ this warranty disclaimer.
++
++===============================================================================
++
++1) FOR DRIVER BUILD
++
++      Goto source code directory src_xxxx.
++              make [clean] build
++      The driver binaries can be found in ../bin_bt directory.
++
++2) FOR DRIVER INSTALL
++
++      a) Copy helper_sd.bin and sd8688.bin | sd8689.bin | ... to 
/lib/firmware/mrvl/ 
++         directory, create the directory if it doesn't exist.
++      b) Install sdio bus driver and bluetooth driver,
++              ./load sd8688 | sd8689 | ...
++      c) Uninstall bluetooth driver and sdio bus driver,
++              ./unload
++3) cat /proc/net/mbt/hcix/config
++   This command is used to get the current driver settings. 
++
++4) cat /proc/net/mbt/hcix/status
++   This command is used to get driver status
++
++5) proc commands to config bluetooth parameters. 
++
++drvdbg=[n]
++   This command is used to set the bit masks of driver debug message control.
++
++      bit 0:  MSG             PRINTM(MSG,...)
++      bit 1:  FATAL           PRINTM(FATAL,...)
++      bit 2:  ERROR           PRINTM(ERROR,...)
++      bit 3:  CMD             PRINTM(CMD,...)
++      bit 27: DATA            DBG_HEXDUMP(DBG_DATA,...)
++      bit 28: ENTRY           PRINTM(ENTRY,...), ENTER(), LEAVE()
++      bit 29: WARN            PRINTM(WARN,...)
++      bit 30: INFO            PRINTM(INFO,...)
++
++      Usage:
++              echo "drvdbg=0x7" > /proc/net/mbt/hcix/config           #enable 
MSG,FATAL,ERROR messages
++
++gpio_gap=[n]
++   This command is used to configure the host sleep parameters.
++      bit 8:0  -- Gap
++      bit 16:8 -- GPIO
++
++      where GPIO is the pin number of GPIO used to wakeup the host. It could 
be any valid
++              GPIO pin# (e.g. 0-7) or 0xff (Interface, e.g. SDIO will be used 
instead).
++              
++      where Gap is the gap in milli seconds between wakeup signal and wakeup 
event 
++              or 0xff for special setting.
++      Usage:
++              echo "gpio_gap=0xff80" > /proc/net/mbt/hcix/config      # use 
Interface (e.g. SDIO)
++              echo "hscfgcmd=1" > /proc/net/mbt/hcix/config           # gap = 
0x80
++
++              echo "gpio_gap=0x03ff" > /proc/net/mbt/hcix/config      # use 
gpio 3
++              echo "hscfgcmd=1" > /proc/net/mbt/hcix/config           # and 
special host sleep mode
++
++psmode=[n]
++    This command is used to enable/disable auto sleep mode
++      
++      where the option is:
++                      1       -- Enable auto sleep mode
++                      0       -- Disable auto sleep mode
++      Usage:
++              echo "psmode=1" > /proc/net/mbt/hcix/config             #enable 
power save mode
++              echo "pscmd=1" > /proc/net/mbt/hcix/config
++
++              echo "psmode=0" > /proc/net/mbt/hcix/config             
#disable power save mode
++              echo "pscmd=1" > /proc/net/mbt/hcix/config
++              
++                                              
++
++6)Use hcitool to issue raw hci command, refer to hcitool manual
++
++      Usage: Hcitool cmd <ogf> <ocf> [Parameters]
++
++      1.Interface Control Command
++        hcitool cmd 0x3f 0x5b 0xf5 0x01 0x00    --Enable All interface
++        hcitool cmd 0x3f 0x5b 0xf5 0x01 0x01    --Enable Wlan interface
++        hcitool cmd 0x3f 0x5b 0xf5 0x01 0x02    --Enable BT interface
++        hcitool cmd 0x3f 0x5b 0xf5 0x00 0x00    --Disable All interface
++        hcitool cmd 0x3f 0x5b 0xf5 0x00 0x01    --Disable Wlan interface
++        hcitool cmd 0x3f 0x5b 0xf5 0x00 0x02    --Disable BT interface        
        
++
++==============================================================================
+diff --git a/drivers/net/wireless/b2_bt/bt/bt_drv.h 
b/drivers/net/wireless/b2_bt/bt/bt_drv.h
+new file mode 100644
+index 0000000..484b69a
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/bt/bt_drv.h
+@@ -0,0 +1,381 @@
++/** @file bt_drv.h
++ *  @brief This header file contains global constant/enum definitions,
++ *  global variable declaration.
++ *       
++ *  Copyright (C) 2007-2008, Marvell International Ltd.
++ *
++ *  This software file (the "File") is distributed by Marvell International 
++ *  Ltd. under the terms of the GNU General Public License Version 2, June 
1991 
++ *  (the "License").  You may use, redistribute and/or modify this File in 
++ *  accordance with the terms and conditions of the License, a copy of which 
++ *  is available along with the File in the gpl.txt file or by writing to 
++ *  the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
MA 
++ *  02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++ *
++ *  THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE 
++ *  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 
++ *  ARE EXPRESSLY DISCLAIMED.  The License provides additional details about 
++ *  this warranty disclaimer.
++ *
++ */
++
++#ifndef _BT_DRV_H_
++#define _BT_DRV_H_
++
++#ifndef BIT
++/** BIT definition */
++#define BIT(x) (1UL << (x))
++#endif
++
++/** Debug level : Message */
++#define       DBG_MSG                 BIT(0)
++/** Debug level : Fatal */
++#define DBG_FATAL             BIT(1)
++/** Debug level : Error */
++#define DBG_ERROR             BIT(2)
++/** Debug level : Command */
++#define DBG_CMD                       BIT(3)
++/** Debug level : Data */
++#define DBG_DATA              BIT(27)
++/** Debug level : Entry */
++#define DBG_ENTRY             BIT(28)
++/** Debug level : Warning */
++#define DBG_WARN              BIT(29)
++/** Debug level : Informative */
++#define DBG_INFO              BIT(30)
++
++#ifdef        DEBUG_LEVEL1
++extern u32 drvdbg;
++
++/** Print informative message */
++#define       PRINTM_INFO(msg...)  {if (drvdbg & DBG_INFO)  printk(KERN_DEBUG 
msg);}
++/** Print warning message */
++#define       PRINTM_WARN(msg...)  {if (drvdbg & DBG_WARN)  printk(KERN_DEBUG 
msg);}
++/** Print entry message */
++#define       PRINTM_ENTRY(msg...) {if (drvdbg & DBG_ENTRY) printk(KERN_DEBUG 
msg);}
++/** Print command message */
++#define       PRINTM_CMD(msg...)   {if (drvdbg & DBG_CMD)   printk(KERN_DEBUG 
msg);}
++/** Print erro message */
++#define       PRINTM_ERROR(msg...) {if (drvdbg & DBG_ERROR) printk(KERN_DEBUG 
msg);}
++/** Print fatal message */
++#define       PRINTM_FATAL(msg...) {if (drvdbg & DBG_FATAL) printk(KERN_DEBUG 
msg);}
++/** Print message */
++#define       PRINTM_MSG(msg...)   {if (drvdbg & DBG_MSG)   printk(KERN_ALERT 
msg);}
++
++/** Print message with required level */
++#define       PRINTM(level,msg...) PRINTM_##level(msg)
++
++/** Debug dump buffer length */
++#define DBG_DUMP_BUF_LEN      64
++/** Maximum number of dump per line */
++#define MAX_DUMP_PER_LINE     16
++/** Maximum data dump length */
++#define MAX_DATA_DUMP_LEN     48
++
++static inline void
++hexdump(char *prompt, u8 * buf, int len)
++{
++    int i;
++    char dbgdumpbuf[DBG_DUMP_BUF_LEN];
++    char *ptr = dbgdumpbuf;
++
++    printk(KERN_DEBUG "%s: len=%d\n", prompt, len);
++    for (i = 1; i <= len; i++) {
++        ptr += sprintf(ptr, "%02x ", *buf);
++        buf++;
++        if (i % MAX_DUMP_PER_LINE == 0) {
++            *ptr = 0;
++            printk(KERN_DEBUG "%s\n", dbgdumpbuf);
++            ptr = dbgdumpbuf;
++        }
++    }
++    if (len % MAX_DUMP_PER_LINE) {
++        *ptr = 0;
++        printk(KERN_DEBUG "%s\n", dbgdumpbuf);
++    }
++}
++
++/** Debug hexdump of debug data */
++#define DBG_HEXDUMP_DBG_DATA(x,y,z)     {if (drvdbg & DBG_DATA) 
hexdump(x,y,z);}
++
_______________________________________________
Commits mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/commits

Reply via email to