Re: PCIe: can't set Max Payload Size to 256

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 17, 2021 at 11:31:08AM +0200, Pali Rohár wrote:
> On Saturday 17 April 2021 11:29:04 Keith Busch wrote:
> > On Sat, Apr 17, 2021 at 01:04:30AM +0200, Pali Rohár wrote:
> > > Above NVMe disk is connected to PCIe packet switch (which acts as pair
> > > of Upstream and Downstream ports of PCI bridge) and PCIe packet switch
> > > is connected to the Root port.
> > > 
> > > I'm not sure what should I set or what to force.
> > 
> > Try adding the suggested kernel parameter, "pci=pcie_bus_safe".
> 
> Ok, I will try it.
> 
> > Unless this is a hot-plug scenario, it is odd the OS was handed
> > mismatched PCIe settings. That usually indicates a platform bios issue,
> > and the kernel parameter is typically successful at working around it.
> 
> This is arm64, no BIOS. Kernel uses native pci-aardvark.c host
> controller driver which handles everything related to PCIe.

That also sounds odd. The default MPS value is 128b, so something
changed your bridge to 256b. Linux pci driver generally uses the
existing settings. The only times it attempts to change them is if you
used parameters to tell it to do that, or if it detects a mismatch, so
I'm curious what component set the bridge as you've observed.

In any case, the 'safe' parameter sounds like the most likely way to
work around it.



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux