1. 19 Oct, 2015 1 commit
    • Anilkumar Kolli's avatar
      ath10k: disable PCI PS for QCA988X and QCA99X0 · 1aaf8efb
      Anilkumar Kolli authored
      This patch disables PCI PS for QCA988X and QCA99X0, Since PCI PS is
      validated for QCA6174, let it be enabled only for QCA6174. It would be
      better to execute PCI PS related functions only for the supported devices.
      
      PCI time out issue is observed with QCA99X0 on x86 platform, We will
      disable PCI PS for QCA988X and QCA99X0 until PCI PS is properly implemented.
      
      Taking and releasing ps_lock is causing higher CPU consumption. Michal Kazior
      suggested ps_lock overhead to be reworked so that ath10k_pci_wake/sleep
      functions are called less often, i.e. move the powersave logic up (only during
      irq handling, tx path, submitting fw commands) but that's a bigger change and
      can be implemented later.
      Signed-off-by: default avatarAnilkumar Kolli <akolli@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      1aaf8efb
  2. 16 Oct, 2015 7 commits
  3. 14 Oct, 2015 4 commits
  4. 09 Oct, 2015 16 commits
  5. 06 Oct, 2015 10 commits
    • Peter Oh's avatar
      ath10k: use pre-allocated DMA buffer in Tx · 683b95e8
      Peter Oh authored
      ath10k driver is using dma_pool_alloc per packet and dma_pool_free
      in coresponding at Tx completion.
      Use of pre-allocated DMA buffer in Tx will improve saving CPU resource
      by 5% while it consumes about 56KB memory more as trade off.
      Signed-off-by: default avatarPeter Oh <poh@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      683b95e8
    • Peter Oh's avatar
      ath10k: use Rx decap mode configured when driver registered · bc27e8cd
      Peter Oh authored
      ath10k is using Native WiFi mode as default mode for both of
      Tx and Rx path, but it could be changed when driver registers
      with a module parameter for specific purpose such as mesh.
      
      The Rx decap mode sent to firmware during WMI initialization should
      use the same mode that driver configured at its registration stage
      in case of using raw mode, so that host driver receives MAC frame
      header containing necessary fields such as QoS and Mesh Control
      and uses them in right way to make data traffic work.
      Signed-off-by: default avatarPeter Oh <poh@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      bc27e8cd
    • Maharaja Kennadyrajan's avatar
      ath10k: implement debugfs interface for Transmit Power Control stats · 29542666
      Maharaja Kennadyrajan authored
      The Transmit Power Control (TPC) dump will show the power control values for
      each rate which makes it easier to debug calibration problems.
      
      Example usage:
      
      # cat /sys/kernel/debug/ieee80211/phy0/ath10k/tpc_stats
      TPC config for channel  5180  mode  10
      
      CTL             = 0x10 Reg. Domain              = 58
      Antenna Gain    = 1    Reg. Max Antenna Gain    = 0
      Power Limit     = 34   Reg. Max Power           = 34
      Num tx chains   = 3    Num supported rates      = 155
      
      **********CDD POWER TABLE*******
      
      No.  Preamble Rate_code tpc_valu1 tpc_value2 tpc_value3
      0       CCK     0x40       0            0       0
      1       CCk     0x41       0            0       0
      
      [...]
      
      154     HTCUP   0x 0       24           0       0
      **********STBC POWER TABLE******
      No.  Preamble Rate_code tpc_valu1 tpc_value2 tpc_value3
      0       CCK     0x40       0            0       0
      
      [...]
      
      154     HTCUP   0x 0       24           24      0
      **********TXBF POWER TABLE******
      
      is used to dump the tx power control stats.
      Signed-off-by: default avatarMaharaja Kennadyrajan <c_mkenna@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      29542666
    • Kalle Valo's avatar
      ath10k: add a_sle32_to_cpu() · 3b8fc902
      Kalle Valo authored
      Copy a_sle32_to_cpu() from ath6kl so that we can easily handle signed __le32
      values. This is needed in struct wmi_pdev_tpc_config_event.
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      3b8fc902
    • Kalle Valo's avatar
      ath10k: split an unnecessary long line · 2a995088
      Kalle Valo authored
      from checkpatch:
      
      drivers/net/wireless/ath/ath10k/mac.c:1113: line over 90 characters
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      2a995088
    • Kalle Valo's avatar
      ath10k: fix whitespace usage · 9a14969f
      Kalle Valo authored
      checkpatch found:
      
      drivers/net/wireless/ath/ath10k/core.c:574: Blank lines aren't necessary before a close brace '}'
      drivers/net/wireless/ath/ath10k/mac.c:4067: Missing a blank line after declarations
      drivers/net/wireless/ath/ath10k/mac.c:4083: Missing a blank line after declarations
      drivers/net/wireless/ath/ath10k/mac.c:4084: spaces required around that '>>=' (ctx:WxV)
      drivers/net/wireless/ath/ath10k/pci.c:1507: Missing a blank line after declarations
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      9a14969f
    • Kalle Valo's avatar
      ath10k: remove void function return statements · 92438a2c
      Kalle Valo authored
      drivers/net/wireless/ath/ath10k/wmi.c:3023: void function return statements are not generally useful
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      92438a2c
    • Kalle Valo's avatar
      ath10k: brace style fixes · b9e284e5
      Kalle Valo authored
      drivers/net/wireless/ath/ath10k/htt_tx.c:457: braces {} are not necessary for single statement blocks
      drivers/net/wireless/ath/ath10k/htt_tx.c:545: braces {} are not necessary for single statement blocks
      drivers/net/wireless/ath/ath10k/mac.c:200: braces {} are not necessary for single statement blocks
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      b9e284e5
    • Kalle Valo's avatar
      ath10k: indentation fixes · 617b0f4d
      Kalle Valo authored
      checkpatch found:
      
      drivers/net/wireless/ath/ath10k/core.c:513: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/core.c:1266: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/core.c:1267: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/core.c:1268: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/core.c:1269: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/mac.c:4659: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/mac.c:6271: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/pci.c:2260: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/wmi.c:3510: Alignment should match open parenthesis
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      617b0f4d
    • Kalle Valo's avatar
      ath10k: fix checkpatch warning about logical continuations · be62e92a
      Kalle Valo authored
      checkpatch found:
      
      drivers/net/wireless/ath/ath9k/core.c:490: Logical continuations should be on the previous line
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      be62e92a
  6. 05 Oct, 2015 1 commit
    • Kalle Valo's avatar
      Merge ath-next from ath.git · f79683de
      Kalle Valo authored
      Major changes in ath10k:
      
      * add spectral scan support for 10.4 firmware
      * add qca6164 support
      * implement mesh support using firmware raw mode
      f79683de
  7. 29 Sep, 2015 1 commit
    • Dan Carpenter's avatar
      mwifiex: fix mwifiex_rdeeprom_read() · 1f9c6e1b
      Dan Carpenter authored
      There were several bugs here.
      
      1)  The done label was in the wrong place so we didn't copy any
          information out when there was no command given.
      
      2)  We were using PAGE_SIZE as the size of the buffer instead of
          "PAGE_SIZE - pos".
      
      3)  snprintf() returns the number of characters that would have been
          printed if there were enough space.  If there was not enough space
          (and we had fixed the memory corruption bug #2) then it would result
          in an information leak when we do simple_read_from_buffer().  I've
          changed it to use scnprintf() instead.
      
      I also removed the initialization at the start of the function, because
      I thought it made the code a little more clear.
      
      Fixes: 5e6e3a92 ('wireless: mwifiex: initial commit for Marvell mwifiex driver')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      1f9c6e1b