Thread (44 messages) 44 messages, 7 authors, 2020-09-30

Re: [patch V2 26/36] net: brcmfmac: Convey execution context via argument to brcmf_netif_rx()

From: Arend Van Spriel <arend.vanspriel@broadcom.com>
Date: 2020-09-29 22:04:34
Also in: intel-wired-lan, linux-doc, linux-usb, linux-wireless, lkml

On 9/29/2020 10:25 PM, Thomas Gleixner wrote:
bcrmgf_netif_rx() uses in_interrupt to chose between netif_rx() and
netif_rx_ni(). in_interrupt() usage in drivers is phased out.

Convey the execution mode via an 'inirq' argument through the various
callchains leading to brcmf_netif_rx():

brcmf_pcie_isr_thread()		    <- Task context
   brcmf_proto_msgbuf_rx_trigger()
     brcmf_msgbuf_process_rx()
       brcmf_msgbuf_process_msgtype()
         brcmf_msgbuf_process_rx_complete()
	  brcmf_netif_mon_rx()
	     brcmf_netif_rx(isirq = false)
	  brcmf_netif_rx(isirq = false)

brcmf_sdio_readframes()  <- Task context sdio_claim_host() might sleep
   brcmf_rx_frame(isirq = false)

brcmf_sdio_rxglom()      <- Task context sdio_claim_host() might sleep
   brcmf_rx_frame(isirq = false)

brcmf_usb_rx_complete()  <- Interrupt context
   brcmf_rx_frame(isirq = true)

brcmf_rx_frame()
   brcmf_proto_rxreorder()
     brcmf_proto_bcdc_rxreorder()
       brcmf_fws_rxreorder()
         brcmf_netif_rx()
       brcmf_netif_rx()
Thanks for taking the dive.

Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Thomas Gleixner <redacted>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Kalle Valo <redacted>
---
V2: New patch. Using an argument instead of switching to netif_rx_any_context()
---
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c     |    4 +--
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h      |    3 +-
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c     |   16 ++++++------
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h     |    2 -
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c |   10 +++----
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h |    2 -
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c   |    5 ++-
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h    |    6 ++--
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c     |    4 +--
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c      |    2 -
  10 files changed, 29 insertions(+), 25 deletions(-)

Attachments

  • smime.p7s [application/pkcs7-signature] 4176 bytes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help