All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] rtw88: TX path update for latency and efficiency
@ 2020-03-12  8:08 yhchuang
  2020-03-12  8:08 ` [PATCH 1/5] rtw88: don't hold all IRQs disabled for PS operations yhchuang
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: yhchuang @ 2020-03-12  8:08 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, briannorris

From: Yan-Hsuan Chuang <yhchuang@realtek.com>

This patchset makes the driver transmit with less CPU latency and
higher efficiency. Originally, the TX path hold an IRQ lock that
will disable all of the IRQs, to wait for the PS state transition.
It may sometimes cause the CPU to delay for a long enough time,
like several milliseconds. This could lead to some time-sensitive
programs to lose their immediacy. We can just use *_bh() locks to
not to block the IRQs, and only use *_irqsafe() locks to the ISR
related settings.

And, the TX path includes to send reserved pages to the device.
But the old reserved page routine did not consider that the driver
could possibly run multiple vifs at the same time. So, update the
reserved page routine of the TX path to generate reserved pages
and associate them to each vif, so we can take multi-vif into
consideration.

For the data packets come from TX queue, the driver used to kick
off them one by one, while we can do better to kick a bunch of
them at once to save some time to access to the IO register and
the DMA engine transition


Brian Norris (1):
  rtw88: don't hold all IRQs disabled for PS operations

Yan-Hsuan Chuang (4):
  rtw88: extract alloc rsvd_page and h2c skb routines
  rtw88: associate reserved pages with each vif
  rtw88: pci: define a mask for TX/RX BD indexes
  rtw88: kick off TX packets once for higher efficiency

 drivers/net/wireless/realtek/rtw88/fw.c       | 265 ++++++++++++++----
 drivers/net/wireless/realtek/rtw88/fw.h       |  25 +-
 drivers/net/wireless/realtek/rtw88/hci.h      |  20 +-
 drivers/net/wireless/realtek/rtw88/mac80211.c |  22 +-
 drivers/net/wireless/realtek/rtw88/main.c     |   9 +-
 drivers/net/wireless/realtek/rtw88/main.h     |   1 +
 drivers/net/wireless/realtek/rtw88/pci.c      | 199 ++++++++-----
 drivers/net/wireless/realtek/rtw88/pci.h      |   7 +-
 drivers/net/wireless/realtek/rtw88/tx.c       | 131 +++++++--
 drivers/net/wireless/realtek/rtw88/tx.h       |  10 +-
 drivers/net/wireless/realtek/rtw88/wow.c      |  39 +--
 11 files changed, 516 insertions(+), 212 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2020-03-23 17:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-12  8:08 [PATCH 0/5] rtw88: TX path update for latency and efficiency yhchuang
2020-03-12  8:08 ` [PATCH 1/5] rtw88: don't hold all IRQs disabled for PS operations yhchuang
2020-03-23 17:30   ` Kalle Valo
2020-03-12  8:08 ` [PATCH 2/5] rtw88: extract alloc rsvd_page and h2c skb routines yhchuang
2020-03-12  8:08 ` [PATCH 3/5] rtw88: associate reserved pages with each vif yhchuang
2020-03-12  8:08 ` [PATCH 4/5] rtw88: pci: define a mask for TX/RX BD indexes yhchuang
2020-03-12  8:08 ` [PATCH 5/5] rtw88: kick off TX packets once for higher efficiency yhchuang

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.