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
next prev parent 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®