1. 31 1月, 2012 1 次提交
    • R
      ath6kl: Re-architect suspend mode handling in ath6kl_sdio_suspend · e390af77
      Raja Mani 提交于
      Using this patch, the user can bypass existing auto
      suspend mode selection logic and force ath6kl to enter
      into the suspend mode what he/she wants.
      
      If the user doesn't choose any suspend mode while doing
      insmod of the driver, auto suspend mode selection logic
      will kick in and choose suspend mode based on the host
      SDIO controller capability.
      
      Generic module parameter is required to specify suspend
      mode including Deep Sleep and WOW while doing insmod.
      Renaming existing mod param variable suspend_cutpower
      would be sufficient to meet this requirement.
      
      New module parameter suspend_mode can take any one of
      the below suspend state,
         1. cut power
         2. deep sleep
         3. wow
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e390af77
  2. 24 1月, 2012 1 次提交
  3. 18 1月, 2012 2 次提交
    • K
      ath6kl: add back beginnings of USB support · 241b128b
      Kalle Valo 提交于
      John Linville had to revert the part of USB support which was already
      in ath6kl due to build problems in commit cb00ec38 ("ath6kl: revert
      USB support"). Now that I fixed the build problems properly by adding
      ath6kl_core.ko kernel module it's possible to add back the
      (incomplete) USB support. This patch is a revert of John's patch and
      adds back the USB code which as already in ath6kl, only difference
      being minor changes in Makefile and adapting usb.c to new core
      function names.
      
      Note that USB support in ath6kl is not complete yet. This code only
      makes it possible to boot firmware but as HTC layer does not yet
      support USB it's not possible to send any WMI commands nor data
      packets to the firmware. That will be added soon.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      241b128b
    • K
      ath6kl: create core.c · 45eaa78f
      Kalle Valo 提交于
      Currently core functions are spread between various files, group all
      the functions into file and rename the functions to follow the style
      used elsewhere in the driver. This will make it easier to a separate core
      module.
      
      Also fix a bug where wiphy is freed too early.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      45eaa78f
  4. 12 1月, 2012 1 次提交
    • S
      ath6kl: Fix SDIO error path · 866dc886
      Sujith Manoharan 提交于
      sdio_release_host() would be called twice if sdio_set_block_size()
      fails for some reason, which would result in the following warning.
      
      WARNING: at /home/sujith/dev/wireless-testing/drivers/mmc/core/core.c:828 mmc_release_host+0x42/0x50 [mmc_core]()
      
      Call Trace:
      [<ffffffff81064fdf>] warn_slowpath_common+0x7f/0xc0
      [<ffffffff8106503a>] warn_slowpath_null+0x1a/0x20
      [<ffffffffa03beb42>] mmc_release_host+0x42/0x50 [mmc_core]
      [<ffffffffa03c917e>] sdio_release_host+0x1e/0x30 [mmc_core]
      [<ffffffffa053fac7>] ath6kl_sdio_config+0xc7/0x110 [ath6kl_sdio]
      [<ffffffffa053fd2c>] ath6kl_sdio_probe+0x21c/0x320 [ath6kl_sdio]
      [<ffffffffa03beb2a>] ? mmc_release_host+0x2a/0x50 [mmc_core]
      [<ffffffffa03c7d2a>] sdio_bus_probe+0xfa/0x130 [mmc_core]
      [<ffffffff813015ae>] driver_probe_device+0x7e/0x1b0
      [<ffffffff8130178b>] __driver_attach+0xab/0xb0
      [<ffffffff813016e0>] ? driver_probe_device+0x1b0/0x1b0
      [<ffffffff813016e0>] ? driver_probe_device+0x1b0/0x1b0
      [<ffffffff81300504>] bus_for_each_dev+0x64/0xa0
      [<ffffffff8130123e>] driver_attach+0x1e/0x20
      [<ffffffff81300e80>] bus_add_driver+0x1b0/0x280
      [<ffffffffa0065000>] ? 0xffffffffa0064fff
      [<ffffffff81301d06>] driver_register+0x76/0x140
      [<ffffffffa0065000>] ? 0xffffffffa0064fff
      [<ffffffffa03c7b71>] sdio_register_driver+0x21/0x30 [mmc_core]
      [<ffffffffa0065012>] ath6kl_sdio_init+0x12/0x35 [ath6kl_sdio]
      [<ffffffff81002042>] do_one_initcall+0x42/0x180
      [<ffffffff810b025f>] sys_init_module+0x8f/0x200
      [<ffffffff81425ac2>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      866dc886
  5. 09 1月, 2012 1 次提交
  6. 05 1月, 2012 1 次提交
  7. 23 12月, 2011 1 次提交
    • K
      ath6kl: handle firmware names more dynamically · c0038972
      Kalle Valo 提交于
      Currently ath6kl has just hardcoded paths to each firmware file. Change
      this more dynamic by separating the the directory and file name from each
      other. That way it's easier to dynamically create full paths to firmware and
      code looks better. And now it's possible to remove a function needed by
      devicetree code.
      
      While at it add a structure inside struct ath6kl_hw to contain all
      firmware names. I deliberately omitted board file support as
      those will be handled later.
      
      This is needed for firmware API 3.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c0038972
  8. 13 12月, 2011 1 次提交
    • K
      ath6kl: implement scheduled scan · 10509f90
      Kalle Valo 提交于
      ath6kl firmware supports scheduled scan functionality with the wow ssid
      filter. But the firmware does not send any events after scan results
      so I had to add a timer which notifies about new scan results.
      
      Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't
      support sched scan the driver will not enable the feature.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      10509f90
  9. 22 11月, 2011 1 次提交
    • R
      ath6kl: Use mutex to protect dma buffer in sync read write · fdb28589
      Raja Mani 提交于
      Firmware crashes while starting Soft AP in 32 bit x86 platform.
      The reason is that the single dma buffer (ar_sdio->dma_buffer)
      is used in ath6kl_sdio_read_write_sync() for unaligned buffer
      handling and this function is called in the multiple context
      at the same time. So, finally hits dma buffer corruption and
      firmware crash.
      
      Mutex is used to protect dma buffer to avoid data corruption.
      Spin lock can not used to fix this issue since mmc stack
      read/write calls may for sleep.
      
      Observed this issue with recently commited patch
      "ath6kl: Claim sdio function only at appropriate places"
      861dd058
      
      kvalo: change name of mutex to more descriptive and add a comment
      about what it protects
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      fdb28589
  10. 16 11月, 2011 2 次提交
  11. 13 11月, 2011 6 次提交
  12. 11 11月, 2011 20 次提交
  13. 01 11月, 2011 1 次提交
  14. 29 9月, 2011 1 次提交