All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 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.