1. 12 Apr, 2016 1 commit
  2. 07 Apr, 2016 1 commit
  3. 23 Mar, 2016 3 commits
    • Mohammed Shafi Shajakhan's avatar
      ath10k: enable debugfs provision to enable Peer Stats feature · cc61a1bb
      Mohammed Shafi Shajakhan authored
      
      
      Provide a debugfs entry to enable/ disable Peer Stats feature.
      Peer Stats feature is for developers/users who are more interested
      in studying in Rx/Tx stats with multiple clients connected, hence
      disable this by default. Enabling this feature by default results
      in unneccessary processing of Peer Stats event for every 500ms
      and updating peer_stats list (allocating memory) and cleaning it up
      ifexceeds the higher limit and this can be an unnecessary overhead
      during long run stress testing.
      Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      cc61a1bb
    • Raja Mani's avatar
      ath10k: incorporate qca4019 cal data download sequence · 3d9195ea
      Raja Mani authored
      
      
      qca4019 calibration data is stored in the host memory and it's mandatory
      to download it even before reading board id and chip id from the target.
      Also, there is a need to execute otp (download and run) twice, one after
      cal data download and another one after board data download.
      
      Existing cal data file name 'cal-<bus>-<id>.bin' and device tree entry
      'qcom,ath10k-calibration-data' used in ath10k has assumption that it
      carries other data (like board data) also along with the calibration data.
      But, qca4019 cal data contains pure calibration data (doesn't include
      any other info). So, using existing same cal file name and DT entry
      in qca4019 case would alter the purpose of it. To avoid this, new cal
      file name 'pre-cal-<bus>-<id>.bin' and new device tree entry name
      'qcom,ath10k-pre-calibration-data are introduced.
      
      Overall qca4019's firmware download sequence would look like,
      
         1) Download cal data (either from a file or device tree entry)
            at the address specified by target in the host interest area
            member "hi_board_data".
      
         2) Download otp and run with 0x10 (PARAM_GET_EEPROM_BOARD_ID)
            as a argument.
      
            At this point, otp will take back up of downloaded cal data
            content in another location in the target and return valid
            board id and chip id to the host.
      
         3) Download board data at the address specified by target
            in host interest area member "hi_board_data".
      
         4) Download otp and run with 0x10000 (PARAM_FLASH_SECTION_ALL) as
            a argument.
      
            Now otp will apply cal data content from it's backup on top
            of board data download in step 3 and prepare final data base.
      
         5) Download code swap and athwlan binary content.
      
      Above sequences are implemented (step 1 to step 4) in the name of
      pre calibration configuration.
      Signed-off-by: default avatarRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      3d9195ea
    • Raja Mani's avatar
      ath10k: move cal data len to hw_params · 0b8e3c4c
      Raja Mani authored
      
      
      ath10k_download_cal_dt() compares obtained cal data content length
      against QCA988X_CAL_DATA_LEN (2116 bytes). It was written by keeping
      qca988x in mind. In fact, cal data length is more chip specific.
      To make ath10k_download_cal_dt() more generic and reusable for other
      chipsets (like qca4019), cal data length is moved to hw_params.
      Signed-off-by: default avatarRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      0b8e3c4c
  4. 18 Mar, 2016 1 commit
    • Rajkumar Manoharan's avatar
      ath10k: handle channel change htt event · 2ce9b25c
      Rajkumar Manoharan authored
      
      
      Whenever firmware is configuring operating channel during scan or
      home channel, channel change event will be indicated to host. In some
      cases (device probe/ last vdev down), target will be configured to
      default channel whereas host is unaware of target's operating channel.
      This leads to packet drop due to unknown channel and kernel log will be
      filled up with "no channel configured; ignoring frame(s)!". Fix that
      by handling HTT_T2H_MSG_TYPE_CHAN_CHANGE event.
      Signed-off-by: default avatarRajkumar Manoharan <rmanohar@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      2ce9b25c
  5. 06 Mar, 2016 7 commits
  6. 02 Feb, 2016 1 commit
  7. 28 Jan, 2016 2 commits
    • Raja Mani's avatar
      ath10k: add basic skeleton to support ahb · 0b523ced
      Raja Mani authored
      
      
      qca4019 uses ahb instead of pci where it slightly differs in device
      enumeration, clock control, reset control, etc. Good thing is that
      ahb also uses copy engine for the data transaction. So, the most of
      the stuff implemented in pci.c/ce.c are reusable in ahb case too.
      
      Device enumeration in ahb case comes through platform driver/device
      model. All resource details like irq, memory map, clocks, etc for
      qca4019 can be fetched from of_node of platform device.
      
      Simply flow would look like,
      
       device tree => platform device (kernel) => platform driver (ath10k)
      
      Device tree entry will have all qca4019 resource details and the same
      info will be passed to kernel. Kernel will prepare new platform device
      for that entry and expose DT info to of_node in platform device.
      Later, ath10k would register platform driver with unique compatible name
      and then kernels binds to corresponding compatible entry & calls ath10k
      ahb probe functions. From there onwards, ath10k will take control of it
      and move forward.
      
      New bool flag CONFIG_ATH10K_AHB is added in Kconfig to conditionally
      enable ahb support in ath10k. On enabling this flag, ath10k_pci.ko
      will have ahb support. This patch adds only basic skeleton and few
      macros to support ahb in the context of qca4019.
      Signed-off-by: default avatarRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      0b523ced
    • Michal Kazior's avatar
      ath10k: add new FW_FEATURE_PEER_FLOW_CONTROL · 9b783763
      Michal Kazior authored
      
      
      This feature flag will be used for firmware which
      supports pull-push model where host shares it's
      software queue state with firmware and firmware
      generates fetch requests telling host which queues
      to dequeue tx from.
      
      Primary function of this is improved MU-MIMO
      performance with multiple clients.
      Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      9b783763
  8. 26 Jan, 2016 1 commit
  9. 21 Jan, 2016 1 commit
  10. 23 Nov, 2015 9 commits
  11. 12 Nov, 2015 1 commit
  12. 04 Nov, 2015 3 commits
  13. 29 Oct, 2015 3 commits
  14. 28 Oct, 2015 1 commit
    • Maharaja's avatar
      ath10k: enable adaptive CCA · 62f77f09
      Maharaja authored
      
      
      European Union has made it mandatory that all devices working in 2.4 GHz
      has to adhere to the ETSI specification (ETSI EN 300 328 V1.9.1)
      beginnig this year. The standard basically speaks about interferences
      in 2.4Ghz band.
      For example, when 802.11 device detects interference, TX must be stopped
      as long as interference is present.
      
      Adaptive CCA is a feature, when enabled the device learns from the
      environment and configures CCA levels adaptively. This will improve
      detecting interferences and the device can stop trasmissions till the
      interference is present eventually leading to good performances in
      varying interference conditions.
      
      The patch includes code for enabling adaptive CCA for 10.2.4 firmware on
      QCA988X.
      Signed-off-by: default avatarMaharaja <c_mkenna@qti.qualcomm.com>
      Signed-off-by: default avatarManikanta Pubbisetty <c_mpubbi@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      62f77f09
  15. 13 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
  16. 06 Oct, 2015 1 commit
    • 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
  17. 04 Oct, 2015 1 commit
  18. 09 Sep, 2015 1 commit