1. 14 Oct, 2015 2 commits
    • Manikanta Pubbisetty's avatar
      ath10k: select board data based on BMI chip id and board id · db0984e5
      Manikanta Pubbisetty authored
      QCA99X0 uses radio specific board names based on chip id and
      board id combinations. We get these IDs from the target using BMI after otp.bin
      has been started.
      
      This patch reorders the call to the function ath10k_core_fetch_board_file
      so that we have OTP binary before requesting for boardid-chipid. We get this
      OTP data after parsing firmware-N.bin.
      
      [kvalo@qca.qualcomm.com: try BMI_PARAM_GET_EEPROM_BOARD_ID with
       all boards and detect if command is not supported]
      Signed-off-by: default avatarManikanta Pubbisetty <c_mpubbi@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      db0984e5
    • Manikanta Pubbisetty's avatar
      ath10k: add board 2 API support · 0a51b343
      Manikanta Pubbisetty authored
      QCA6174 needs different board files based on board type. To make it easier to
      distribute multiple board files and automatically choose correct board file
      create a simple TLV file format following the same principles as with FW IEs.
      The file is named board-2.bin and contain multiple board files. Each board file
      then can have multiple names.
      
      ath10k searches for file board-N.bin (where N is the interface version number
      for the board file, just like we for firmware files) in /lib/firmware/*, for
      example for qca99x0 it will try to find it here:
      
      /lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
      
      If ath10k doesn't find board-2.bin then it will fallback to the old board.bin file.
      
      This patch adds a simple name scheme using pci device id which for now will be
      used by qca6174:
      
      bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x
      
      This removes the old method of having subsystem ids in ar->spec_board_id and
      using that in the board file name.
      Signed-off-by: default avatarManikanta Pubbisetty <c_mpubbi@qti.qualcomm.com>
      [kvalo@qca.qualcomm.com: simplified the file format, rewrote commit log, other smaller changes]
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      0a51b343
  2. 09 Oct, 2015 16 commits
  3. 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
  4. 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
  5. 29 Sep, 2015 11 commits