]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: endpoint: pci-epf-vntb: Reuse pre-exposed doorbells and IRQ flags
authorKoichiro Den <den@valinux.co.jp>
Tue, 14 Apr 2026 14:15:12 +0000 (23:15 +0900)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 4 May 2026 23:01:28 +0000 (18:01 -0500)
commit0c3f82a584082a0d2e09b65e0a2e9cdcf9046d0d
tree5bfccee19c73dc34fd6be0e91a6a625a803afc94
parenta3a079e5c5b7748f206c4baeb92593f9eca3184a
PCI: endpoint: pci-epf-vntb: Reuse pre-exposed doorbells and IRQ flags

Support doorbell backends where the doorbell target is already exposed
via a platform-owned fixed BAR mapping and/or where the doorbell IRQ
must be requested with specific flags.

When pci_epf_alloc_doorbell() provides db_msg[].bar/offset, reuse the
pre-exposed BAR window and skip programming a new inbound mapping. Also
honor db_msg[].irq_flags when requesting the doorbell IRQ.

Multiple doorbells may share the same Linux IRQ. Avoid duplicate
request_irq() calls by requesting each unique virq once.

Make pci-epf-vntb work with platform-defined or embedded doorbell
backends without exposing backend-specific details to the consumer
layer.

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>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260414141514.1341429-6-den@valinux.co.jp
drivers/pci/endpoint/functions/pci-epf-vntb.c