Skip to content
Commits on Nov 12, 2012
  1. @ariknem @elp

    wlcore: use separate HW queue for each AC in each vif

    ariknem committed with elp Nov 8, 2012
    Start using the new hw_queue mechanism in mac80211 and give each AC in
    each vif its own hw_queue number. This allows us to stop an AC in a vif
    independently from other vifs.
    Change the Tx watermark handling functions to count packets per AC in
    vif. From now on fast links should not be able to hurt the throughput
    of slow links on the same AC but on different vifs.
    Change internal queue mgmt functions to operate per vif, to support the
    new Tx watermark granularity. Make the global versions of the queue
    stop/start functions to use the global mac80211 API for queue mgmt. This
    helps in situations where the driver currently doesn't know all the vifs
    that reside in mac80211. Recovery is a good example for such a case.
    Signed-off-by: Arik Nemtsov <>
  2. @ariknem @elp

    wlcore: use link count for single-STA-PSM optimization

    ariknem committed with elp Oct 22, 2012
    Only allow a PSM STA to congest FW memory when it is the single active
    link. Being a single STA doesn't imply a single link - there might be
    other links on other roles.
    Signed-off-by: Arik Nemtsov <>
  3. @ariknem @elp

    wl18xx: limit Tx for the AP single-STA-in-PSM case

    ariknem committed with elp Oct 21, 2012
    Treat a single connected STA in PSM as a slow link and regulate Tx speed
    according to slow link priority/stop thresholds.
    This allows us to avoid flooding the FW, while delivering decent
    throughput to a peer in forced-PSM.
    Signed-off-by: Arik Nemtsov <>
  4. @ariknem @elp

    wlcore/wl18xx: change priority calculations for links

    ariknem committed with elp Oct 21, 2012
    Update the 18xx FW status private part to include Tx related link
    priorities. Introduce new HW ops to determine link priority per chip
    For 18xx the changes are:
    - Suspended links are at most low priority and Tx for them is stopped
      beyond the suspend threshold.
    - Active links now get their thresholds directly from FW
    - There's a new "stop" threshold for active links, at which point a link
      stops receiving new packets.
    Update the min 18xx FW version required to make sure suspended links
    bitmap is advertised by the FW.
    Signed-off-by: Arik Nemtsov <>
  5. @victorgld @elp

    wlcore: add new reg-domain configuration command

    victorgld committed with elp Nov 5, 2012
    In 18xx the calibration process of the PHY Cortex domain
    requires to perform an active calibration of the channel
    before it can be used for transmission. To fulfill world
    wide regulatory restrictions, fw should be always
    synchronized/updated with current CRDA configuration.
    Add a new "CMD_DFS_CHANNEL_CONFIG" command to update the
    fw with current reg-domain, this command passes a bit map
    of channels that are allowed to be used for transmission.
    The driver shall update the fw during initialization and
    after each change in the current reg-domain
    configuration. The driver will save the channel number of
    incoming beacons during the scan process, as they might
    be a result of the passive scan on
    "IEEE80211_CHAN_PASSIVE_SCAN" channel and will update the
    fw accordingly once the scan is finished, the purpose of
    this is to be ready in case of the authentication request
    on one of these disabled (uncalibrated) channels.
    The new command requires to wait for the fw completion
    No scan commands (including the sched scan) can be
    executed concurrently with the "CMD_DFS_CHANNEL_CONFIG",
    wl->mutex ensures that.
    [Arik - move reset of reg_ch_conf_last to safe place inside
    Signed-off-by: Victor Goldenshtein <>
    Signed-off-by: Arik Nemtsov <>
  6. @ariknem @elp

    mac80211: sync acccess to tx_filtered/ps_tx_buf queues

    ariknem committed with elp Nov 4, 2012
    These are accessed without a lock when ending STA PSM. If the
    sta_cleanup timer accesses these lists at the same time, we might crash.
    This may fix some mysterious crashes we had during
    Signed-off-by: Arik Nemtsov <>
    Signed-off-by: Ido Yariv <>
  7. @ariknem @elp

    wlcore: indicate failure on Rx BA session setup failure

    ariknem committed with elp Nov 4, 2012
    When the FW can't setup a Rx BA session, indicate this to mac80211 so it
    would reject the ADDBA request.
    Signed-off-by: Arik Nemtsov <>
  8. @yairs534 @elp

    wl18xx: change default phy/mac conf values

    yairs534 committed with elp Oct 30, 2012
    Default phy/mac conf values were modified based on changes in latest
    official INI files. The changes are in TX power level values:
    TxPower_level_MaxPower      = 18
    TxPower_level_MedPower      = 12
    TxPower_level_LowPower      = 08
    TxPower_level_MaxPower_2nd  = 14
    TxPower_level_MedPower_2nd  = 0A
    TxPower_level_LowPower_2nd  = 05
    Signed-off-by: Yair Shapira <>
  9. @yairs534 @elp

    wl18xx: fix a bug in wl->num_rx_desc initialization

    yairs534 committed with elp Oct 29, 2012
    wl->num_rx_desc was mistakenly initialized with WL18XX_NUM_TX_DESCRIPTORS
    but it should use WL18XX_NUM_RX_DESCRIPTORS instead.
    This bug was passed unnoticed because currently both RX and TX descriptors
    are initialized to the same value (32).
    Signed-off-by: Yair Shapira <>
  10. @yairs534 @elp

    wlcore: disable elp sleep while in plt mode

    yairs534 committed with elp Oct 29, 2012
    We now disable elp sleep during plt mode to allow normal operation of
    plt tools such as calibrator.
    Having elp_sleep enabled during plt mode is actually not required and
    in fact it disrupt plt operations such as rx statistics etc...
    This is based on wl12xx (R5) commit 5cf0fe31ab
    Signed-off-by: Yair Shapira <>
  11. @ariknem @elp

    wlcore: configure correct template for regular scan

    ariknem committed with elp Oct 28, 2012
    This patch broke regular scan:
    commit be37627
    Author: Arik Nemtsov <>
    Date:   Thu Oct 25 13:05:24 2012 +0200
        wlcore: configure correct SSID for DFS chan scan
    By configuring sched-scan templates. Fix this.
    (Should be squashed with all DFS patches on upstream)
    Signed-off-by: Arik Nemtsov <>
  12. @ariknem @elp

    wlcore: configure correct SSID for DFS chan scan

    ariknem committed with elp Oct 25, 2012
    Don't neglect the SSID in case we are scanning DFS channels. Also add a
    check for the existence of the SSID for normal scan scenarios.
    Should be squashed with:
    478a943 wlcore: set 5Ghz probe-req template for DFS in sched-scan
    87e73a7 wlcore: set 5Ghz probe-req template for DFS channels
    Reported-by: Victor Goldenshtein <>
    Signed-off-by: Arik Nemtsov <>
  13. @yairs534 @elp

    wlcore: add new plt power-mode: CHIP_AWAKE

    yairs534 committed with elp Oct 22, 2012
    Under this mode the chip is powered on including sdio
    but no FW is downloaded and run, interrupts are not enabled, etc...
    This mode is intended to allow RTTT to bridge sdio as a transport
    to the chip.
    Driver only provides sdio access using the dev_mem debugfs file.
    Some fixes done to the code that ensures that PLT mode and normal
    driver power mode (ifconfig/add_interface) are mutually excluded.
    Signed-off-by: Yair Shapira <>
  14. @eyalsh @elp

    wlcore: dump corrupted rx packets

    eyalsh committed with elp Oct 21, 2012
    Ease debugging in case FW reports failure to decrypt
    on packets.
    Signed-off-by: Eyal Shapira <>
  15. @eyalsh @elp

    wclore: fix wrong rx descriptor status mask

    eyalsh committed with elp Oct 21, 2012
    The Rx descriptor status reported by the FW is 3 bits and not 2.
    Signed-off-by: Eyal Shapira <>
  16. @ariknem @elp

    wlcore: set 5Ghz probe-req template for DFS in sched-scan

    ariknem committed with elp Oct 23, 2012
    Even passive scans on DFS channels require us to send probe requests, so
    configure the probe-req in this case.
    We forgot to fix sched-scan in our previous patch.
    Reported-by: Ido Reis <>
    Signed-off-by: Arik Nemtsov <>
  17. @ariknem @elp

    wlcore: set 5Ghz probe-req template for DFS channels

    ariknem committed with elp Oct 22, 2012
    Even passive scans on DFS channels require us to send probe requests, so
    configure the probe-req in this case.
    Signed-off-by: Arik Nemtsov <>
  18. @ariknem @elp

    wlcore: treat Rx error code as a bitmask

    ariknem committed with elp Oct 21, 2012
    Currently it is incorrectly being used as an enum, which prevents us from
    sending up MIC failures if other bits are on. Don't bail out before we
    get to the MIC reporting code and remove the invalid definition in the
    bogus enum.
    Signed-off-by: Arik Nemtsov <>
  19. @eyalsh @elp

    wlcore: increase scan dwell times if no activity

    eyalsh committed with elp Oct 16, 2012
    There's a limit on scan dwell times of max 30ms in order
    to avoid degrading voip traffic which could be going on
    while scanning. However these dwell times increase the
    chance of missing out on nearby APs leading to partial
    scan results. Allow configuration of longer dwell times
    in case there no active interface (i.e. no STA associated
    or AP up).
    Signed-off-by: Eyal Shapira <>
  20. @eyalsh @elp

    mac80211: count started vifs

    eyalsh committed with elp Oct 16, 2012
    count the started roles by simply counting the non-idle vifs.
    (Based on Arik's patch from R5)
    Signed-off-by: Eyal Shapira <>
  21. @ariknem @elp

    wlcore: remove support for injected Tx

    ariknem committed with elp Oct 11, 2012
    Require each incoming packet to have a valid vif. The injected Tx code
    path was buggy (and unused), so disallow it altogether.
    Cleanup a few places and add a warning so we can better discover
    anomalies (corrupted skbs?) masquerading as injected Tx.
    Signed-off-by: Arik Nemtsov <>
  22. @igalc @elp

    wlcore/wl18xx/wl12xx: FW log params per chip arch

    igalc committed with elp Sep 30, 2012
    FW memory block size and FW log end marker parameters
    are added to wl structure and are initialized per
    chip architecture. convert_hwaddr hw operation is added
    to convert chip dependent FW internal address.
    Copy from FW log is also simplified to copy the entire
    memory block as FW logger utility is repsponsible
    for parsing of FW log content.
    Signed-off-by: Igal Chernobelsky <>
  23. @elp

    wl18xx: bump min fw version

    elp committed Oct 10, 2012
    bump the min fw version to
    Signed-off-by: Eliad Peller <>
  24. @elp

    wlcore: add ACX_PEER_CAP command

    elp committed Sep 23, 2012
    ACX_PEER_CAP command is just ACX_PEER_HT_CAP, but allows
    configuring the peer's support rates as well.
    this is needed because we start the station role when
    the remote rates are not known yet.
    the two commands should be unified in future fw versions,
    but for now add a new set_peer_cap per-hw op, that will
    use ACX_PEER_CAP for 18xx, and ACX_PEER_HT_CAP for 12xx.
    Signed-off-by: Eliad Peller <>
  25. @elp

    wlcore: make beacon_loss work per-vif

    elp committed Oct 9, 2012
    The latest fw api change added the beacon-loss
    indication per-role, so make the appropriate
    changes in the driver to indicate beacon loss
    only for the relevant station.
    Signed-off-by: Eliad Peller <>
  26. @elp

    wlcore: update event mailbox to new fw api

    elp committed Sep 12, 2012
    The event mailbox now has different structure
    for 12xx and 18xx.
    For now, handle only 18xx.
    TODO: handle 12xx as well
    Signed-off-by: Eliad Peller <>
  27. @elp

    wlcore: update events enum to new fw api

    elp committed Sep 12, 2012
    some events were removed in the latest fw api.
    remove their handling from the driver as well.
    Signed-off-by: Eliad Peller <>
  28. @elp

    wlcore: update channel_switch/stop_channel_switch commands

    elp committed Sep 12, 2012
    Some fields were added to the channel_switch and
    stop_channel_switch commands. Update the driver
    Signed-off-by: Eliad Peller <>
  29. @elp

    wlcore: increase MAX_CHANNELS_5GHZ

    elp committed Sep 12, 2012
    24 channels were not enough for some regdomains (e.g. JP).
    so it was increased it to 32.
    Signed-off-by: Eliad Peller <>
  30. @elp

    wlcore: update acx enum

    elp committed Sep 10, 2012
    update the acx enum to the new fw api.
    Signed-off-by: Eliad Peller <>
  31. @elp

    wlcore: save session_id per-link

    elp committed Sep 10, 2012
    A new session_id is generated on link allocation.
    it is saved in a global array and used later, on tx.
    The new fw api adds new bcast/global_session_id
    fields to start_role(ap) command, and a new session_id
    field to add_peer command. align the driver with it.
    Signed-off-by: Eliad Peller <>
  32. @elp

    wlcore: update commands enum to new fw api

    elp committed Sep 10, 2012
    Align the commands enum with the new fw api (
    Add some code to fail any boot attempt during
    the fw api alignment patches. This code will
    be removed by the last patch.
    Signed-off-by: Eliad Peller <>
  33. @yairs534 @elp

    wl18xx: Add support for 2nd set of mac/phy TxPower params

    yairs534 committed with elp Oct 9, 2012
    First set (low, medium and high TX power values) is used
    for STA-HP BG role. The 2nd set is used for other roles.
    Signed-off-by: Yair Shapira <>
  34. @elp

    wl12xx/wl18xx: update default fw logger's settings

    Ido Reis committed with elp Oct 9, 2012
    update the fw logger mode to continuous, and output to dbgpins (uart).
    Signed-off-by: Ido Reis <>
  35. @ariknem @elp

    wl18xx: set last Tx rate from FW status

    ariknem committed with elp Sep 30, 2012
    Obtain the last Tx rate from the FW status and translate it to
    the mac80211 rate+flag format before sending it up via the Tx status.
    Bump up the min FW version to the first FW that supports the rate byte.
    Signed-off-by: Arik Nemtsov <>
Something went wrong with that request. Please try again.