diff options
author | Antonios Motakis <a.motakis@virtualopensystems.com> | 2015-03-16 16:08:49 -0400 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2015-03-16 16:08:49 -0400 |
commit | 9a36321c8d3350c4f7befa02adf3ce4583287ad9 (patch) | |
tree | 7297fc06e32c1fd44a5abb893e8095cae3cb7e14 /drivers/vfio/platform/vfio_platform_private.h | |
parent | 682704c41e6d2238c1fb5c6ab83eedadd876fa0e (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.h | 7 |
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 @@ | |||
30 | struct vfio_platform_irq { | 30 | struct vfio_platform_irq { |
31 | u32 flags; | 31 | u32 flags; |
32 | u32 count; | 32 | u32 count; |
33 | int hwirq; | ||
33 | }; | 34 | }; |
34 | 35 | ||
35 | struct vfio_platform_region { | 36 | struct 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 | |||
69 | extern int vfio_platform_irq_init(struct vfio_platform_device *vdev); | 71 | extern int vfio_platform_irq_init(struct vfio_platform_device *vdev); |
70 | extern void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev); | 72 | extern void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev); |
71 | 73 | ||
74 | extern 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 */ |