aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/vfio/platform/vfio_platform_private.h
diff options
context:
space:
mode:
authorAntonios Motakis <a.motakis@virtualopensystems.com>2015-03-16 16:08:49 -0400
committerAlex Williamson <alex.williamson@redhat.com>2015-03-16 16:08:49 -0400
commit9a36321c8d3350c4f7befa02adf3ce4583287ad9 (patch)
tree7297fc06e32c1fd44a5abb893e8095cae3cb7e14 /drivers/vfio/platform/vfio_platform_private.h
parent682704c41e6d2238c1fb5c6ab83eedadd876fa0e (diff)
vfio/platform: initial interrupts support code
This patch is a skeleton for the VFIO_DEVICE_SET_IRQS IOCTL, around which most IRQ functionality is implemented in VFIO. Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> Signed-off-by: Baptiste Reynal <b.reynal@virtualopensystems.com> Reviewed-by: Eric Auger <eric.auger@linaro.org> Tested-by: Eric Auger <eric.auger@linaro.org> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/platform/vfio_platform_private.h')
-rw-r--r--drivers/vfio/platform/vfio_platform_private.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/vfio/platform/vfio_platform_private.h b/drivers/vfio/platform/vfio_platform_private.h
index a2e286ed1407..b119a6c5ac23 100644
--- a/drivers/vfio/platform/vfio_platform_private.h
+++ b/drivers/vfio/platform/vfio_platform_private.h
@@ -30,6 +30,7 @@
30struct vfio_platform_irq { 30struct vfio_platform_irq {
31 u32 flags; 31 u32 flags;
32 u32 count; 32 u32 count;
33 int hwirq;
33}; 34};
34 35
35struct vfio_platform_region { 36struct vfio_platform_region {
@@ -48,6 +49,7 @@ struct vfio_platform_device {
48 struct vfio_platform_irq *irqs; 49 struct vfio_platform_irq *irqs;
49 u32 num_irqs; 50 u32 num_irqs;
50 int refcnt; 51 int refcnt;
52 struct mutex igate;
51 53
52 /* 54 /*
53 * These fields should be filled by the bus specific binder 55 * These fields should be filled by the bus specific binder
@@ -69,4 +71,9 @@ extern struct vfio_platform_device *vfio_platform_remove_common
69extern int vfio_platform_irq_init(struct vfio_platform_device *vdev); 71extern int vfio_platform_irq_init(struct vfio_platform_device *vdev);
70extern void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev); 72extern void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev);
71 73
74extern int vfio_platform_set_irqs_ioctl(struct vfio_platform_device *vdev,
75 uint32_t flags, unsigned index,
76 unsigned start, unsigned count,
77 void *data);
78
72#endif /* VFIO_PLATFORM_PRIVATE_H */ 79#endif /* VFIO_PLATFORM_PRIVATE_H */