mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Janne Grunau <j@jannau.net>
To: michael.reeves077@gmail.com
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>,
	Pieter-Paul Giesberts <pieterpg@broadcom.com>,
	"Franky Lin (Zhenhui)" <frankyl@broadcom.com>,
	Mathy Vanhoef <vanhoefm@gmail.com>, Kalle Valo <kvalo@kernel.org>,
	Kees Cook <kees@kernel.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev,
	brcm80211-dev-list.pdl@broadcom.com, asahi@lists.linux.dev,
	Hector Martin <marcan@marcan.st>,
	Daniel Berlin <dberlin@dberlin.org>,
	linux-kernel@vger.kernel.org,
	Hante Meuleman <meuleman@broadcom.com>,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH 13/13] wifi: brcmfmac: Add BCM4388 support
Date: Mon, 2 Nov 2026 21:36:29 +0100	[thread overview]
Message-ID: <20261102203629.GA770347@robin.jannau.net> (raw)
In-Reply-To: <20260925-brcm4388-submit-v1-13-b5cbc2cde2fb@gmail.com>

On Fri, Sep 25, 2026 at 11:43:48PM +1000, Michael Reeves via B4 Relay wrote:
> From: Hector Martin <marcan@marcan.st>
> 
> Add BCM4388 firmware mappings, RAM base and OTP handling, and increase
> the RX posting and completion ring capacities to 2048 items.
> 
> On BCM4388, DMA_FROM_DEVICE mappings for posted receive buffers cause
> DART read-permission faults followed by firmware DMA failure. Map these
> buffers with DMA_BIDIRECTIONAL to allow device reads as well as writes.

Not only on BCM4388. See commit 7ed5dce55fa8 ("wifi: brcmfmac: map msgbuf
RX packet IDs bidirectional") [1] only in wireless/main, doesn't seem to
made it into next yet. BCM4378 and BCM4387 do need the RX msgbufs mapped
as bidirectional as well.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git/commit/?id=7ed5dce55fa8393972b1bf2bf5af1c818c5e7dc2 [1]

> Keep the existing mapping direction for other chips.
> 
> Signed-off-by: Hector Martin <marcan@marcan.st>
> Co-developed-by: Michael Reeves <michael.reeves077@gmail.com>
> Signed-off-by: Michael Reeves <michael.reeves077@gmail.com>
> ---
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c      |  1 +
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c    |  8 +++++---
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.h    |  4 ++--
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c      | 12 +++++++++++-
>  .../net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h    |  2 ++
>  5 files changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> index 253ab45c33..411188010f 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> @@ -751,6 +751,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
>  	case BRCM_CC_4366_CHIP_ID:
>  	case BRCM_CC_43664_CHIP_ID:
>  	case BRCM_CC_43666_CHIP_ID:
> +	case BRCM_CC_4388_CHIP_ID:
>  		return 0x200000;
>  	case BRCM_CC_4355_CHIP_ID:
>  	case BRCM_CC_4359_CHIP_ID:
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
> index 8e5c697e7f..5ad46d7ec6 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
> @@ -12,6 +12,7 @@
>  #include <linux/netdevice.h>
>  #include <linux/etherdevice.h>
>  
> +#include <brcm_hw_ids.h>
>  #include <brcmu_utils.h>
>  #include <brcmu_wifi.h>
>  
> @@ -51,7 +52,7 @@
>  #define MSGBUF_TYPE_D2H_MAILBOX_DATA		0x24
>  
>  #define NR_TX_PKTIDS				2048
> -#define NR_RX_PKTIDS				1024
> +#define NR_RX_PKTIDS				2048
>  
>  #define BRCMF_IOCTL_REQ_PKTID			0xFFFE
>  
> @@ -330,7 +331,6 @@ brcmf_msgbuf_init_pktids(u32 nr_array_entries,
>  	return pktids;
>  }
>  
> -

nit: cosmetic change

>  static int
>  brcmf_msgbuf_alloc_pktid(struct device *dev,
>  			 struct brcmf_msgbuf_pktids *pktids,
> @@ -1695,8 +1695,10 @@ int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr)
>  						     DMA_TO_DEVICE);
>  	if (!msgbuf->tx_pktids)
>  		goto fail;
> +	/* BCM4388 firmware also reads from posted RX buffers. */
>  	msgbuf->rx_pktids = brcmf_msgbuf_init_pktids(NR_RX_PKTIDS,
> -						     DMA_FROM_DEVICE);
> +			drvr->bus_if->chip == BRCM_CC_4388_CHIP_ID ?
> +			DMA_BIDIRECTIONAL : DMA_FROM_DEVICE);

This conflicts with the linked change. Best to drop this hunk and rely
on the linked change.

[...]

> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> @@ -2459,7 +2468,7 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
>  
>  static bool brcmf_pcie_request_fw_signature(struct brcmf_pciedev_info *devinfo)
>  {
> -	return false;
> +	return devinfo->ci->chip == BRCM_CC_4388_CHIP_ID;
>  }

nit: this is hard to extend.

```
        switch (devinfo->ci->chip) {
	case BRCM_CC_4388_CHIP_ID:
	        return true;
	default:
	        return false;
	}
```
would be easier to extend and is in my opinion easier to read

Janne

  reply	other threads:[~2026-11-02 20:36 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25 13:43 [PATCH 00/13] " Michael Reeves via B4 Relay
2026-09-25 13:43 ` [PATCH 01/13] wifi: brcmfmac: pcie: Report the detected chip ID to the bus Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 02/13] wifi: brcmfmac: Match complete firmware capability names Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 03/13] wifi: brcmfmac: Fall back to RSSI-only default join preferences Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 04/13] wifi: brcmfmac: Support newer PCIe core startup and interrupts Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 05/13] wifi: brcmfmac: Negotiate PCIe mailbox transport with firmware Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 06/13] wifi: brcmfmac: Load signed PCIe firmware images Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 07/13] wifi: brcmfmac: Use event_msgs_ext for event masks Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 08/13] wifi: brcmfmac: Handle larger firmware band lists Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 09/13] wifi: brcmfmac: Accept newer BSS information versions Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 10/13] wifi: brcmfmac: Support versioned scan parameter layouts Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 11/13] wifi: brcmfmac: Support versioned join requests Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 12/13] wifi: brcmfmac: Handle extended PMK command payloads Michael Reeves via B4 Relay
2026-11-03 13:58   ` Arend van Spriel
2026-09-25 13:43 ` [PATCH 13/13] wifi: brcmfmac: Add BCM4388 support Michael Reeves via B4 Relay
2026-11-02 20:36   ` Janne Grunau [this message]
2026-11-03 13:58   ` Arend van Spriel
2026-10-07 12:54 ` [PATCH 00/13] " Arend van Spriel
2026-11-01 19:27 ` Arend van Spriel
2026-11-02 20:46   ` Janne Grunau
2026-11-03 13:51     ` Arend van Spriel
2026-11-02  0:42 ` Neal Gompa
2026-11-02 16:58   ` Arend van Spriel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261102203629.GA770347@robin.jannau.net \
    --to=j@jannau.net \
    --cc=arend.vanspriel@broadcom.com \
    --cc=asahi@lists.linux.dev \
    --cc=brcm80211-dev-list.pdl@broadcom.com \
    --cc=brcm80211@lists.linux.dev \
    --cc=dberlin@dberlin.org \
    --cc=frankyl@broadcom.com \
    --cc=gustavoars@kernel.org \
    --cc=kees@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marcan@marcan.st \
    --cc=meuleman@broadcom.com \
    --cc=michael.reeves077@gmail.com \
    --cc=pieterpg@broadcom.com \
    --cc=vanhoefm@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®