All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/12] mt76x02: AP support for with PS
@ 2019-02-28  8:03 Stanislaw Gruszka
  2019-02-28  8:03 ` [RFC 01/12] mt76x02: introduce mt76x02_beacon.c Stanislaw Gruszka
                   ` (11 more replies)
  0 siblings, 12 replies; 17+ messages in thread
From: Stanislaw Gruszka @ 2019-02-28  8:03 UTC (permalink / raw)
  To: Felix Fietkau; +Cc: linux-wireless, Lorenzo Bianconi

On USB we do not have available PSD queue. Using standard AC queues is
unreliable for sending PS buffered frames, stations can go sleep again
before frames are sent. Only reliable way I could find to sent broadcast
PS buffered frames is put them into beacon data registers, then frames
are sent just after proper beacon. HW do the work when we encrypt the 
frames in software.

I tested functionality used arping to iwlwifi station that do
aggressive PS, it works like this:

# arping -c 1 -I wlan0 192.168.9.110 
ARPING 192.168.9.110 from 192.168.9.1 wlan0
Unicast reply from 192.168.9.110 [4C:34:88:5E:76:D5]  324.885ms
Sent 1 probes (1 broadcast(s))

Otherwise arping fails:

# arping -c 1 -I wlan0 192.168.9.110 
ARPING 192.168.9.110 from 192.168.1.148 wlan0
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

I'm not sure how to test mt76_release_buffered_frames functionality.
Also I have not tested on MMIO hardware, but for this only code
movement was done so things should not break.

Stanislaw Gruszka (12):
  mt76x02: introduce mt76x02_beacon.c
  mt76x02: add hrtimer for pre TBTT for USB
  mt76x02: introduce beacon_ops
  mt76x02u: implement beacon_ops
  mt76x02: generalize some mmio beaconing functions
  mt76x02u: add sta_ps
  mt76x02: fix hdr pointer in write txwi for USB
  mt76x02: disable HW encryption for group frames
  mt76x02u: implement pre TBTT work for USB
  mt76x02u: add mt76_release_buffered_frames
  mt76x02: enable AP mode for USB
  mt76x02: remove set_tim

 drivers/net/wireless/mediatek/mt76/Makefile   |   2 +-
 .../net/wireless/mediatek/mt76/mt76x0/init.c  |   1 -
 .../net/wireless/mediatek/mt76/mt76x0/main.c  |   8 +-
 .../net/wireless/mediatek/mt76/mt76x0/pci.c   |  10 +-
 .../net/wireless/mediatek/mt76/mt76x0/usb.c   |   9 +-
 drivers/net/wireless/mediatek/mt76/mt76x02.h  |  22 ++
 .../wireless/mediatek/mt76/mt76x02_beacon.c   | 308 ++++++++++++++++++
 .../net/wireless/mediatek/mt76/mt76x02_mac.c  | 138 --------
 .../net/wireless/mediatek/mt76/mt76x02_mmio.c | 131 +++-----
 .../net/wireless/mediatek/mt76/mt76x02_regs.h |   5 +-
 .../net/wireless/mediatek/mt76/mt76x02_usb.h  |   2 +
 .../wireless/mediatek/mt76/mt76x02_usb_core.c | 156 ++++++++-
 .../net/wireless/mediatek/mt76/mt76x02_util.c |  77 +----
 .../wireless/mediatek/mt76/mt76x2/pci_init.c  |   2 +-
 .../wireless/mediatek/mt76/mt76x2/pci_main.c  |   7 -
 .../net/wireless/mediatek/mt76/mt76x2/usb.c   |   1 +
 .../wireless/mediatek/mt76/mt76x2/usb_init.c  |   2 +-
 .../wireless/mediatek/mt76/mt76x2/usb_main.c  |   1 +
 drivers/net/wireless/mediatek/mt76/usb.c      |  13 +-
 19 files changed, 568 insertions(+), 327 deletions(-)
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c

-- 
2.20.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-02-28 14:23 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-28  8:03 [RFC 00/12] mt76x02: AP support for with PS Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 01/12] mt76x02: introduce mt76x02_beacon.c Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 02/12] mt76x02: add hrtimer for pre TBTT for USB Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 03/12] mt76x02: introduce beacon_ops Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 04/12] mt76x02u: implement beacon_ops Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 05/12] mt76x02: generalize some mmio beaconing functions Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 06/12] mt76x02u: add sta_ps Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 07/12] mt76x02: fix hdr pointer in write txwi for USB Stanislaw Gruszka
2019-02-28  9:38   ` Lorenzo Bianconi
2019-02-28 13:52     ` Stanislaw Gruszka
2019-02-28 14:23       ` Kalle Valo
2019-02-28  8:03 ` [RFC 08/12] mt76x02: disable HW encryption for group frames Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 09/12] mt76x02u: implement pre TBTT work for USB Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 10/12] mt76x02u: add mt76_release_buffered_frames Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 11/12] mt76x02: enable AP mode for USB Stanislaw Gruszka
2019-02-28  8:03 ` [RFC 12/12] mt76x02: remove set_tim Stanislaw Gruszka
2019-02-28 10:51   ` Felix Fietkau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.