lkml.org 
[lkml]   [2020]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch V2 26/36] net: brcmfmac: Convey execution context via argument to brcmf_netif_rx()
From
Date
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 <tglx@linutronix.de>
> Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
> Cc: Kalle Valo <kvalo@codeaurora.org>
> ---
> 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(-)
[unhandled content-type:application/pkcs7-signature]
\
 
 \ /
  Last update: 2020-09-30 00:05    [W:0.128 / U:1.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site