[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230113090350.1103494-1-mie@igel.co.jp>
Date: Fri, 13 Jan 2023 18:03:47 +0900
From: Shunsuke Mie <mie@...l.co.jp>
To: Jingoo Han <jingoohan1@...il.com>
Cc: Gustavo Pimentel <gustavo.pimentel@...opsys.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>,
Shunsuke Mie <mie@...l.co.jp>,
Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>,
Hou Zhiqiang <Zhiqiang.Hou@....com>,
Frank Li <Frank.Li@....com>, Li Chen <lchen@...arella.com>,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [RFC PATCH 0/3] Deal with alignment restriction on EP side
Some PCIe EPC controllers have restriction to map PCIe address space to the
local memory space. The mapping is needed to access memory of other side.
On epf test, RC module prepares an aligned memory, and EP module maps the
region. However, a EP module which emulate a device (e.g. VirtIO, NVMe and
etc) cannot expect that a driver for the device prepares an aligned memory.
So, a EP side should deal with the alignment restriction.
This patchset addresses with the alignment restriction on EP size. A
content as follows:
1. Improve a pci epc unmap/map functions to cover the alignment restriction
with adding epc driver support as EPC ops.
2. Implement the support function for DWC EPC driver.
3. Adapt the pci-epf-test to the map/unmap function updated at first patch.
I tested this changes on RENESAS board has DWC PCIeC.
This is a RFC, and it has patches for testing only. Following changes are
not included yet:
1. Removing alignment codes on RC side completely
2. Adapting map/unmap() changes to pci-epf-ntb/vntb
Best,
Shunsuke
Shunsuke Mie (3):
PCI: endpoint: support an alignment aware map/unmaping
PCI: dwc: support align_mem() callback for pci_epc_epc
PCI: endpoint: support pci_epc_mem_map/unmap API changes
.../pci/controller/dwc/pcie-designware-ep.c | 13 +++
drivers/pci/endpoint/functions/pci-epf-test.c | 89 +++++--------------
drivers/pci/endpoint/pci-epc-core.c | 57 +++++++++---
include/linux/pci-epc.h | 10 ++-
4 files changed, 90 insertions(+), 79 deletions(-)
--
2.25.1
Powered by blists - more mailing lists