[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230426203436.1277307-1-Frank.Li@nxp.com>
Date: Wed, 26 Apr 2023 16:34:33 -0400
From: Frank Li <Frank.Li@....com>
To: tglx@...utronix.de
Cc: aisheng.dong@....com, bhelgaas@...gle.com,
devicetree@...r.kernel.org, festevam@...il.com, frank.li@....com,
imx@...ts.linux.dev, jdmason@...zu.us, kernel@...gutronix.de,
kishon@...com, krzysztof.kozlowski+dt@...aro.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,
manivannan.sadhasivam@...aro.org, maz@...nel.org,
ntb@...ts.linux.dev, peng.fan@....com, robh+dt@...nel.org,
s.hauer@...gutronix.de, shawnguo@...nel.org
Subject: [PATCH 0/3] Add RC-to-EP doorbell with platform MSI controller
┌────────────┐ ┌───────────────────────────────────┐ ┌────────────────┐
│ │ │ │ │ │
│ │ │ 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.
Frank Li (3):
PCI: endpoint: Add RC-to-EP doorbell support using platform MSI
controller
misc: pci_endpoint_test: Add doorbell test case
tools: PCI: Add 'B' option for test doorbell
drivers/misc/pci_endpoint_test.c | 41 +++++++++++
drivers/pci/endpoint/pci-epf-core.c | 109 ++++++++++++++++++++++++++++
include/linux/pci-epf.h | 16 ++++
include/uapi/linux/pcitest.h | 1 +
tools/pci/pcitest.c | 16 +++-
5 files changed, 182 insertions(+), 1 deletion(-)
--
2.34.1
Powered by blists - more mailing lists