1. 27 9月, 2012 1 次提交
  2. 23 6月, 2012 1 次提交
  3. 22 6月, 2012 3 次提交
  4. 14 6月, 2012 1 次提交
  5. 05 6月, 2012 2 次提交
  6. 30 5月, 2012 1 次提交
  7. 16 5月, 2012 1 次提交
  8. 12 4月, 2012 11 次提交
  9. 15 2月, 2012 1 次提交
  10. 15 12月, 2011 1 次提交
    • L
      wl12xx: don't write out of bounds when hlid > WL12XX_MAX_LINKS · f414218e
      Luciano Coelho 提交于
      We should not get an hlid value bigger than WL12XX_MAX_LINKS from
      wl1271_rx_handle_data().  We have a WARN_ON in case it happens.  But
      despite the warning, we would still go ahead and write the hlid bit
      into active_hlids (a stack variable).  This would cause us to
      overwrite other data in the stack.
      
      To avoid this problem, we now skip the write when issuing the warning,
      so at least we don't corrupt data.
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      f414218e
  11. 11 10月, 2011 2 次提交
  12. 07 10月, 2011 1 次提交
  13. 14 9月, 2011 2 次提交
  14. 22 8月, 2011 2 次提交
  15. 12 8月, 2011 1 次提交
  16. 27 6月, 2011 3 次提交
    • I
      wl12xx: Support routing FW logs to the host · 95dac04f
      Ido Yariv 提交于
      A recently added feature to the firmware enables the driver to retrieve
      firmware logs via the host bus (SDIO or SPI).
      
      There are two modes of operation:
      1. On-demand: The FW collects its log in an internal ring buffer. This
         buffer can later be read, for example, upon recovery.
      2. Continuous: The FW pushes the FW logs as special packets in the RX
         path.
      
      Reading the internal ring buffer does not involve the FW. Thus, as long
      as the HW is not in ELP, it should be possible to read the logs, even if
      the FW crashes.
      
      A sysfs binary file named "fwlog" was added to support this feature,
      letting a monitor process read the FW messages. The log is transferred
      from the FW only when available, so the reading process might block.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      95dac04f
    • E
      wl12xx: use freezable workqueue for netstack_work · 92ef8960
      Eliad Peller 提交于
      When resuming (after wowlan), we want the rx packets (which is
      usually the wake-up packet itself) to be passed to mac80211 only
      after the resume notifier was completed, and mac80211 is up and
      running (otherwise, the packets will be dropped).
      
      By enqueueing the netstack_work to a freezable workqueue, we can
      guarantee the rx processing to occur only after mac80211 was resumed.
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      92ef8960
    • E
      wl12xx: add automatic rx streaming triggers · 77ddaa10
      Eliad Peller 提交于
      When rx_streaming.interval is non-zero, use automatic rx streaming.
      Enable rx streaming on the each rx/tx packet, and disable it
      rx_streaming.duration msecs later.
      
      When rx_streaming.always=0 (default), rx streaming is enabled only
      when there is a coex operation.
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      77ddaa10
  17. 02 5月, 2011 2 次提交
  18. 19 4月, 2011 2 次提交
  19. 03 3月, 2011 2 次提交
    • I
      wl12xx: Switch to a threaded interrupt handler · a620865e
      Ido Yariv 提交于
      To achieve maximal throughput, it is very important to react to
      interrupts as soon as possible. Currently the interrupt handler wakes up
      a worker for handling interrupts in process context. A cleaner and more
      efficient design would be to request a threaded interrupt handler.  This
      handler's priority is very high, and can do blocking operations such as
      SDIO/SPI transactions.
      
      Some work can be deferred, mostly calls to mac80211 APIs
      (ieee80211_rx_ni and ieee80211_tx_status). By deferring such work to a
      different worker, we can keep the irq handler thread more I/O
      responsive. In addition, on multi-core systems the two threads can be
      scheduled on different cores, which will improve overall performance.
      
      The use of WL1271_FLAG_IRQ_PENDING & WL1271_FLAG_IRQ_RUNNING was
      changed. For simplicity, always query the FW for more pending
      interrupts. Since there are relatively long bursts of interrupts, the
      extra FW status read overhead is negligible. In addition, this enables
      registering the IRQ handler with the ONESHOT option.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Reviewed-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      a620865e
    • 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