Permalink
Commits on Jun 4, 2012
  1. Revert "wl18xx: allow ELP by default for PG2.0"

    Firmware is not ready for theis change yet.
    This reverts commit df0d736.
    
    Signed-off-by: Idor Reis <idor@ti.com>
    Ido Reis committed Jun 2, 2012
  2. wlcore: update basic rates on channel switch

    On channel switch we have to update the basic rates, in
    order to reflect possible band changes (otherwise, we
    might start beaconing on 11a with the default rates
    of 11g.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed with Ido Reis Jun 4, 2012
Commits on Jun 1, 2012
  1. wlcore: add HW flag to add AP stations only after beaconing

    When performing reconfig as AP, the wlcore FW does not support adding
    stations before the beaconing is enabled. Set a mac80211 HW flag to
    add AP stations only after starting to beacon.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Jun 1, 2012
  2. mac80211: allow adding stations after AP start on reconfig

    When performing a HW restart for an AP mode interface, allow
    adding stations back only after the AP is beaconing. Control
    the time of addition via a HW flag.
    
    Some devices only support the addition of stations in AP mode after
    the AP is started (as done during normal operation).
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Jun 1, 2012
  3. mac80211: stop Rx during HW reconfig

    While HW reconfig is in progress, drop all incoming Rx. This prevents
    incoming packets from changing the internal state of the driver or
    calling callbacks of the low level driver while it is in inconsistent
    state.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Jun 1, 2012
  4. mac80211: don't call drv_ampdu_action() during reconfig

    When tearing down BA sessions during HW reconfig, the low level driver
    is not aware of them yet. Add a parameter to relevant Rx/Tx BA functions
    to prevent calls to the driver, while removing all mac80211 related state.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Jun 1, 2012
Commits on May 31, 2012
  1. mac80211: clear ifmgd->bssid only after building DELBA

    ieee80211_set_disassoc() clears ifmgd->bssid before
    building DELBA frames, resulting in frames with invalid
    bssid ("00:00:00:00:00:00").
    
    Fix it by clearing ifmgd->bssid only after building
    all the needed frames.
    
    After this change, we no longer need to save the
    bssid (before clearing it), so remove the local array.
    
    Reported-by: Ido Yariv <ido@wizery.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed May 31, 2012
Commits on May 30, 2012
  1. mac80211: fix ADDBA declined after suspend with wowlan

    WLAN_STA_BLOCK_BA is set while suspending but doesn't get cleared
    when resuming in case of wowlan. This causes further ADDBA requests
    received to be rejected. Fix it by clearing it in the wowlan path
    as well.
    
    Signed-off-by: Eyal Shapira <eyal@wizery.com>
    eyalsh committed May 28, 2012
  2. wl18xx: allow ELP by default for PG2.0

    This is supported by new FW versions (.96+).
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed May 30, 2012
  3. wl18xx: increase rx descriptors

    increase rx desc to 32 (from 16)
    increase aggr buffer size to 15 pages
    
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed May 30, 2012
Commits on May 29, 2012
  1. wlcore/wl12xx/wl18xx: make NVS file optional for wl18xx

    Don't spew errors when we can't find the NVS file in wlcore. Instead
    fail the wl12xx boot HW op if the NVS isn't found.
    
    Take this opportunity to remove some dead code from register_hw()
    which looks for the NVS again needlessly.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 29, 2012
  2. wl18xx: clean up phy module parameters

    Give all wl18xx phy module paramters -1 as a default value, indicating
    the paramter was not set. Add previous default values to the default
    18xx priv conf structure.
    
    Remove the board_type field from wl18xx priv. The field with the same
    name inside the phy conf is good enough for our purposes.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 29, 2012
  3. wl18xx: align wl18xx_conf_phy with FW variant and remove it

    wl18xx_conf_phy represents part of the FW native wl18xx_mac_and_phy_params
    structure. Remove it and replace the phy part of the wl18xx conf with the
    FW bound structure. This allows us to set/override all members.
    
    Increment the wlconf version to ensure compatibility with the new
    structure
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 29, 2012
  4. wl18xx: read configuration structure from a binary file

    Instead of using the hardcoded configuration structure, try to read it
    from a "firmware" file called wl18xx-conf.bin.  If the file doesn't
    exist, fall back to the hardcoded version.  If the file exists but is
    illegal, bail out.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with ariknem May 22, 2012
  5. wlcore/wl18xx: export conf struct in a debugfs file

    Add conf file header structure, magic and version values and export
    the entire conf struct in debugfs.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with ariknem Mar 11, 2012
  6. wlcore/wl18xx: the conf structs must be packed so they can be exported

    Since we are now going to export the conf structure and read it from a
    file, it should be packed to avoid surprises with padding bytes.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with ariknem May 21, 2012
Commits on May 23, 2012
  1. wl18xx: update fw statistics

    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed May 23, 2012
  2. mac80211: [NOT_FOR_UPSTREAM] setting only VO as UAPSD

    due to IOP with a lot of APs in the world, we can see that the
    best behavior of our station is when working in "mixed mode":
    only voice will be in UAPSD, while the other queues are in legasy
    mode.
    
    Signed-off-by: Assaf Azulay <assaf@ti.com>
    assafazulay committed with Ido Reis May 8, 2012
Commits on May 22, 2012
  1. wlcore: use u8 instead of enum for bcn_filt_mode

    Since we will export the conf structure as a file, we need to use well
    defined types.  Instead of using enum, whose size may vary, use u8 for
    bcn_filt_mode instead.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with Ido Reis May 22, 2012
  2. wlcore/wl18xx/wl12xx: use u8 instead of bool for host_fast_wakeup_sup…

    …port
    
    The conf structure is going to be exported to a file, so we should use
    only well defined types.  bool is not well defined and may vary from
    platform to platform, so change the host_fast_wakeup_support type to
    u8 instead.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with Ido Reis May 22, 2012
  3. wl18xx: use a single dimension for tx_agg_vs_rate in fw_stats (SQUASH)

    This fixes commit 6c5ecb1 (wl18xx: update fw statistics) where we
    were printing values from out-of-bounds memory areas.
    
    Flatten the array into a single dimension to make it possible to print
    it out using the existing macro.  The only drawback is that [1][0]
    will be printed as [16] instead, but this is better than printing
    random pointers.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with Ido Reis May 22, 2012
  4. wl18xx: enable fw logger for pg2 chips

    fw logger is avialble for pg2 devices from fw 8.2.0.0.91
    
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed May 22, 2012
  5. wl18xx: update fw statistics

    aligned to fw 8.2.0.0.91
    struct and debugfs enries updated
    
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed May 22, 2012
Commits on May 21, 2012
  1. wlcore: add counters with reasons for aggr packet sending (DEBUG)

    Count the reasons that triggered us to send the buffer to the firmware
    for transmission.  Count buffer_full, fw_buffer_full, other reasons
    and no_data left to send.
    
    This is useful when debugging throughput issues.
    
    To have a better understanding of what is going on in the TX data
    path, we can count the number of times we sent n packets.  For
    example, if we sent 10 times aggregations of 2 packets, we print [2] =
    10.
    
    Instead of counting the reasons as an overall value, we count the
    reasons for each number of packets used in the aggregation.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with ariknem Mar 13, 2012
  2. wlcore: export raw binary with the FW statistics in debugfs

    Instead of parsing all the binary data returned by the firmware, we
    should simply export the binary and let the userspace do the parsing.
    
    This commit adds a new file to debugfs to do that.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with ariknem Mar 23, 2012
  3. wl18xx: add support to clear FW statistics

    This patch calls ACX_CLEAR_STATISTICS to clear the firmware
    statistics.  The trigger is a new debugfs file called
    clear_fw_statistics in the fw_stats directory.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with ariknem Mar 19, 2012
Commits on May 17, 2012
  1. wlcore: add debugfs control over rx interrupt pacing

    Add control over several conf fields which combined
    control the rx interrupt pacing mechanism, that is avoiding
    getting an interrupt following a single frame rx but instead
    have the FW trigger the interrupt only after a certain
    amount of frames received or a timeout.
    
    Signed-off-by: Eyal Shapira <eyal@wizery.com>
    eyalsh committed May 17, 2012
  2. wlcore: add support macros to easily add conf debugfs entries

    The current debugfs code contains too much code duplication
    of bolierplate code. Add some macro magic to avoid this and
    enable adding new debugfs entries by using just a few lines.
    
    Signed-off-by: Eyal Shapira <eyal@wizery.com>
    eyalsh committed May 17, 2012
  3. wlcore/wl12xx/wl18xx: add version.h to a new .gitignore file (INTERNAL)

    This file is generated by the build process and we should not store it.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with eyalsh May 11, 2012
  4. wl18xx: change FW names for PG1, PG2

    Rename the FWs according to the new naming scheme:
    
    PG1 -wl18xx-fw-pg1.1.bin
    PG2 -wl18xx-fw.bin
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 17, 2012
Commits on May 15, 2012
  1. wlcore: compare ssid_len before comparing ssids

    When comparing 2 ssids the ssid_len must be taken
    into account. Otherwise, a substring will be treated
    as equal.
    
    This bug might cause ssids to get scanned as
    public ssids (rather than hidden), resulting in
    broadcast probe request (instead of ssid-specific
    ones)
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed with ariknem May 15, 2012
  2. wlcore: increase number of BA sessions to 3

    With the new FW (sigle role X.3.8.0.108, multi role X.5.4.0.21)
    we are supporting 3 RX BA sessions, this change is to support this
    new ability.
    
    Signed-off-by: Assaf Azulay <assaf@ti.com>
    assafazulay committed with ariknem May 2, 2012
Commits on May 14, 2012
  1. wlcore/wl12xx/wl18xx: implement op_set_key per HW arch

    The 12xx set_key just calls the common wlcore_set_key function, in order
    to program the keys into the FW.
    
    The 18xx variant changes the spare block count when a GEM or TKIP
    key is set. Also modify the get_spare_blocks HW op for 18xx to return
    the correct numbers of spare blocks, according to what is currently
    set in FW.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 14, 2012
  2. wlcore: stop queues on Tx flush

    Stop network queues during Tx flush, and also drop other internal
    mac80211 packets (mgmt) that may arrive when the queues are stopped.
    
    When flush is done all driver queues are clear, forcefully if needed.
    
    Based on a patch by Eliad Peller <eliad@wizery.com>
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 14, 2012
  3. wlcore: add stop reason bitmap for waking/starting queues

    Allow the driver to wake/stop the queues for multiple reasons. A queue
    is started when no stop-reasons exist.
    
    Convert all wake/stop queue calls to use the new API.
    
    Before, a stopped queue was almost synonymous a high-watermark on Tx.
    Remove a bit of code in wl12xx_tx_reset() that relied on it.
    
    Based on a similar patch by Eliad Peller <eliadWizery.com>.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed May 14, 2012