[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zwao1x7m3MTT98NT@ryzen.lan>
Date: Wed, 9 Oct 2024 18:01:27 +0200
From: Niklas Cassel <cassel@...nel.org>
To: Frank Li <Frank.Li@....com>
Cc: manivannan.sadhasivam@...aro.org, aisheng.dong@....com,
bhelgaas@...gle.com, devicetree@...r.kernel.org, festevam@...il.com,
imx@...ts.linux.dev, jdmason@...zu.us, kernel@...gutronix.de,
kishon@...nel.org, kw@...ux.com,
linux-arm-kernel@...ts.infradead.org, linux-imx@....com,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
lorenzo.pieralisi@....com, lpieralisi@...nel.org, maz@...nel.org,
s.hauer@...gutronix.de, shawnguo@...nel.org, tglx@...utronix.de,
dlemoal@...nel.org
Subject: Re: [PATCH v2 0/5] Add RC-to-EP doorbell with platform MSI controller
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@nxp.com/
>
> 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?
Kind regards,
Niklas
Powered by blists - more mailing lists