Linux PCI subsystem development
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Jim Quinlan <james.quinlan@broadcom.com>,
	linux-pci@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
	Bjorn Helgaas <bhelgaas@google.com>,
	open list <linux-kernel@vger.kernel.org>,
	Hans Zhang <18255117159@163.com>,
	Niklas Cassel <cassel@kernel.org>
Subject: Re: [PATCH v2 RESEND 1/1] PCI: pcie_bus_config can be set at build time
Date: Thu, 26 Mar 2026 16:04:54 -0500	[thread overview]
Message-ID: <20260326210454.GA1346957@bhelgaas> (raw)
In-Reply-To: <143704d7-2126-4191-bb86-7d6784e3c848@broadcom.com>

On Thu, Mar 05, 2026 at 01:38:43PM -0800, Florian Fainelli wrote:
> On 3/5/26 13:36, Jim Quinlan wrote:
> > On Mon, Mar 2, 2026 at 7:03 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > > On Tue, Feb 24, 2026 at 04:10:17PM -0500, Jim Quinlan wrote:
> > > > On Fri, Feb 20, 2026 at 5:11 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > > > > On Mon, Sep 28, 2020 at 03:46:51PM -0400, Jim Quinlan wrote:
> > > > > > The Kconfig is modified so that the pcie_bus_config setting can be done at
> > > > > > build time in the same manner as the CONFIG_PCIEASPM_XXXX choice.  The
> > > > > > pci_bus_config setting may still be overridden by the bootline param.
> > > > > > 
> > > > > > Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
> > > > > 
> > > > > We merged this as b0e85c3c8554 ("PCI: Add Kconfig options for MPS/MRRS
> > > > > strategy"), which appeared in v5.10.
> > > > > 
> > > > > In retrospect, I think this might have been a mistake because it
> > > > > forces a build-time configuration for something that may not be known
> > > > > at build time and can be set via command-line parameter.
> > > > ...
> > > 
> > > > > But I can't find any discussion about it.  Did you have a use case
> > > > > where command line parameters weren't usable?
> > > > 
> > > > Yes.  We have a Cable Modem (CM) customer who can update their Linux
> > > > version but cannot update their boot loader or its default bootline.
> > > > FWIW, they only want the option to set pcie_bus_config to
> > > > PCIE_BUS_SAFE via the .config.
> > > > ...
> > > 
> > > > It's a CM product which uses a particular Wifi chip.  Recognizing this
> > > > scenario would have the RC trying to grab the EP's vendor-id (and
> > > > possibly more info), and that seems awkward at best.
> > > 
> > > This is actually kind of weird.  I don't know why a particular device
> > > would have any special MPS or MRRS requirements.
> > > 
> > > Do you have any more details about this?  Does the WiFi chip actually
> > > not *work* with other MPS settings?  Or is this a performance thing
> > > where other settings don't give acceptable performance?
> > 
> > Hi Bjorn,
> > I looked up the original request mail thread on this -- it appears
> > that the device defaulted to an MPS value of 128, and that value is
> > what it was assigned. Unfortunately, this device has an occasional HW
> > bug when MPS=128.  Rather than fix the HW bug, they wanted a SW change
> > in Linux, and somehow that request morphed into a request for
> > PCIE_BUS_XXX config settings.  So the reason for the original
> > submission is weak and we should have done something different, but
> > here we are.
> 
> Late to the party and probably could have suggested back then, but this
> seems like a prime candidate for using a PCI quirk fixup?

Definitely.  The WiFi devices is likely used in platforms other than
the Cable Modem in question.  The CM avoids the hardware bug by
building with PCIE_BUS_SAFE, which probably sets MPS larger than 128.

But other platforms may use the same device and trip over this
hardware issue if they use different PCIE_BUS_* config or kernel
parameters that result in MPS=128.

What is the WiFi device in question?  Maybe we can look for reports of
problems or try to reproduce the issue if we know where to look.  Then
maybe we can figure out a solution that helps everybody.

Bjorn

      reply	other threads:[~2026-03-26 21:04 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-28 19:46 [PATCH v2 RESEND 0/1] PCI: pcie_bus_config can be set at build time Jim Quinlan
2020-09-28 19:46 ` [PATCH v2 RESEND 1/1] " Jim Quinlan
2020-09-29 21:31   ` Bjorn Helgaas
2020-09-30 20:57     ` Jim Quinlan
2026-02-20 22:11   ` Bjorn Helgaas
2026-02-24 21:10     ` Jim Quinlan
2026-02-24 23:05       ` Bjorn Helgaas
2026-02-27 23:42         ` Jim Quinlan
2026-02-25 13:23       ` Niklas Cassel
2026-02-27 23:52         ` Jim Quinlan
2026-03-03  0:03       ` Bjorn Helgaas
2026-03-05 21:36         ` Jim Quinlan
2026-03-05 21:38           ` Florian Fainelli
2026-03-26 21:04             ` Bjorn Helgaas [this message]

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=20260326210454.GA1346957@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=18255117159@163.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bhelgaas@google.com \
    --cc=cassel@kernel.org \
    --cc=florian.fainelli@broadcom.com \
    --cc=james.quinlan@broadcom.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /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