1. 03 3月, 2011 5 次提交
    • I
      wl12xx: Do end-of-transactions transfers only if needed · 606ea9fa
      Ido Yariv 提交于
      On newer hardware revisions, there is no need to write the host's
      counter at the end of a RX transaction. The same applies to writing the
      number of packets at the end of a TX transaction.
      
      It is generally a good idea to avoid unnecessary SDIO/SPI transfers.
      Throughput and CPU usage are improved when avoiding these.
      
      Send the host's RX counter and the TX packet count only if needed, based
      on the hardware revision.
      
      [Changed WL12XX_QUIRK_END_OF_TRANSACTION to use BIT(0) -- Luca]
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      606ea9fa
    • I
      wl12xx: Reorder data handling in irq_work · 8aad2464
      Ido Yariv 提交于
      The FW has a limited amount of memory for holding frames. In case it
      runs out of memory reserved for RX frames, it'll have no other choice
      but to drop packets received from the AP. Thus, it is important to
      handle RX data interrupts as soon as possible, before handling anything
      else.
      
      In addition, since there are enough TX descriptors to go around, it is
      better to first send TX frames, and only then handle TX completions.
      
      Fix this by changing the order of function calls in wl1271_irq_work.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      8aad2464
    • I
      wl12xx: Remove private headers in wl1271_tx_reset · 50e9f746
      Ido Yariv 提交于
      Frames in the tx_frames array include extra private headers, which must
      be removed before passing the skbs to ieee80211_tx_status.
      
      Fix this by removing any private headers in wl1271_tx_reset, similar to
      how this is done in wl1271_tx_complete_packet.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      50e9f746
    • I
      wl12xx: Don't rely on runtime PM for toggling power · 11251e7e
      Ido Yariv 提交于
      Runtime PM might not always be enabled. Even if it is enabled in the
      running kernel, it can still be temporarily disabled, for instance
      during suspend. Runtime PM is opportunistic in nature, and should not be
      relied on for toggling power.
      
      In case the interface is removed and re-added while runtime PM is
      disabled, the FW will fail to boot, as it is mandatory to toggle power
      between boots. For instance, this can happen during suspend in case one
      of the devices fails to suspend before the MMC host suspends, but after
      mac80211 was suspended. The interface will be removed and reactivated
      without toggling the power.
      
      Fix this by calling mmc_power_save_host/mmc_power_restore_host in
      wl1271_sdio_power_on/off functions. It will toggle the power to the chip
      even if runtime PM is disabled. The runtime PM functions should still be
      called to make sure runtime PM does not opportunistically power the chip
      off (e.g. after resuming from system suspend).
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      11251e7e
    • S
      wl12xx: fix the path to the wl12xx firmwares · f62c317c
      Sebastien Jan 提交于
      In the linux-firmware git tree, the firmwares and the NVS are inside
      the ti-connectivity directory.  Fix the filenames that the driver
      looks for accordingly.
      
      [Fixed commit message and merged with the latest changes. -- Luca]
      Signed-off-by: NSebastien Jan <s-jan@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      f62c317c
  2. 02 3月, 2011 6 次提交
  3. 01 3月, 2011 14 次提交
  4. 27 2月, 2011 5 次提交
  5. 26 2月, 2011 10 次提交