Koichiro Den
e4f2624395
PCI: endpoint: pci-ep-msi: Add embedded doorbell fallback
...
Some endpoint platforms cannot use platform MSI / GIC ITS to implement
EP-side doorbells. In those cases, EPF drivers cannot provide an
interrupt-driven doorbell and often fall back to polling.
Add an "embedded" doorbell backend that uses a controller-integrated
doorbell target (e.g. DesignWare integrated eDMA interrupt-emulation
doorbell).
The backend locates the doorbell register and a corresponding Linux IRQ
via the EPC aux-resource API. If the doorbell register is already
exposed via a fixed BAR mapping, provide BAR+offset. Otherwise provide
the DMA address returned by dma_map_resource() (which may be an IOVA
when an IOMMU is enabled) so EPF drivers can map it into BAR space.
When MSI doorbell allocation fails with -ENODEV,
pci_epf_alloc_doorbell() falls back to this embedded backend.
Suggested-by: Manivannan Sadhasivam <mani@kernel.org >
Signed-off-by: Koichiro Den <den@valinux.co.jp >
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org >
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com >
Link: https://patch.msgid.link/20260414141514.1341429-8-den@valinux.co.jp
2026-05-04 18:01:33 -05:00
..
2026-04-13 19:03:11 -07:00
2026-04-08 19:38:52 -07:00
2026-04-16 20:34:34 -07:00
2026-04-16 19:27:51 -07:00
2026-04-13 20:10:58 -07:00
2026-04-06 09:04:53 +02:00
2026-04-18 00:10:48 -07:00
2026-04-20 11:31:01 -07:00
2026-04-20 11:20:35 -07:00
2026-04-15 14:15:25 -07:00
2026-04-17 21:51:05 +02:00
2026-04-08 07:51:26 +02:00
2026-04-24 13:23:50 -07:00
2026-04-06 09:37:50 -05:00
2026-04-06 09:37:51 -05:00
2026-04-15 17:15:18 -07:00
2026-04-17 14:18:55 -07:00
2026-04-22 15:10:22 +01:00
2026-04-24 14:20:03 -07:00
2026-04-19 08:47:40 -07:00
2026-04-15 16:52:20 +02:00
2026-04-18 00:10:50 -07:00
2026-04-13 14:56:54 -07:00
2026-04-07 08:22:24 -06:00
2026-04-09 13:28:05 -04:00
2026-04-13 15:51:31 -07:00
2026-04-10 21:22:32 -07:00
2026-04-16 07:03:40 -07:00
2026-04-06 18:37:52 -07:00
2026-04-16 07:03:40 -07:00
2026-04-12 11:33:23 -07:00
2026-04-15 10:54:24 -07:00
2026-04-16 10:12:43 -07:00
2026-04-11 07:58:33 +02:00
2026-04-14 10:53:44 -07:00
2026-04-15 08:37:45 -07:00
2026-04-07 15:32:20 +02:00
2026-04-18 00:10:51 -07:00
2026-04-21 14:12:01 -07:00
2026-04-21 07:30:44 -07:00
2026-04-19 12:58:08 -07:00
2026-04-08 15:27:47 +02:00
2026-04-06 20:21:37 -06:00
2026-04-16 22:19:29 +02:00
2026-04-24 00:36:50 +02:00
2026-04-16 07:03:40 -07:00
2026-04-07 17:38:07 +02:00
2026-04-19 08:01:17 -07:00
2026-04-06 20:21:37 -06:00
2026-04-06 20:21:37 -06:00
2026-04-08 14:23:29 -07:00
2026-04-16 21:07:13 +02:00
2026-04-12 16:46:29 +08:00
2026-04-05 13:53:45 -07:00
2026-04-15 12:59:16 -07:00
2026-04-06 09:43:18 -05:00
2026-04-22 09:50:46 -07:00
2026-04-07 15:36:02 +02:00
2026-04-08 08:55:15 +02:00
2026-04-12 15:20:46 -07:00
2026-04-13 15:09:49 +02:00
2026-04-23 12:13:57 +02:00
2026-04-13 16:22:30 -07:00
2026-04-15 12:59:16 -07:00
2026-04-09 13:18:27 +01:00
2026-04-14 23:03:02 -07:00
2026-04-09 10:52:35 -04:00
2026-04-13 10:10:28 -07:00
2026-04-18 00:10:48 -07:00
2026-04-21 16:41:54 +01:00
2026-04-09 14:36:52 +02:00
2026-04-09 14:36:52 +02:00
2026-04-05 13:53:40 -07:00
2026-04-13 19:00:43 +02:00
2026-04-05 13:53:46 -07:00
2026-04-18 00:10:50 -07:00
2026-04-13 15:42:19 -07:00
2026-04-06 11:39:54 +02:00
2026-04-18 11:29:14 -07:00
2026-04-18 00:10:48 -07:00
2026-04-18 00:10:47 -07:00
2026-04-05 13:53:45 -07:00
2026-04-19 08:01:17 -07:00
2026-04-05 13:53:41 -07:00
2026-04-08 13:18:57 -07:00
2026-04-15 12:59:16 -07:00
2026-04-19 08:01:17 -07:00
2026-04-13 14:56:28 -07:00
2026-04-24 09:41:58 -07:00
2026-04-22 08:53:23 -04:00
2026-04-13 11:46:08 -07:00
2026-04-24 00:34:59 +02:00
2026-04-13 15:51:31 -07:00
2026-04-17 14:09:02 -07:00
2026-04-10 17:27:39 -05:00
2026-04-30 21:48:22 +05:30
2026-05-04 18:01:33 -05:00
2026-04-06 16:55:16 +02:00
2026-04-15 14:41:21 -07:00
2026-04-18 00:10:50 -07:00
2026-04-12 11:33:23 -07:00
2026-04-20 11:35:17 -07:00
2026-04-20 15:42:18 -07:00
2026-04-07 12:24:49 -07:00
2026-04-10 11:46:15 +01:00
2026-04-06 09:37:51 -05:00
2026-04-19 08:01:17 -07:00
2026-04-13 15:42:19 -07:00
2026-04-19 08:44:41 -07:00
2026-04-19 08:01:17 -07:00
2026-04-12 10:54:31 -07:00
2026-04-18 00:10:47 -07:00
2026-04-13 19:03:11 -07:00
2026-04-17 14:23:26 -06:00
2026-04-08 12:30:31 +02:00
2026-04-21 18:54:28 +03:00
2026-04-17 09:43:12 -07:00
2026-04-13 08:39:51 -07:00
2026-04-05 13:53:44 -07:00
2026-04-06 09:06:39 +02:00
2026-04-18 00:10:54 -07:00
2026-04-20 12:02:24 -07:00