Permalink
Commits on Jul 18, 2013
  1. @elp

    mac80211: add cookie to remain_on_channel callback

    a roc might get cancelled (by the user) after it was
    expired (by the low-level driver), but before mac80211
    processed the hw_roc_done work.
    
    In this case, the hw_roc_done work might expire the
    roc that has just started (when the previous roc
    was cancelled), which will get mac80211 and the
    low-level driver to go out of sync.
    
    Fix it by passing the pointer of the roc struct
    as cookie, and check this cookie on expiry
    notification.
    
    TODO: add flush_work, fix traces, ...
    a better solution should be implemented completely
    in mac80211, but the locking semantics complicate
    it, so leave it for now.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 24, 2012
Commits on Jul 10, 2013
  1. @elp

    wlcore: save last regdom configuration on stop

    In order to reconfigure the correct reg domain on
    recovery, we have to save the current configuration
    before clearing it (wl->reg_ch_conf_pending is
    considered before configuring a new regdomain).
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jul 8, 2013
Commits on Jul 8, 2013
  1. @elp

    wlcore: user smaller sqn padding for GEM

    On recovery, we increase the current seq num by
    WL1271_TX_SQN_POST_RECOVERY_PADDING in order compensate
    on packets we might have missed during recovery.
    
    It seems that some GEM APs have issues when the
    gap is too big, so use a smaller padding in this case.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 28, 2013
  2. @elp

    wlcore: save seq num only between recoveries

    We want to seq num (freed_pkts) to initialize
    on each new connection, but keep persistent
    between recoveries/suspends.
    
    Save the freed_pkts in the private block of the
    sta struct (we already do a similar thing for
    AP's stations).
    
    However, keep the old wlvif->total_freed_pkts
    in order to avoid major change.
    
    TODO: clean it up.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 28, 2013
  3. @elp

    wl18xx: choose WCS PLL before executing high temperature WA (squash)

    In some cases WLAN IP switches to Coex PLL to avoid
    GPS interference. The original fix for boot process
    in high temperature assumes that WLAN PLL clock select
    is 0x0 (WCS PLL) - Therefore if the WLAN PLL clock
    select was set to 0x1 (Coex PLL) prior to the WA
    execution, no clock propagates to the design and
    WLAN IP will fail.
    
    Squash with:
    fix boot process in high temperature environment
    
    Signed-off-by: Nadim Zubidat <nadimz@ti.com>
    Nadim Zubidat committed with elp Jun 27, 2013
  4. @elp

    wlcore: croc before stopping ap role

    commit 8d3dc8a ("wlcore: ROC on AP channel before auth reply")
    might cause us to ROC on the AP channel. Stopping the role
    in this stage, without CROC, can result in a fw crash.
    
    Make sure to CROC in this case.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 20, 2013
Commits on Jun 25, 2013
  1. @elp

    wlcore: fix started_vifs calculation

    wlcore configures different dwell times according to number
    of active interfaces (in order to prevent hurting VO during
    scan).
    
    However, determining active vif only according to
    bss_conf->idle is not explicit enough, and might result
    in non-started vifs being counted as started as well
    (e.g. unassociated sta during sta).
    
    Fix it by checking for explicit conditions according
    to the vif type.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 25, 2013
Commits on May 13, 2013
  1. @ariknem @elp

    wclore: del platform data correctly on remove (squash)

    A fix for the DT enabling patch - the pdev_data pointer does not
    belong to us and is freed when the device is released. Dereference
    to our private data first.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp May 13, 2013
  2. @ariknem @elp

    wlcore: don't allocate platform_data for platform device

    The memory is managed by the platform device which takes ownership of it
    when platform_device_add_data() is called. Our memory is simply leaked.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp May 13, 2013
  3. @elp

    wlcore: consider smart_config sync band (squash)

    Use the smart_config sync band from the event mailbox
    instead of the hardcoded 2.4ghz band (for determining
    the frequency)
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed May 13, 2013
  4. @elp

    wlcore: increase max roc duration to 30 seconds

    we don't have any actual limitation in the driver, so
    increase it arbitrarily to 30 seconds (for smart_config)
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Mar 27, 2013
  5. @elp

    wlcore: add testmode smart_config set group key command

    Add testmode command to configure a group key for
    a smart config group.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Apr 18, 2013
  6. @elp

    wlcore: add smart_config set group key command

    implement wlcore_cmd_smart_config_set_group_key which
    will be used in order to configure a key for
    a smart_config group.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Mar 27, 2013
  7. @elp

    wlcore: handle SMART_CONFIG events

    add defintions and handling for SMART_CONFIG_SYNC_EVENT_ID
    and SMART_CONFIG_DECODE_EVENT_ID events.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed May 8, 2013
  8. @elp

    wlcore: handle smart_config_start/stop testmode commands

    userspace can ask to enter/exit smart_config mode via
    smart_config_start and smart_config_stop testmode commands.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Mar 18, 2013
  9. @elp

    wlcore: add smart_config testmode definitions

    Add testmode attributes and events that will be used
    during smart_config.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Apr 18, 2013
  10. @elp

    wlcore: move testmode definitions to testmode.h

    These definitions will be used by userspace as well
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Apr 18, 2013
  11. @elp

    wlcore: wrap testmode.h code with __KERNEL__

    we are going to move the testmode definitions to testmode.h,
    and then use it by userspace as well, so wrap any kernel-only
    code with a proper ifdef.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Mar 18, 2013
  12. @elp

    wlcore: add smart_config_start/stop commands

    These commands configures the fw to enter and
    exit smart_config mode.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Mar 18, 2013
  13. @elp

    wlcore: add smart config definitions

    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Mar 12, 2013
  14. @ariknem @elp

    wlcore: wl18xx: allow CCK rates for AP mode

    12xx chips allow only OFDM rates in AP mode for BT-Coex purposes. This
    is no longer required in 18xx chips, starting with FW 8.6.0.0.8.
    
    Update the min allowed FW version in 18xx to support this functionality.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Apr 29, 2013
  15. @igalc @elp

    wlcore: fix interrogate command length

    Change interrogate command prototype to have command size and returned
    buffer length. This fixes the issue when command parameters are to
    be passed to FW in addition to acx header as in the case with get RSSI command
    where role_id is to be passed.
    
    Signed-off-by: Igal Chernobelsky <igalc@ti.com>
    igalc committed with elp Apr 28, 2013
  16. @elp

    wlcore: add ap_event_mask

    Add new ap_event_mask field, to indicate events that
    should be unmasked only when there's an ap interface.
    
    This is done in order to avoid spurious wakeups
    when we don't care about the incoming event anyway.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed May 8, 2013
  17. @ariknem @elp

    wlcore: allow setting min req rx blocks in debugfs

    Also fix IRQ timeout in debugfs (related to Rx irq pacing).
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Feb 13, 2013
  18. @ariknem @elp

    wlcore: debugfs: allow changing tx pacing settings

    This is helpful for tweaking settings for new platforms
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Jan 28, 2013
  19. @ariknem @elp

    wlcore: debugfs: avg number of loops in wlcore_irq

    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Feb 20, 2013
  20. @ariknem @elp

    wlcore: add tx/rx number of packets per interrupt to debugfs

    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Feb 19, 2013
  21. @ariknem @elp

    wlcore: add avg Tx aggregation size to debugfs

    This helps determine if we are sending traffic efficiently over the bus.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Feb 17, 2013
  22. @victorgld @elp

    wlcore: print active channel in the driver_state

    Print current active channel/s and a role type for
    that channel in the driver_state debugfs.
    
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    victorgld committed with elp Feb 24, 2013
  23. @eyalsh @elp

    mac80211: use legacy mode for all ACs

    AVM FritzBox 7390 has a weird behaviour where once we enable
    U-APSD only on the VO AC it limits the rate of the packets
    it sends to 39Mbps and doesn't do AMPDU aggregation.
    This causes a big degradation in throughput obviously.
    It's important to note that this isn't related to PS and happens
    also when ACTIVE is forced. The traffic affected is sent in BE AC.
    Once legacy mode for all ACs is used the AP begins using higher rates
    as well as AMPDU aggregation which improves throughput significantly.
    
    In order to deal with this AP and potentially others switch to
    using legacy mode for all ACs by default.
    
    Signed-off-by: Eyal Shapira <eyal@wizery.com>
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    eyalsh committed with elp Jun 26, 2012
  24. @ariknem @elp

    nl80211: sync nl80211.h header to supplicant (INTERNAL)

    This patch includes the following changes:
    - Add headers for NL80211_WOWLAN_ACTION and the associated action types.
      This feature is yet to be ported from R5 (probably wl12xx only at
      first).
    - Leave some room for adding nl80211 commands - our commands will now
      start after leaving a gap of 10 in the appropriate enum. This will
      ensure old kernel can work well with new wpa_supplicants (ABI-wise).
    - channel switch related commands
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Jul 18, 2012
  25. @ariknem @elp

    wlcore: configure rate policies for p2p mgmt interface (INTERNAL)

    Otherwise p2p packets come out with arbitrary rates.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Aug 8, 2012
  26. @elp

    mac80211: allow disabling scans while another vif is active (INTERNAL)

    Add new disable_scan_while_active module_param, to allow
    disabling scanning on one interface while another sta/ap
    interface is active.
    
    Return EBUSY in that case.
    
    (This is a limitation of some wl12xx/wl18xx FWs)
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Aug 2, 2012
  27. @ariknem @elp

    wlcore: block most mac80211 ops on p2p mgmt iface (INTERNAL)

    In general, p2p management interfaces cannot send vif-specific commands
    to FW, as the vif role id is invalid. Only off-channel data and scans
    happen on this vif, so most ops are not relevant.
    
    If the vif is a p2p mgmt vif, block non relevant mac80211 ops.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Aug 5, 2012
  28. @ariknem @elp

    wlcore: scan on the dev role for the p2p mgmt iface (INTERNAL)

    When starting a p2p mgmt interface, enable its device role. This
    allows us to keep the sta role disabled and scan on the dev role.
    
    In the scan code fallback to the dev role if the regular role id is
    invalid.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Aug 5, 2012