From: Markus Armbruster <armbru@redhat.com>
To: Auger Eric <eric.auger@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
qemu-devel@nongnu.org, Geoffrey McRae <geoff@hostfission.com>
Subject: Re: [Qemu-devel] [for-4.0 PATCH v3 3/9] qapi: Define PCIe link speed and width properties
Date: Wed, 05 Dec 2018 15:16:27 +0100 [thread overview]
Message-ID: <87d0qgrrd0.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <83c490a2-7565-b95c-563f-fb73476e874f@redhat.com> (Auger Eric's message of "Wed, 5 Dec 2018 13:42:25 +0100")
Auger Eric <eric.auger@redhat.com> writes:
> Hi Alex,
>
> On 12/4/18 5:26 PM, Alex Williamson wrote:
>> Create properties to be able to define speeds and widths for PCIe
>> links. The only tricky bit here is that our get and set callbacks
>> translate from the fixed QAPI automagic enums to those we define
>> in PCI code to represent the actual register segment value.
>>
>> Cc: Eric Blake <eblake@redhat.com>
>> Cc: Markus Armbruster <armbru@redhat.com>
>> Tested-by: Geoffrey McRae <geoff@hostfission.com>
>> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
>> ---
>> hw/core/qdev-properties.c | 178 ++++++++++++++++++++++++++++++++++++++++++
>> include/hw/qdev-properties.h | 8 ++
>> qapi/common.json | 42 ++++++++++
>> 3 files changed, 228 insertions(+)
>>
>> diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
>> index 35072dec1ecf..f5ca5b821a79 100644
>> --- a/hw/core/qdev-properties.c
>> +++ b/hw/core/qdev-properties.c
>> @@ -1327,3 +1327,181 @@ const PropertyInfo qdev_prop_off_auto_pcibar = {
>> .set = set_enum,
>> .set_default_value = set_default_value_enum,
>> };
>> +
>> +/* --- PCIELinkSpeed 2_5/5/8/16 -- */
>> +
>> +static void get_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name,
>> + void *opaque, Error **errp)
>> +{
>> + DeviceState *dev = DEVICE(obj);
>> + Property *prop = opaque;
>> + PCIExpLinkSpeed *p = qdev_get_prop_ptr(dev, prop);
>> + PCIELinkSpeed speed;
>> +
>> + switch (*p) {
>> + case QEMU_PCI_EXP_LNK_2_5GT:
>> + speed = PCIE_LINK_SPEED_2_5;
>> + break;
>> + case QEMU_PCI_EXP_LNK_5GT:
>> + speed = PCIE_LINK_SPEED_5;
>> + break;
>> + case QEMU_PCI_EXP_LNK_8GT:
>> + speed = PCIE_LINK_SPEED_8;
>> + break;
>> + case QEMU_PCI_EXP_LNK_16GT:
>> + speed = PCIE_LINK_SPEED_16;
>> + break;
>> + default:
>> + /* Unreachable */
>> + abort();
> nit: g_assert_not_reached() here and below.
In my opinion, g_assert_not_reached() & friends are an overly ornate
reinvention of an old and perfectly adequate wheel.
A long time ago for reasons since forgotten, the maintainers in charge
back then demanded abort() instead of assert(0). Either is fine with
me.
I tolerate g_assert_not_reached() in files that already use g_assert().
This one doesn't.
In any case, I'd drop the comment.
Note that I'm not this file's maintainer.
[...]
next prev parent reply other threads:[~2018-12-05 14:16 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-04 16:25 [Qemu-devel] [for-4.0 PATCH v3 0/9] pcie: Enhanced link speed and width support Alex Williamson
2018-12-04 16:26 ` [Qemu-devel] [for-4.0 PATCH v3 1/9] pcie: Create enums for link speed and width Alex Williamson
2018-12-04 17:02 ` Philippe Mathieu-Daudé
2018-12-06 11:08 ` Auger Eric
2018-12-04 16:26 ` [Qemu-devel] [for-4.0 PATCH v3 2/9] pci: Sync PCIe downstream port LNKSTA on read Alex Williamson
2018-12-06 11:08 ` Auger Eric
2018-12-04 16:26 ` [Qemu-devel] [for-4.0 PATCH v3 3/9] qapi: Define PCIe link speed and width properties Alex Williamson
2018-12-05 9:09 ` Markus Armbruster
2018-12-05 15:53 ` Alex Williamson
2018-12-05 12:42 ` Auger Eric
2018-12-05 14:16 ` Markus Armbruster [this message]
2018-12-05 14:27 ` Auger Eric
2018-12-05 16:21 ` Markus Armbruster
2018-12-05 16:44 ` Alex Williamson
2018-12-06 16:04 ` Alex Williamson
2018-12-04 16:26 ` [Qemu-devel] [for-4.0 PATCH v3 4/9] pcie: Add link speed and width fields to PCIESlot Alex Williamson
2018-12-06 11:08 ` Auger Eric
2018-12-04 16:26 ` [Qemu-devel] [for-4.0 PATCH v3 5/9] pcie: Fill PCIESlot link fields to support higher speeds and widths Alex Williamson
2018-12-06 11:08 ` Auger Eric
2018-12-06 16:00 ` Alex Williamson
2018-12-06 16:35 ` Auger Eric
2018-12-04 16:26 ` [Qemu-devel] [for-4.0 PATCH v3 6/9] pcie: Allow generic PCIe root port to specify link speed and width Alex Williamson
2018-12-06 11:22 ` Auger Eric
2018-12-04 16:27 ` [Qemu-devel] [for-4.0 PATCH v3 7/9] vfio/pci: Remove PCIe Link Status emulation Alex Williamson
2018-12-06 11:17 ` Auger Eric
2018-12-04 16:27 ` [Qemu-devel] [for-4.0 PATCH v3 8/9] q35/440fx/arm/spapr: Add QEMU 4.0 machine type Alex Williamson
2018-12-04 19:04 ` [Qemu-devel] [for-4.0 PATCH v3.1 8/9] q35/440fx/arm/spapr/ccw: " Alex Williamson
2018-12-04 19:16 ` Christian Borntraeger
2018-12-04 19:26 ` Alex Williamson
2018-12-04 19:29 ` Peter Maydell
2018-12-04 19:56 ` Alex Williamson
2018-12-04 20:02 ` Christian Borntraeger
2018-12-05 8:32 ` Cornelia Huck
2018-12-05 15:42 ` Alex Williamson
2018-12-05 16:01 ` Cornelia Huck
2018-12-06 12:52 ` Eduardo Habkost
2018-12-06 16:24 ` Alex Williamson
2018-12-04 19:39 ` Marc-André Lureau
2018-12-06 11:20 ` [Qemu-devel] [for-4.0 PATCH v3 8/9] q35/440fx/arm/spapr: " Auger Eric
2018-12-06 19:12 ` Eduardo Habkost
2018-12-06 19:27 ` Alex Williamson
2018-12-04 16:27 ` [Qemu-devel] [for-4.0 PATCH v3 9/9] pcie: Fast PCIe root ports for new machines Alex Williamson
2018-12-05 21:35 ` Alex Williamson
2018-12-06 11:22 ` Auger Eric
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=87d0qgrrd0.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=eric.auger@redhat.com \
--cc=geoff@hostfission.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.