[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/15] pcie: Set default and supported MaxReadReq to 512
From: |
Lukasz Maniak |
Subject: |
Re: [PATCH 01/15] pcie: Set default and supported MaxReadReq to 512 |
Date: |
Tue, 26 Oct 2021 16:36:59 +0200 |
On Thu, Oct 07, 2021 at 06:12:41PM -0400, Michael S. Tsirkin wrote:
> On Thu, Oct 07, 2021 at 06:23:52PM +0200, Lukasz Maniak wrote:
> > From: Knut Omang <knut.omang@oracle.com>
> >
> > Make the default PCI Express Capability for PCIe devices set
> > MaxReadReq to 512.
>
> code says 256
>
> > Tyipcal modern devices people would want to
>
>
> typo
>
> > emulate or simulate would want this. The previous value would
> > cause warnings from the root port driver on some kernels.
>
>
> which specifically?
>
> >
> > Signed-off-by: Knut Omang <knuto@ifi.uio.no>
>
> we can't make changes like this unconditionally, this will
> break migration across versions.
> Pls tie this to a machine version.
>
> Thanks!
> > ---
> > hw/pci/pcie.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c
> > index 6e95d82903..c1a12f3744 100644
> > --- a/hw/pci/pcie.c
> > +++ b/hw/pci/pcie.c
> > @@ -62,8 +62,9 @@ pcie_cap_v1_fill(PCIDevice *dev, uint8_t port, uint8_t
> > type, uint8_t version)
> > * Functions conforming to the ECN, PCI Express Base
> > * Specification, Revision 1.1., or subsequent PCI Express Base
> > * Specification revisions.
> > + * + set max payload size to 256, which seems to be a common value
> > */
> > - pci_set_long(exp_cap + PCI_EXP_DEVCAP, PCI_EXP_DEVCAP_RBER);
> > + pci_set_long(exp_cap + PCI_EXP_DEVCAP, PCI_EXP_DEVCAP_RBER | (0x1 &
> > PCI_EXP_DEVCAP_PAYLOAD));
> >
> > pci_set_long(exp_cap + PCI_EXP_LNKCAP,
> > (port << PCI_EXP_LNKCAP_PN_SHIFT) |
> > @@ -179,6 +180,8 @@ int pcie_cap_init(PCIDevice *dev, uint8_t offset,
> > pci_set_long(exp_cap + PCI_EXP_DEVCAP2,
> > PCI_EXP_DEVCAP2_EFF | PCI_EXP_DEVCAP2_EETLPP);
> >
> > + pci_set_word(exp_cap + PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_READRQ_256B);
> > +
> > pci_set_word(dev->wmask + pos + PCI_EXP_DEVCTL2,
> > PCI_EXP_DEVCTL2_EETLPPB);
> >
> > if (dev->cap_present & QEMU_PCIE_EXTCAP_INIT) {
> > --
> > 2.25.1
>
Hi Michael,
The reason Knut keeps rebasing this fix along with SR-IOV patch is not
clear for us.
Since we have tested the NVMe device without this fix and did not notice
any issues mentioned by Knut on kernel 5.4.0, we decided to drop it for
v2.
However, I have posted your comments to this patch on Knut's github so
they can be addressed in case Knut decides to resubmit it later though.
Thanks,
Lukasz
- [PATCH 00/15] hw/nvme: SR-IOV with Virtualization Enhancements, Lukasz Maniak, 2021/10/07
- [PATCH 06/15] hw/nvme: Add support for Primary Controller Capabilities, Lukasz Maniak, 2021/10/07
- [PATCH 13/15] pcie: Add helpers to the SR/IOV API, Lukasz Maniak, 2021/10/07
- [PATCH 15/15] docs: Add documentation for SR-IOV and Virtualization Enhancements, Lukasz Maniak, 2021/10/07
- [PATCH 08/15] pcie: Add 1.2 version token for the Power Management Capability, Lukasz Maniak, 2021/10/07
- [PATCH 01/15] pcie: Set default and supported MaxReadReq to 512, Lukasz Maniak, 2021/10/07
- [PATCH 09/15] hw/nvme: Implement the Function Level Reset, Lukasz Maniak, 2021/10/07
- [PATCH 12/15] hw/nvme: Initialize capability structures for primary/secondary controllers, Lukasz Maniak, 2021/10/07
- [PATCH 14/15] hw/nvme: Add support for the Virtualization Management command, Lukasz Maniak, 2021/10/07
- [PATCH 03/15] pcie: Add some SR/IOV API documentation in docs/pcie_sriov.txt, Lukasz Maniak, 2021/10/07
- [PATCH 07/15] hw/nvme: Add support for Secondary Controller List, Lukasz Maniak, 2021/10/07
- [PATCH 11/15] hw/nvme: Calculate BAR atributes in a function, Lukasz Maniak, 2021/10/07
- [PATCH 04/15] pcie: Add callback preceding SR-IOV VFs update, Lukasz Maniak, 2021/10/07