1. 07 6月, 2016 2 次提交
  2. 02 6月, 2016 3 次提交
  3. 25 5月, 2016 1 次提交
  4. 12 5月, 2016 1 次提交
  5. 06 5月, 2016 3 次提交
    • R
      ath10k: release pre_cal_file while unloading driver · 9a5f91a1
      Rajkumar Manoharan 提交于
      Failing to release pre_cal_file caldata on deinit causes memory leak.
      
      Fixes: b131129d ("ath10k: fix calibration init sequence of qca99x0")
      Signed-off-by: NRajkumar Manoharan <rmanohar@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      9a5f91a1
    • R
      ath10k: update bss channel survey information · fa7937e3
      Rajkumar Manoharan 提交于
      During hw scan, firmware sends two channel information events (pre-
      complete, complete) to host for each channel change. The snap shot of cycle
      counters (rx_clear and total) between these two events are given for
      survey dump. In order to get latest survey statistics of all channels, a
      scan request has to be issued. In general, an AP DUT is brought up, it
      won't leave BSS channel except few cases like overlapping bss or radar
      detection. So survey statistics of bss channel is always referring to
      older data that are collected before starting AP (either ACS/OBSS scan).
      
      To collect latest survey information from target, firmware provides WMI
      interface to read cycle counters from hardware. For each survey dump
      request, BSS channel cycle counters are read and cleared in hardware.
      This makes sure that behavior is in align with ath9k survey report.
      So survey dump always gives snap shot of cycle counters b/w two survey
      requests.
      Signed-off-by: NYanbo Li <yanbol@qca.qualcomm.com>
      Signed-off-by: NRajkumar Manoharan <rmanohar@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      fa7937e3
    • A
      ath10k: fix kernel panic, move arvifs list head init before htt init · 4ad24a9d
      Anilkumar Kolli 提交于
      It is observed that while loading and unloading ath10k modules
      in an infinite loop, before ath10k_core_start() completion HTT
      rx frames are received, while processing these frames,
      dereferencing the arvifs list code is getting hit before
      initilizing the arvifs list, causing a kernel panic.
      
      This patch initilizes the arvifs list before initilizing htt.
      
      Fixes the below issue:
       [<bf88b058>] (ath10k_htt_rx_pktlog_completion_handler+0x278/0xd08 [ath10k_core])
       [<bf88b058>] (ath10k_htt_rx_pktlog_completion_handler [ath10k_core])
       [<bf88c0dc>] (ath10k_htt_txrx_compl_task+0x5f4/0xeb0 [ath10k_core])
       [<bf88c0dc>] (ath10k_htt_txrx_compl_task [ath10k_core])
       [<c0234100>] (tasklet_action+0x8c/0xec)
       [<c0234100>] (tasklet_action)
       [<c02337c0>] (__do_softirq+0xf8/0x228)
       [<c02337c0>] (__do_softirq)  [<c0233920>] (run_ksoftirqd+0x30/0x90)
       Code: e5954ad8 e2899008 e1540009 0a00000d (e5943008)
       ---[ end trace 71de5c2e011dbf56 ]---
       Kernel panic - not syncing: Fatal exception in interrupt
      
      Fixes: 500ff9f9 ("ath10k: implement chanctx API")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAnilkumar Kolli <akolli@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      4ad24a9d
  6. 21 4月, 2016 8 次提交
  7. 19 4月, 2016 1 次提交
    • R
      ath10k: add dynamic tx mode switch config support for qca4019 · 7e247a9e
      Raja Mani 提交于
      push-pull mode needs certain amount the host driver involvement for
      managing queues in the host memory and packet delivery to firmware.
      qca4019 wifi firmware has an option to stay in push mode for less
      number of active traffic flow and then switch to push-pull mode when
      the active traffic flow goes beyond the certain limit.
      
      The advantage of staying in push mode for less active traffic is, the
      host cpu consumption is reduced. qca4019 firmware supports this
      flexibility of the mode switch. It takes the host driver interest
      (LOW_PERF/HIGH_PERF) via WMI_EXT_RESOURCE_CFG_CMDID,
      
       LOW_PERF  - fw would stay in push mode and switch to push-pull
                     based on demand.
       HIGH_PERF - fw would stay in push-pull mode from the boot.
      
      To make this configuration generic, new WMI services
      WMI_SERVICE_TX_MODE_PUSH_ONLY, WMI_SERVICE_TX_MODE_PUSH_PULL,
      WMI_SERVICE_TX_MODE_DYNAMIC are introduced to take dynamic tx mode
      switch support availability in firmware.
      Based on WMI_SERVICE_TX_MODE_DYNAMIC, LOW_PERF or HIGHT_PERF is
      configured to the firmware.
      Signed-off-by: NRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: NTamizh chelvam <c_traja@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      7e247a9e
  8. 04 4月, 2016 1 次提交
  9. 23 3月, 2016 4 次提交
    • M
      ath10k: enable debugfs provision to enable Peer Stats feature · cc61a1bb
      Mohammed Shafi Shajakhan 提交于
      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: NMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      cc61a1bb
    • R
      ath10k: incorporate qca4019 cal data download sequence · 3d9195ea
      Raja Mani 提交于
      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: NRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      3d9195ea
    • R
      ath10k: move cal data len to hw_params · 0b8e3c4c
      Raja Mani 提交于
      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: NRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      0b8e3c4c
    • R
      ath10k: pass cal data location as an argument to ath10k_download_cal_{file|dt} · f454add4
      Raja Mani 提交于
      Both ath10k_download_cal_file() and ath10k_download_cal_dt() uses
      hard coded file pointer (ar->cal_file) and device tree entry
      (qcom,ath10k-calibration-data) respectively to get calibration
      data content.
      
      There is a need to use those two functions in qca4019 calibration
      download sequence with different file pointer and device tree entry name.
      Modify those two functions to take cal data location as an argument.
      So that it can serve the purpose for other file pointer and device
      tree entry.
      
      This is just preparation before adding actual qca4019 calibration
      download sequence. No functional changes.
      Signed-off-by: NRaja Mani <rmani@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      f454add4
  10. 18 3月, 2016 1 次提交
  11. 06 3月, 2016 2 次提交
  12. 04 3月, 2016 1 次提交
    • A
      ath10k: reduce number of peers to support peer stats feature · af9a6a3a
      Anilkumar Kolli 提交于
      To enable per peer stats feature we are reducing the number of peers.
      Firmware has introduced tx stats feature. We have memory limitation in
      firmware to add these additional bytes.
      
      These are the new variables introduced in the firmware.
      ========		=======================
      Variable	      	Bytes required/per rate
      ========		=======================
      TX success packets 	1
      TX failed packets	1
      Retry packets		1
      Success bytes		2
      TX failed bytes		2
      Retry bytes		2
      Tx duration		4
      Rate			1
      Bw and AMPDU flags	1
      Total			16 (because of allocation in word pattern)
      
      Firmware sends these tx_stats in pktlog.
      If we consider 4 feedbacks at a time, Frimware need about ~1K memory for coding
      and 8192 bytes required / per rate [ 4*16*128(peers)].
      To accommodate this firmware needs to reduce 10 peers.
      
      This fixes a firmware crash with firmware-5.bin_10.2.4.70.22-2.
      Signed-off-by: NAnilkumar Kolli <akolli@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      af9a6a3a
  13. 02 2月, 2016 2 次提交
  14. 28 1月, 2016 2 次提交
  15. 30 11月, 2015 3 次提交
  16. 23 11月, 2015 1 次提交
  17. 13 11月, 2015 4 次提交