[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: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH 01/15] pcie: Set default and supported MaxReadReq to 512 |
Date: |
Thu, 7 Oct 2021 18:12:41 -0400 |
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
- [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
- Re: [PATCH 01/15] pcie: Set default and supported MaxReadReq to 512,
Michael S. Tsirkin <=
- [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