1. 04 Mar, 2011 32 commits
  2. 03 Mar, 2011 8 commits
    • Fry, Donald H's avatar
      iwlagn: report correct temperature for WiFi/BT devices. · f8f79a5d
      Fry, Donald H authored
      The temperature reported by 'cat /sys/class/net/wlan?/device/temperature'
      is incorrect for devices with BT capability.  Report the value from the
      correct statistics structure.  Tested with 130, 100, 6205 and 5300.
      Signed-off-by: default avatarDon Fry <donald.h.fry@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      f8f79a5d
    • Helmut Schaa's avatar
      wl12xx: Correctly set up protection if non-GF STAs are present · 95a77610
      Helmut Schaa authored
      Set the gf_protection bit when calling ACX_HT_BSS_OPERATION according
      to the GF bit passed by mac80211 in ht_operation_mode.
      
      [Added a proper commit message -- Luca]
      Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      95a77610
    • Arik Nemtsov's avatar
      wl12xx: wakeup chip from ELP during scan · 24225b37
      Arik Nemtsov authored
      Commands are sometimes sent to FW on scan completion. Make sure the chip
      is awake to receive them. Sending commands while the chip is in ELP
      can cause SDIO read errors and/or crash the FW.
      Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
      Signed-off-by: default avatarIdo Yariv <ido@wizery.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      24225b37
    • Ido Yariv's avatar
      wl12xx: Modify requested number of memory blocks · b16d4b68
      Ido Yariv authored
      Tests have shown that the requested number of memory blocks is
      sub-optimal. Slightly modify the requested number of memory blocks for
      TX.
      Signed-off-by: default avatarIdo Yariv <ido@wizery.com>
      Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      b16d4b68
    • Ido Yariv's avatar
      wl12xx: Avoid redundant TX work · b07d4037
      Ido Yariv authored
      TX might be handled in the threaded IRQ handler, in which case, TX work
      might be scheduled just to discover it has nothing to do.
      
      Save a few context switches by cancelling redundant TX work in case TX
      is about to be handled in the threaded IRQ handler. Also, avoid
      scheduling TX work from wl1271_op_tx if not needed.
      Signed-off-by: default avatarIdo Yariv <ido@wizery.com>
      Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      b07d4037
    • Ido Yariv's avatar
      wl12xx: Switch to level trigger interrupts · 2da69b89
      Ido Yariv authored
      The interrupt of the wl12xx is a level interrupt in nature, since the
      interrupt line is not auto-reset. However, since resetting the interrupt
      requires bus transactions, this cannot be done from an interrupt
      context. Thus, requesting a level interrupt would require to disable the
      irq and re-enable it after the HW is acknowledged. Since we now request
      a threaded irq, this can also be done by specifying the IRQF_ONESHOT
      flag.
      
      Triggering on an edge can be problematic in some platforms, if the
      sampling frequency is not sufficient for detecting very frequent
      interrupts. In case an interrupt is missed, the driver will hang as the
      interrupt line will stay high until it is acknowledged by the driver,
      which will never happen.
      
      Fix this by requesting a level triggered interrupt, with the
      IRQF_ONESHOT flag.
      Signed-off-by: default avatarIdo Yariv <ido@wizery.com>
      Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      2da69b89
    • Ido Yariv's avatar
      wl12xx: Switch to a threaded interrupt handler · a620865e
      Ido Yariv authored
      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: default avatarIdo Yariv <ido@wizery.com>
      Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      a620865e
    • Ido Yariv's avatar
      wl12xx: Change claiming of the SDIO bus · 393fb560
      Ido Yariv authored
      The SDIO bus is claimed and released for each SDIO transaction. In
      addition to the few CPU cycles it takes to claim and release the bus, it
      may also cause undesired side effects such as the MMC host stopping its
      internal clocks.
      
      Since only the wl12xx_sdio driver drives this SDIO card, it is safe to
      claim the SDIO host once (on power on), and release it only when turning
      the power off.
      
      This patch was inspired by Juuso Oikarinen's (juuso.oikarinen@nokia.com)
      patch "wl12xx: Change claiming of the (SDIO) bus".
      Signed-off-by: default avatarIdo Yariv <ido@wizery.com>
      Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      393fb560