* [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function
@ 2014-09-09 2:21 Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 1/4 resend] PCI: introduce helper functions for device flag operation Ethan Zhao
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Ethan Zhao @ 2014-09-09 2:21 UTC (permalink / raw)
To: bhelgaas, linux-pci, linux-kernel, gleb, pbonzini, kvm,
konrad.wilk, boris.ostrovsky, david.vrabel
Cc: alex.williamson, alexander.h.duyck, ethan.kernel, Ethan Zhao
This patch set introduces three PCI device flag operation helper functions
when set pci device PF/VF to assigned or deassigned status also check it.
and patch 2,3,4 apply these helper functions to KVM,XEN and PCI.
v2: simplify unnecessory ternary operation in function pci_is_dev_assigned().
v3: amend helper function naming.
v4: fix incorrect type in return expression warning found by Fengguang Wu.
Appreciate suggestion from
alex.williamson@redhat.com,
david.vrabel@citrix.com,
alexander.h.duyck@intel.com
Resend for v3.18 building.
Thanks,
Ethan
---
Ethan Zhao (4):
PCI: introduce helper functions for device flag operation
KVM: use pci device flag operation helper functions
xen-pciback: use pci device flag operation helper function
PCI: use device flag operation helper function in iov.c
drivers/pci/iov.c | 2 +-
drivers/xen/xen-pciback/pci_stub.c | 4 ++--
include/linux/pci.h | 13 +++++++++++++
virt/kvm/assigned-dev.c | 2 +-
virt/kvm/iommu.c | 4 ++--
5 files changed, 19 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH V4 1/4 resend] PCI: introduce helper functions for device flag operation
2014-09-09 2:21 [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
@ 2014-09-09 2:21 ` Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 2/4 resend] KVM: use pci device flag operation helper functions Ethan Zhao
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ethan Zhao @ 2014-09-09 2:21 UTC (permalink / raw)
To: bhelgaas, linux-pci, linux-kernel, gleb, pbonzini, kvm,
konrad.wilk, boris.ostrovsky, david.vrabel
Cc: alex.williamson, alexander.h.duyck, ethan.kernel, Ethan Zhao
This patch introduced three helper functions to hide direct
device flag operation.
void pci_set_dev_assigned(struct pci_dev *pdev);
void pci_clear_dev_assigned(struct pci_dev *pdev);
bool pci_is_dev_assigned(struct pci_dev *pdev);
Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
---
v2: simplify unnecessory ternary operation in function pci_is_dev_assigned();
v3: amend helper functions naming.
v4: fix incorrect type in return expression warning.
---
include/linux/pci.h | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 466bcd1..b610ab3 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1829,4 +1829,17 @@ int pci_for_each_dma_alias(struct pci_dev *pdev,
*/
struct pci_dev *pci_find_upstream_pcie_bridge(struct pci_dev *pdev);
+/* helper functions for operation of device flag */
+static inline void pci_set_dev_assigned(struct pci_dev *pdev)
+{
+ pdev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
+}
+static inline void pci_clear_dev_assigned(struct pci_dev *pdev)
+{
+ pdev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
+}
+static inline bool pci_is_dev_assigned(struct pci_dev *pdev)
+{
+ return (pdev->dev_flags & PCI_DEV_FLAGS_ASSIGNED) == PCI_DEV_FLAGS_ASSIGNED;
+}
#endif /* LINUX_PCI_H */
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH V4 2/4 resend] KVM: use pci device flag operation helper functions
2014-09-09 2:21 [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 1/4 resend] PCI: introduce helper functions for device flag operation Ethan Zhao
@ 2014-09-09 2:21 ` Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 3/4 resend] xen-pciback: use pci device flag operation helper function Ethan Zhao
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ethan Zhao @ 2014-09-09 2:21 UTC (permalink / raw)
To: bhelgaas, linux-pci, linux-kernel, gleb, pbonzini, kvm,
konrad.wilk, boris.ostrovsky, david.vrabel
Cc: alex.williamson, alexander.h.duyck, ethan.kernel, Ethan Zhao
Use helper function instead of direct operation to pci device
flag when set device to assigned or deassigned.
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
---
virt/kvm/assigned-dev.c | 2 +-
virt/kvm/iommu.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
index bf06577..38581ee 100644
--- a/virt/kvm/assigned-dev.c
+++ b/virt/kvm/assigned-dev.c
@@ -302,7 +302,7 @@ static void kvm_free_assigned_device(struct kvm *kvm,
else
pci_restore_state(assigned_dev->dev);
- assigned_dev->dev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
+ pci_clear_dev_assigned(assigned_dev->dev);
pci_release_regions(assigned_dev->dev);
pci_disable_device(assigned_dev->dev);
diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
index 0df7d4b..34a8b02 100644
--- a/virt/kvm/iommu.c
+++ b/virt/kvm/iommu.c
@@ -194,7 +194,7 @@ int kvm_assign_device(struct kvm *kvm,
goto out_unmap;
}
- pdev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
+ pci_set_dev_assigned(pdev);
dev_info(&pdev->dev, "kvm assign device\n");
@@ -220,7 +220,7 @@ int kvm_deassign_device(struct kvm *kvm,
iommu_detach_device(domain, &pdev->dev);
- pdev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
+ pci_clear_dev_assigned(pdev);
dev_info(&pdev->dev, "kvm deassign device\n");
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH V4 3/4 resend] xen-pciback: use pci device flag operation helper function
2014-09-09 2:21 [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 1/4 resend] PCI: introduce helper functions for device flag operation Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 2/4 resend] KVM: use pci device flag operation helper functions Ethan Zhao
@ 2014-09-09 2:21 ` Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 4/4 resend] PCI: use device flag operation helper function in iov.c Ethan Zhao
2014-09-16 22:21 ` [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Bjorn Helgaas
4 siblings, 0 replies; 6+ messages in thread
From: Ethan Zhao @ 2014-09-09 2:21 UTC (permalink / raw)
To: bhelgaas, linux-pci, linux-kernel, gleb, pbonzini, kvm,
konrad.wilk, boris.ostrovsky, david.vrabel
Cc: alex.williamson, alexander.h.duyck, ethan.kernel, Ethan Zhao
Use pci device flag operation helper functions when set device
to assigned or deassigned state.
Acked-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
---
drivers/xen/xen-pciback/pci_stub.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index d57a173..e593921 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -133,7 +133,7 @@ static void pcistub_device_release(struct kref *kref)
xen_pcibk_config_free_dyn_fields(dev);
xen_pcibk_config_free_dev(dev);
- dev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
+ pci_clear_dev_assigned(dev);
pci_dev_put(dev);
kfree(psdev);
@@ -413,7 +413,7 @@ static int pcistub_init_device(struct pci_dev *dev)
dev_dbg(&dev->dev, "reset device\n");
xen_pcibk_reset_device(dev);
- dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
+ pci_set_dev_assigned(dev);
return 0;
config_release:
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH V4 4/4 resend] PCI: use device flag operation helper function in iov.c
2014-09-09 2:21 [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
` (2 preceding siblings ...)
2014-09-09 2:21 ` [PATCH V4 3/4 resend] xen-pciback: use pci device flag operation helper function Ethan Zhao
@ 2014-09-09 2:21 ` Ethan Zhao
2014-09-16 22:21 ` [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Bjorn Helgaas
4 siblings, 0 replies; 6+ messages in thread
From: Ethan Zhao @ 2014-09-09 2:21 UTC (permalink / raw)
To: bhelgaas, linux-pci, linux-kernel, gleb, pbonzini, kvm,
konrad.wilk, boris.ostrovsky, david.vrabel
Cc: alex.williamson, alexander.h.duyck, ethan.kernel, Ethan Zhao
Use device flag operation helper functions when check device
assignment status.
Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
---
drivers/pci/iov.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index cb6f247..4d109c0 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -633,7 +633,7 @@ int pci_vfs_assigned(struct pci_dev *dev)
* our dev as the physical function and the assigned bit is set
*/
if (vfdev->is_virtfn && (vfdev->physfn == dev) &&
- (vfdev->dev_flags & PCI_DEV_FLAGS_ASSIGNED))
+ pci_is_dev_assigned(vfdev))
vfs_assigned++;
vfdev = pci_get_device(dev->vendor, dev_id, vfdev);
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function
2014-09-09 2:21 [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
` (3 preceding siblings ...)
2014-09-09 2:21 ` [PATCH V4 4/4 resend] PCI: use device flag operation helper function in iov.c Ethan Zhao
@ 2014-09-16 22:21 ` Bjorn Helgaas
4 siblings, 0 replies; 6+ messages in thread
From: Bjorn Helgaas @ 2014-09-16 22:21 UTC (permalink / raw)
To: Ethan Zhao
Cc: linux-pci, linux-kernel, gleb, pbonzini, kvm, konrad.wilk,
boris.ostrovsky, david.vrabel, alex.williamson,
alexander.h.duyck, ethan.kernel
On Tue, Sep 09, 2014 at 10:21:24AM +0800, Ethan Zhao wrote:
> This patch set introduces three PCI device flag operation helper functions
> when set pci device PF/VF to assigned or deassigned status also check it.
> and patch 2,3,4 apply these helper functions to KVM,XEN and PCI.
>
> v2: simplify unnecessory ternary operation in function pci_is_dev_assigned().
> v3: amend helper function naming.
> v4: fix incorrect type in return expression warning found by Fengguang Wu.
>
> Appreciate suggestion from
> alex.williamson@redhat.com,
> david.vrabel@citrix.com,
> alexander.h.duyck@intel.com
>
> Resend for v3.18 building.
Applied to pci/virtualization for v3.18, thanks.
>
> Thanks,
> Ethan
> ---
> Ethan Zhao (4):
> PCI: introduce helper functions for device flag operation
> KVM: use pci device flag operation helper functions
> xen-pciback: use pci device flag operation helper function
> PCI: use device flag operation helper function in iov.c
>
> drivers/pci/iov.c | 2 +-
> drivers/xen/xen-pciback/pci_stub.c | 4 ++--
> include/linux/pci.h | 13 +++++++++++++
> virt/kvm/assigned-dev.c | 2 +-
> virt/kvm/iommu.c | 4 ++--
> 5 files changed, 19 insertions(+), 6 deletions(-)
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-09-16 22:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-09 2:21 [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 1/4 resend] PCI: introduce helper functions for device flag operation Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 2/4 resend] KVM: use pci device flag operation helper functions Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 3/4 resend] xen-pciback: use pci device flag operation helper function Ethan Zhao
2014-09-09 2:21 ` [PATCH V4 4/4 resend] PCI: use device flag operation helper function in iov.c Ethan Zhao
2014-09-16 22:21 ` [PATCH v4 0/4 resend] Introduce device assignment flag operation helper function Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).