[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/5] msix: simplfy the conditional in msix_set/unset_vector_notif
From: |
Longpeng(Mike) |
Subject: |
[PATCH 2/5] msix: simplfy the conditional in msix_set/unset_vector_notifiers |
Date: |
Wed, 25 Aug 2021 15:56:17 +0800 |
'msix_function_masked' is kept pace with the device's config,
we can use it to replace the complex conditional in
msix_set/unset_vector_notifiers.
poll_notifier should be reset to NULL in the error path in
msix_set_vector_notifiers, fix it incidentally.
Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
---
hw/pci/msix.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index ae9331c..8057709 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -592,8 +592,7 @@ int msix_set_vector_notifiers(PCIDevice *dev,
dev->msix_vector_release_notifier = release_notifier;
dev->msix_vector_poll_notifier = poll_notifier;
- if ((dev->config[dev->msix_cap + MSIX_CONTROL_OFFSET] &
- (MSIX_ENABLE_MASK | MSIX_MASKALL_MASK)) == MSIX_ENABLE_MASK) {
+ if (!dev->msix_function_masked) {
for (vector = 0; vector < dev->msix_entries_nr; vector++) {
ret = msix_set_notifier_for_vector(dev, vector);
if (ret < 0) {
@@ -612,6 +611,7 @@ undo:
}
dev->msix_vector_use_notifier = NULL;
dev->msix_vector_release_notifier = NULL;
+ dev->msix_vector_poll_notifier = NULL;
return ret;
}
@@ -622,8 +622,7 @@ void msix_unset_vector_notifiers(PCIDevice *dev)
assert(dev->msix_vector_use_notifier &&
dev->msix_vector_release_notifier);
- if ((dev->config[dev->msix_cap + MSIX_CONTROL_OFFSET] &
- (MSIX_ENABLE_MASK | MSIX_MASKALL_MASK)) == MSIX_ENABLE_MASK) {
+ if (!dev->msix_function_masked) {
for (vector = 0; vector < dev->msix_entries_nr; vector++) {
msix_unset_notifier_for_vector(dev, vector);
}
--
1.8.3.1
- [PATCH 0/5] optimize the downtime for vfio migration, Longpeng(Mike), 2021/08/25
- [PATCH 2/5] msix: simplfy the conditional in msix_set/unset_vector_notifiers,
Longpeng(Mike) <=
- [PATCH 1/5] vfio: use helper to simplfy the failure path in vfio_msi_enable, Longpeng(Mike), 2021/08/25
- [PATCH 3/5] vfio: defer to enable msix in migration resume phase, Longpeng(Mike), 2021/08/25
- [PATCH 4/5] kvm: irqchip: support defer to commit the route, Longpeng(Mike), 2021/08/25
- [PATCH 5/5] vfio: defer to commit kvm route in migraiton resume phase, Longpeng(Mike), 2021/08/25
- Re: [PATCH 0/5] optimize the downtime for vfio migration, Philippe Mathieu-Daudé, 2021/08/25