All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	qemu-devel@nongnu.org,  armbru@redhat.com,  eblake@redhat.com,
	eduardo@habkost.net,  berrange@redhat.com,  pbonzini@redhat.com,
	marcel.apfelbaum@gmail.com,  mst@redhat.com,
	den-plotnikov@yandex-team.ru,  antonkuchin@yandex-team.ru
Subject: Re: [PATCH v4 16/16] qapi: introduce DEVICE_ON event
Date: Tue, 14 Feb 2023 09:58:14 +0100	[thread overview]
Message-ID: <873578oc7t.fsf@pond.sub.org> (raw)
In-Reply-To: <2bd9ad31-39c8-f85b-ae5a-80de8d9ec448@linaro.org> ("Philippe Mathieu-Daudé"'s message of "Mon, 13 Feb 2023 15:12:03 +0100")

Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> On 13/2/23 15:01, Vladimir Sementsov-Ogievskiy wrote:
>> We have DEVICE_DELETED event, that signals that device_del command is
>> actually completed. But we don't have a counter-part for device_add.
>> Still it's sensible for SHPC and PCIe-native hotplug, as there are time
>> when the device in some intermediate state. Let's add an event that say
>> that the device is finally powered on, power indicator is on and
>> everything is OK for next manipulation on that device.
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
>> ---
>>   qapi/qdev.json | 13 +++++++++++++
>>   hw/pci/pcie.c  | 13 +++++++++++++
>>   hw/pci/shpc.c  | 12 ++++++++++++
>>   3 files changed, 38 insertions(+)
>> diff --git a/qapi/qdev.json b/qapi/qdev.json
>> index b6ad311dd4..2143bb2792 100644
>> --- a/qapi/qdev.json
>> +++ b/qapi/qdev.json
>> @@ -341,3 +341,16 @@
>>   { 'command': 'query-hotplug',
>>     'data': { 'id': 'str' },
>>     'returns': 'HotplugInfo' }
>> +
>> +##
>> +# @DEVICE_ON:
>> +#
>> +# Emitted whenever the device insertion completion is acknowledged by the guest.
>> +# For now only emitted for SHPC and PCIe-native hotplug.
>> +#
>> +# @path: the hotplugged device's QOM path
>> +#
>> +# Since: 8.0
>> +##
>> +{ 'event': 'DEVICE_ON',
>> +  'data': { 'path': 'str' } }
>
> Could 'qom-path' or 'canonical-path' be more meaningful here?

@qom-path would be clearer, no doubt.  But @path is consistent with the
closely related DEVICE_DELETED event.

>> @@ -816,6 +823,12 @@ void pcie_cap_slot_write_config(PCIDevice *dev,
>>           qdev_hotplug_state_event(DEVICE(dev), NULL, child_dev, &changed_state);
>>       }
>>   +    if ((sltsta & PCI_EXP_SLTSTA_PDS) && pcie_sltctl_powered_on(val) &&
>> +        !pcie_sltctl_powered_on(old_slt_ctl) && child_dev)
>> +    {
>> +        qapi_event_send_device_on(child_dev->canonical_path);
>> +    }



  reply	other threads:[~2023-02-14  8:58 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-13 14:00 [PATCH v4 00/16] pci hotplug tracking Vladimir Sementsov-Ogievskiy
2023-02-13 14:00 ` [PATCH v4 01/16] pci/shpc: set attention led to OFF on reset Vladimir Sementsov-Ogievskiy
2023-02-13 14:16   ` Philippe Mathieu-Daudé
2023-02-14  9:49     ` Vladimir Sementsov-Ogievskiy
2023-02-14 19:31   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 02/16] pci/shpc: change shpc_get_status() return type to uint8_t Vladimir Sementsov-Ogievskiy
2023-02-14 19:32   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 03/16] pci/shpc: shpc_slot_command(): handle PWRONLY -> ENABLED transition Vladimir Sementsov-Ogievskiy
2023-02-14 19:33   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 04/16] pci/shpc: more generic handle hot-unplug in shpc_slot_command() Vladimir Sementsov-Ogievskiy
2023-02-14 19:34   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 05/16] pci/shpc: pass PCIDevice pointer to shpc_slot_command() Vladimir Sementsov-Ogievskiy
2023-02-14 19:35   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 06/16] pci/shpc: refactor shpc_device_plug_common() Vladimir Sementsov-Ogievskiy
2023-02-14 19:36   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 07/16] pcie: pcie_cap_slot_write_config(): use correct macro Vladimir Sementsov-Ogievskiy
2023-02-14 19:37   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 08/16] pcie_regs: drop duplicated indicator value macros Vladimir Sementsov-Ogievskiy
2023-02-14 19:39   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 09/16] pcie: drop unused PCIExpressIndicator Vladimir Sementsov-Ogievskiy
2023-02-14 19:40   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 10/16] pcie: pcie_cap_slot_enable_power() use correct helper Vladimir Sementsov-Ogievskiy
2023-02-14 19:41   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 11/16] pcie: introduce pcie_sltctl_powered_off() helper Vladimir Sementsov-Ogievskiy
2023-02-14 19:41   ` Anton Kuchin
2023-02-13 14:00 ` [PATCH v4 12/16] pcie: set power indicator to off on reset by default Vladimir Sementsov-Ogievskiy
2023-02-14 19:42   ` Anton Kuchin
2023-02-13 14:01 ` [PATCH v4 13/16] pci: introduce pci_find_the_only_child() Vladimir Sementsov-Ogievskiy
2023-02-14 19:43   ` Anton Kuchin
2023-02-13 14:01 ` [PATCH v4 14/16] qapi: deprecate "device" field of DEVICE_* events Vladimir Sementsov-Ogievskiy
2023-02-13 14:13   ` Daniel P. Berrangé
2023-02-14  8:54     ` Markus Armbruster
2023-02-14  9:25       ` Peter Krempa
2023-02-14 11:14         ` Daniel P. Berrangé
2023-02-14 11:49           ` Markus Armbruster
2023-02-14 11:53             ` Philippe Mathieu-Daudé
2023-02-14 12:17               ` Markus Armbruster
2023-02-14 13:56                 ` Philippe Mathieu-Daudé
2023-02-14 16:18                   ` Markus Armbruster
2023-02-14 11:53             ` Markus Armbruster
2023-02-14 11:13       ` Daniel P. Berrangé
2023-02-14 11:57         ` Markus Armbruster
2023-02-14 13:51           ` Vladimir Sementsov-Ogievskiy
2023-02-14 13:59           ` Daniel P. Berrangé
2023-02-14 16:28             ` Markus Armbruster
2023-02-15 21:00               ` Vladimir Sementsov-Ogievskiy
2023-02-16  0:34                 ` Markus Armbruster
2023-02-13 14:01 ` [PATCH v4 15/16] qapi: add HOTPLUG_STATE event Vladimir Sementsov-Ogievskiy
2023-02-13 14:10   ` Philippe Mathieu-Daudé
2023-02-14  8:56     ` Markus Armbruster
2023-02-14  9:52       ` Vladimir Sementsov-Ogievskiy
2023-02-13 14:01 ` [PATCH v4 16/16] qapi: introduce DEVICE_ON event Vladimir Sementsov-Ogievskiy
2023-02-13 14:12   ` Philippe Mathieu-Daudé
2023-02-14  8:58     ` Markus Armbruster [this message]
2023-02-14  9:56       ` Vladimir Sementsov-Ogievskiy

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=873578oc7t.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=antonkuchin@yandex-team.ru \
    --cc=berrange@redhat.com \
    --cc=den-plotnikov@yandex-team.ru \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@yandex-team.ru \
    /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.