On Wed, Oct 09, 2024 at 06:01:27PM +0200, Niklas Cassel wrote: > On Mon, Sep 11, 2023 at 06:09:15PM -0400, Frank Li wrote: > > ┌────────────┐ ┌───────────────────────────────────┐ ┌────────────────┐ > > │ │ │ │ │ │ > > │ │ │ PCI Endpoint │ │ PCI Host │ > > │ │ │ │ │ │ > > │ │◄──┤ 1.platform_msi_domain_alloc_irqs()│ │ │ > > │ │ │ │ │ │ > > │ MSI ├──►│ 2.write_msi_msg() ├──►├─BAR<n> │ > > │ Controller │ │ update doorbell register address│ │ │ > > │ │ │ for BAR │ │ │ > > │ │ │ │ │ 3. Write BAR<n>│ > > │ │◄──┼───────────────────────────────────┼───┤ │ > > │ │ │ │ │ │ > > │ ├──►│ 4.Irq Handle │ │ │ > > │ │ │ │ │ │ > > │ │ │ │ │ │ > > └────────────┘ └───────────────────────────────────┘ └────────────────┘ > > > > This patches based on old https://lore.kernel.org/imx/20221124055036.1630573-1-Frank.Li@xxxxxxx/ > > > > Original patch only target to vntb driver. But actually it is common > > method. > > > > This patches add new API to pci-epf-core, so any EP driver can use it. > > > > The key point is comments from Thomas Gleixner, who suggest use new > > PCI/IMS. But arm platform change still not be merged yet. > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git devmsi-v2-arm > > > > So I still use existed method implement RC to EP doorbell. > > > > If Thomas Gleixner want to continue work on devmsi-v2-arm, I can help test > > and update this patch. > > > > Change from v1 to v2 > > - Add missed patch for endpont/pci-epf-test.c > > - Move alloc and free to epc driver from epf. > > - Provide general help function for EPC driver to alloc platform msi irq. > > - Fixed manivannan's comments. > > > > Frank Li (5): > > PCI: endpoint: Add RC-to-EP doorbell support using platform MSI > > controller > > PCI: dwc: add doorbell support by use MSI controller > > PCI: endpoint: pci-epf-test: add doorbell test > > misc: pci_endpoint_test: Add doorbell test case > > tools: PCI: Add 'B' option for test doorbell > > > > drivers/misc/pci_endpoint_test.c | 48 +++++ > > .../pci/controller/dwc/pcie-designware-ep.c | 2 + > > drivers/pci/endpoint/functions/pci-epf-test.c | 59 +++++- > > drivers/pci/endpoint/pci-epc-core.c | 192 ++++++++++++++++++ > > drivers/pci/endpoint/pci-epf-core.c | 44 ++++ > > include/linux/pci-epc.h | 6 + > > include/linux/pci-epf.h | 7 + > > include/uapi/linux/pcitest.h | 1 + > > tools/pci/pcitest.c | 16 +- > > 9 files changed, 373 insertions(+), 2 deletions(-) > > > > -- > > 2.34.1 > > > > Hello Frank, > > Thank you for your work on this. > This series is very interesting. > > As you probably know, IMS support was ripped out of the kernel a few > months ago: > b966b1102871 ("Revert "PCI/MSI: Provide IMS (Interrupt Message Store) support"") > > So this series seems as relevant as ever. > > Are you considering continuing work on this series any time soon? Thank you reminder it. I forget it totally. I can respin it. I remember there are issue that how to provent pcitest to test door bell bar. Frank > > > Kind regards, > Niklas