All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Geoffrey McRae <geoff@hostfission.com>,
	Eric Auger <eric.auger@redhat.com>
Subject: [Qemu-devel] [PATCH v5 6/8] pcie: Allow generic PCIe root port to specify link speed and width
Date: Wed, 12 Dec 2018 12:39:43 -0700	[thread overview]
Message-ID: <154464358344.9828.234735873419417928.stgit@gimli.home> (raw)
In-Reply-To: <154464279386.9828.10219496338109023342.stgit@gimli.home>

Allow users to experimentally specify speed and width values for the
generic PCIe root port.  Defaults remain at 2.5GT/s & x1 for
compatiblity with the intent to only support changing defaults via
machine types for now.

Note for libvirt testing that pcie-root-port controllers are given
default names like "pci.7" which don't play well with using the
"-set device.$name.$prop=$value" options accessible to us via
<qemu:commandline> options.  The solution is to add an <alias> to the
pcie-root-port <controller>, for example:

    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0x15'/>
      <alias name='ua-gfx0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>

The "ua-" here is a mandatory prefix.  We can then use:

  <qemu:commandline>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.ua-gfx0.x-speed=8'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.ua-gfx0.x-width=16'/>
  </qemu:commandline>

or, without an alias, set globals such as:

  <qemu:commandline>
    <qemu:arg value='-global'/>
    <qemu:arg value='pcie-root-port.x-speed=8'/>
    <qemu:arg value='-global'/>
    <qemu:arg value='pcie-root-port.x-width=16'/>
  </qemu:commandline>

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Tested-by: Geoffrey McRae <geoff@hostfission.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---
 hw/pci-bridge/gen_pcie_root_port.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/pci-bridge/gen_pcie_root_port.c b/hw/pci-bridge/gen_pcie_root_port.c
index 299de429ec1e..ca5418a89dd2 100644
--- a/hw/pci-bridge/gen_pcie_root_port.c
+++ b/hw/pci-bridge/gen_pcie_root_port.c
@@ -124,6 +124,10 @@ static Property gen_rp_props[] = {
                      res_reserve.mem_pref_32, -1),
     DEFINE_PROP_SIZE("pref64-reserve", GenPCIERootPort,
                      res_reserve.mem_pref_64, -1),
+    DEFINE_PROP_PCIE_LINK_SPEED("x-speed", PCIESlot,
+                                speed, PCIE_LINK_SPEED_2_5),
+    DEFINE_PROP_PCIE_LINK_WIDTH("x-width", PCIESlot,
+                                width, PCIE_LINK_WIDTH_1),
     DEFINE_PROP_END_OF_LIST()
 };
 

  parent reply	other threads:[~2018-12-12 19:40 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 19:38 [Qemu-devel] [PATCH v5 0/8] pcie: Enhanced link speed and width support Alex Williamson
2018-12-12 19:38 ` [Qemu-devel] [PATCH v5 1/8] pcie: Create enums for link speed and width Alex Williamson
2018-12-12 19:38 ` [Qemu-devel] [PATCH v5 2/8] pci: Sync PCIe downstream port LNKSTA on read Alex Williamson
2018-12-12 19:39 ` [Qemu-devel] [PATCH v5 3/8] qapi: Define PCIe link speed and width properties Alex Williamson
2018-12-12 19:39 ` [Qemu-devel] [PATCH v5 4/8] pcie: Add link speed and width fields to PCIESlot Alex Williamson
2018-12-12 19:39 ` [Qemu-devel] [PATCH v5 5/8] pcie: Fill PCIESlot link fields to support higher speeds and widths Alex Williamson
2018-12-12 19:39 ` Alex Williamson [this message]
2018-12-18  1:29   ` [Qemu-devel] [PATCH v5 6/8] pcie: Allow generic PCIe root port to specify link speed and width Michael S. Tsirkin
2018-12-18  1:44     ` Alex Williamson
2018-12-18  1:47       ` Michael S. Tsirkin
2018-12-18  1:54         ` Alex Williamson
2018-12-18  2:27           ` Michael S. Tsirkin
2018-12-12 19:39 ` [Qemu-devel] [PATCH v5 7/8] vfio/pci: Remove PCIe Link Status emulation Alex Williamson
2018-12-12 19:40 ` [Qemu-devel] [PATCH v5 8/8] pcie: Fast PCIe root ports for new machines Alex Williamson

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=154464358344.9828.234735873419417928.stgit@gimli.home \
    --to=alex.williamson@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=geoff@hostfission.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.