summaryrefslogtreecommitdiff
path: root/drivers/misc
diff options
context:
space:
mode:
authorKoichiro Den <den@valinux.co.jp>2026-04-14 23:15:14 +0900
committerBjorn Helgaas <bhelgaas@google.com>2026-05-04 18:01:33 -0500
commite4f26243953fd3e87df93786b40293ca3a6a465e (patch)
tree349672c5d9edb92cd97e52995e87d8146e53a466 /drivers/misc
parent8fda2dd209d34396cf49504e2c8dd55d182b14bc (diff)
downloadlinux-next-e4f26243953fd3e87df93786b40293ca3a6a465e.tar.gz
linux-next-e4f26243953fd3e87df93786b40293ca3a6a465e.zip
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
Diffstat (limited to 'drivers/misc')
0 files changed, 0 insertions, 0 deletions