1. 02 5月, 2011 5 次提交
  2. 29 4月, 2011 1 次提交
    • A
      wl12xx: support FW TX inactivity triggers · 47684808
      Arik Nemtsov 提交于
      In AP mode we register for the MAX_TX_RETRY and INACTIVE_STA events.
      Both are reported to the upper layers as a TX failure in the offending
      stations.
      
      In STA mode we register only for the MAX_TX_RETRY event. A TX failure is
      interpreted as a loss of connection.
      
      Support for IEEE80211_HW_REPORTS_TX_ACK_STATUS has been removed to avoid
      the inherent race condition of a mac80211 TX failure counter in addition
      to the FW counter.
      
      This patch depends on "mac80211: allow low level driver to report packet
      loss"
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      47684808
  3. 19 4月, 2011 3 次提交
    • I
      wl12xx: Simplify TX blocks accounting · d2f4d47d
      Ido Yariv 提交于
      The total number of TX memory blocks may change when the dynamic memory
      option is enabled. The current implementation only tracks the available
      memory blocks, which over-complicates TX blocks accounting.
      
      By tracking the number of allocated blocks, calculation of the number of
      available blocks becomes simpler and cleaner. It simply equals the total
      number of TX memory blocks minus the allocated ones.
      
      Also, remove some unnecessary castings and use union member accesses
      instead.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      d2f4d47d
    • S
      wl12xx: 1281/1283 support - use dynamic memory for the RX/TX pools · 13b107dd
      Shahar Levi 提交于
      Separate the memory configuration to chip-specific structures and
      implement dynamic memory for wl128x.
      
      This feature allows us to move TX memory blocks to the RX pool when
      the RX path is overloaded.
      
      Thanks for Arik Nemtsov <arik@wizery.com> for helping simplify the
      wl1271_fw_status() code.
      
      [Rewrote the commit subject and message for clarity; improved some
      comments and changed "spare" to "padding" for consistency; added a
      FIXME for the AP memory configuration -- Luca]
      Signed-off-by: NShahar Levi <shahar_levi@ti.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      13b107dd
    • S
      wl12xx: 1281/1283 support - Add acx commands · 48a61477
      Shahar Levi 提交于
      New acx command that sets: Rx fifo enable reduced bus transactions
      in RX path. Tx bus transactions padding to SDIO block size that
      improve preference in Tx and essential for working with SDIO HS (48Mhz).
      The max SDIO block size is 256 when working with Tx bus transactions
      padding to SDIO block.
      
      Add new ops to SDIO & SPI that handles the win size change in case of
      transactions padding (relevant only for SDIO).
      
      [Fix endianess issues; simplify sdio-specific block_size handling;
      minor changes in comments; use "aligned_len" in one calculation
      instead of "pad" to avoid confusion -- Luca]
      Signed-off-by: NShahar Levi <shahar_levi@ti.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      48a61477
  4. 03 3月, 2011 1 次提交
  5. 23 2月, 2011 2 次提交
  6. 09 2月, 2011 4 次提交
  7. 25 1月, 2011 6 次提交
    • L
      wl12xx: BA receiver support · bbba3e68
      Levi, Shahar 提交于
      Add new ampdu_action ops to support receiver BA.
      The BA initiator session management in FW independently.
      Signed-off-by: NShahar Levi <shahar_levi@ti.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      bbba3e68
    • L
      wl12xx: BA initiator support · 4b7fac77
      Levi, Shahar 提交于
      Add 80211n BA initiator session support wl1271 driver.
      Include BA supported FW version auto detection mechanism.
      BA initiator session management included in FW independently.
      Signed-off-by: NShahar Levi <shahar_levi@ti.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      4b7fac77
    • E
      wl12xx: fix some endianess bugs · 1d4801f2
      Eliad Peller 提交于
      pointed out by sparse warnings:
      
        CHECK   drivers/net/wireless/wl12xx/cmd.c
      drivers/net/wireless/wl12xx/cmd.c:987:20: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/wl12xx/cmd.c:987:20:    expected restricted __le16 [usertype] aging_period
      drivers/net/wireless/wl12xx/cmd.c:987:20:    got int
        CHECK   drivers/net/wireless/wl12xx/tx.c
      drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16
      drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16
      drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16
        CHECK   drivers/net/wireless/wl12xx/acx.c
      drivers/net/wireless/wl12xx/acx.c:816:23: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/wl12xx/acx.c:816:23:    expected restricted __le32 [usertype] rate_policy_idx
      drivers/net/wireless/wl12xx/acx.c:816:23:    got unsigned char [unsigned] [usertype] idx
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      1d4801f2
    • A
      wl12xx: AP mode - AP specific CMD_CONFIGURE sub-commands · 79b223f4
      Arik Nemtsov 提交于
      Add AP max retries and rate policy configuration.
      Rename STA rate policy configuration function.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      79b223f4
    • A
      wl12xx: Add AP related configuration to conf_drv_settings · 1e05a818
      Arik Nemtsov 提交于
      Rate class configuration has been split up for AP and STA modes.
      Template related configuration likewise separated.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      1e05a818
    • E
      wl12xx: fix some sparse warnings · 6177eaea
      Eliad Peller 提交于
      Note that wl1271_write32() calls cpu_to_le32() by itself, so calling
      wl1271_write32(addr, cpu_to_le32(val)) is in fact a bug on BE systems.
      
      Fix the following sparse warnings:
      
      drivers/net/wireless/wl12xx/cmd.c:662:16: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/wl12xx/cmd.c:662:16:    expected unsigned short [unsigned] [addressable] [usertype] llc_type
      drivers/net/wireless/wl12xx/cmd.c:662:16:    got restricted __be16 [usertype] <noident>
      drivers/net/wireless/wl12xx/cmd.c:674:17: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/wl12xx/cmd.c:674:17:    expected unsigned int [unsigned] [addressable] [usertype] sender_ip
      drivers/net/wireless/wl12xx/cmd.c:674:17:    got restricted __be32 [usertype] ip_addr
      drivers/net/wireless/wl12xx/rx.c:202:4: warning: incorrect type in argument 3 (different base types)
      drivers/net/wireless/wl12xx/rx.c:202:4:    expected unsigned int [unsigned] [usertype] val
      drivers/net/wireless/wl12xx/rx.c:202:4:    got restricted __le32 [usertype] <noident>
      drivers/net/wireless/wl12xx/acx.c:1247:23: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/wl12xx/acx.c:1247:23:    expected restricted __le32 [usertype] ht_capabilites
      drivers/net/wireless/wl12xx/acx.c:1247:23:    got unsigned long
      drivers/net/wireless/wl12xx/acx.c:1250:24: warning: invalid assignment: |=
      drivers/net/wireless/wl12xx/acx.c:1250:24:    left side has type restricted __le32
      drivers/net/wireless/wl12xx/acx.c:1250:24:    right side has type unsigned long
      drivers/net/wireless/wl12xx/acx.c:1253:24: warning: invalid assignment: |=
      drivers/net/wireless/wl12xx/acx.c:1253:24:    left side has type restricted __le32
      drivers/net/wireless/wl12xx/acx.c:1253:24:    right side has type unsigned long
      drivers/net/wireless/wl12xx/acx.c:1256:24: warning: invalid assignment: |=
      drivers/net/wireless/wl12xx/acx.c:1256:24:    left side has type restricted __le32
      drivers/net/wireless/wl12xx/acx.c:1256:24:    right side has type unsigned long
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      6177eaea
  8. 15 12月, 2010 1 次提交
  9. 22 11月, 2010 2 次提交
  10. 16 11月, 2010 1 次提交
  11. 28 9月, 2010 1 次提交
  12. 25 8月, 2010 1 次提交
  13. 09 7月, 2010 3 次提交
  14. 29 4月, 2010 1 次提交
  15. 10 4月, 2010 1 次提交
  16. 07 4月, 2010 1 次提交
  17. 01 4月, 2010 2 次提交
  18. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  19. 24 3月, 2010 3 次提交