Robin Murphy
44bb7e243b
iommu/dma: Add support for mapping MSIs
...
When an MSI doorbell is located downstream of an IOMMU, attaching
devices to a DMA ops domain and switching on translation leads to a rude
shock when their attempt to write to the physical address returned by
the irqchip driver faults (or worse, writes into some already-mapped
buffer) and no interrupt is forthcoming.
Address this by adding a hook for relevant irqchip drivers to call from
their compose_msi_msg() callback, to swizzle the physical address with
an appropriatly-mapped IOVA for any device attached to one of our DMA
ops domains.
Acked-by: Thomas Gleixner <tglx@linutronix.de >
Acked-by: Marc Zyngier <marc.zyngier@arm.com >
Signed-off-by: Robin Murphy <robin.murphy@arm.com >
Signed-off-by: Will Deacon <will.deacon@arm.com >
2016-09-16 09:34:22 +01:00
..
2016-08-08 09:26:13 -07:00
2016-07-27 14:03:52 -07:00
2016-07-19 11:30:26 -07:00
2016-08-05 23:26:16 -04:00
2016-07-25 11:09:19 -07:00
2016-08-25 08:56:51 -06:00
2016-07-18 10:13:02 +02:00
2016-08-01 18:36:01 -04:00
2016-07-12 08:24:50 -07:00
2016-08-05 09:48:22 -04:00
2016-08-02 17:31:41 -04:00
2016-08-26 15:56:01 +02:00
2016-08-12 22:53:58 +02:00
2016-07-30 21:01:36 -07:00
2016-08-09 18:25:11 +08:00
2016-08-26 17:39:35 -07:00
2016-07-28 15:45:17 -07:00
2016-07-18 14:10:49 +02:00
2016-08-21 10:58:34 -07:00
2016-08-11 13:55:36 +02:00
2016-08-04 08:50:07 -04:00
2016-08-19 15:01:29 +02:00
2016-08-29 06:55:47 +10:00
2016-07-28 10:49:23 +02:00
2016-08-11 18:35:47 -07:00
2016-07-29 13:55:30 -07:00
2016-08-15 00:55:34 +02:00
2016-07-29 13:29:06 -07:00
2016-07-30 12:56:26 -07:00
2016-07-14 12:05:29 +09:00
2016-08-25 11:17:10 -04:00
2016-08-26 18:36:23 -07:00
2016-09-16 09:34:22 +01:00
2016-09-16 09:34:22 +01:00
2016-07-30 21:01:36 -07:00
2016-07-20 17:37:01 -06:00
2016-07-30 21:01:36 -07:00
2016-07-28 21:27:31 +05:30
2016-08-26 20:15:32 -07:00
2016-08-04 09:59:37 -04:00
2016-08-02 17:05:11 -04:00
2016-08-02 17:31:41 -04:00
2016-08-01 18:36:01 -04:00
2016-08-12 12:09:44 -07:00
2016-08-25 14:11:43 -06:00
2016-08-04 19:51:49 -04:00
2016-08-17 17:26:58 -07:00
2016-07-20 23:39:36 -07:00
2016-08-05 10:34:13 -04:00
2016-08-08 09:26:14 -07:00
2016-08-24 08:11:10 -06:00
2016-09-16 09:34:14 +01:00
2016-08-04 08:50:07 -04:00
2016-08-26 18:26:07 -07:00
2016-08-09 17:57:39 +01:00
2016-07-31 21:36:58 -04:00
2016-08-10 15:46:28 +02:00
2016-08-08 11:00:21 -07:00
2016-07-27 18:52:54 +02:00
2016-08-15 23:10:44 +02:00
2016-07-23 10:25:54 +09:00
2016-08-06 00:01:33 -04:00
2016-08-10 16:40:56 -07:00
2016-08-06 00:01:33 -04:00
2016-08-04 08:50:07 -04:00
2016-08-05 09:48:22 -04:00
2016-08-16 15:50:22 -07:00
2016-08-12 16:01:20 -07:00
2016-08-01 18:36:01 -04:00
2016-08-01 18:37:45 -04:00
2016-08-07 10:01:14 -04:00
2016-08-07 14:41:02 -06:00
2016-08-19 21:34:08 +08:00
2016-08-04 08:50:07 -04:00
2016-08-16 09:42:47 +02:00
2016-08-08 16:16:23 -06:00
2016-08-23 17:16:57 +03:00
2016-08-04 08:50:07 -04:00
2016-08-09 13:42:35 +03:00
2016-08-02 19:35:40 -04:00
2016-07-27 10:47:43 +02:00
2016-08-24 18:16:18 +01:00
2016-08-06 09:20:13 -04:00