From: "谢华伟(此时此刻)" <huawei.xhw@alibaba-inc.com>
To: david.marchand@redhat.com, maxime.coquelin@redhat.com,
ferruh.yigit@intel.com
Cc: dev@dpdk.org, anatoly.burakov@intel.com, xuemingl@nvidia.com,
grive@u256.net, "谢华伟(此时此刻)" <huawei.xhw@alibaba-inc.com>
Subject: [dpdk-dev] [PATCH v11 0/2] support both PIO and MMIO BAR for legacy virito device
Date: Thu, 11 Mar 2021 01:36:28 +0800 [thread overview]
Message-ID: <1615397790-16169-1-git-send-email-huawei.xhw@alibaba-inc.com> (raw)
In-Reply-To: <1614797225-114594-1-git-send-email-huawei.xhw@alibaba-inc.com>
virtio PMD assumes legacy device only supports PIO(port-mapped) BAR
resource. This is wrong. As we need to create lots of devices, adn PIO
resource on x86 is very limited, we expose MMIO(memory-mapped I/O) BAR.
Kernel supports both PIO and MMIO BAR for legacy virtio-pci device, and
for all other pci devices. This patchset handles different type of BAR in
the similar way.
In previous implementation, under igb_uio driver we get PIO address from
igb_uio sysfs entry; with uio_pci_generic, we get PIO address from
/proc/ioports for x86, and for other ARCHs, we get PIO address from
standard PCI sysfs entry. For PIO/MMIO RW, there is different path for
different drivers and arch.
All of the above is too much twisted. This patchset unifies the way to get
both PIO and MMIO address for different driver and ARCHs, all from standard
resource attr under pci sysfs. This is most generic.
We distinguish PIO and MMIO by their address range like how kernel does.
It is ugly but works.
v2 changes:
- add more explanation in the commit message
v3 changes:
- fix patch format issues
v4 changes:
- fixes for RTE_KDRV_UIO_GENERIC -> RTE_PCI_KDRV_UIO_GENERIC
v5 changes:
- split into three seperate patches
v6 changes:
- change to DEBUG level for IO bar detection in pci_uio_ioport_map
- rework the code in iobar branch
- fixes commit message format issue
- temporarily remove the 3rd patch for vfio path, leave it for future discusssion
- rework against virtio_pmd_rework_v2
v7 changes:
- fix compilation issues of in/out instruction on non X86 archs
v8 changes:
- change the word fix to refactor in patch 1's commit message
v9 changes:
- keep pause version in in/out instructions
v10 changes:
- trival fixes in commit message, like > 75 chars
v11 changes:
- commit message fix and change
huawei xie (2):
bus/pci: use PCI standard sysfs entry to get PIO address
bus/pci: support MMIO in PCI ioport accessors
drivers/bus/pci/linux/pci.c | 81 ----------------
drivers/bus/pci/linux/pci_uio.c | 202 +++++++++++++++++++++++++++++-----------
2 files changed, 150 insertions(+), 133 deletions(-)
--
1.8.3.1
next prev parent reply other threads:[~2021-03-10 17:36 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-29 3:18 [dpdk-dev] [PATCH v6 0/2] support both PIO and MMIO BAR for legacy device in virtio PMD 谢华伟(此时此刻)
2021-01-29 3:18 ` [dpdk-dev] [PATCH v6 1/2] bus/pci: use PCI standard sysfs entry to get PIO address 谢华伟(此时此刻)
2021-02-03 9:37 ` Maxime Coquelin
2021-02-18 9:33 ` David Marchand
2021-02-21 15:58 ` 谢华伟(此时此刻)
2021-02-24 12:49 ` David Marchand
2021-02-24 15:29 ` 谢华伟(此时此刻)
2021-02-24 17:52 ` David Marchand
2021-03-01 15:47 ` 谢华伟(此时此刻)
2021-03-02 12:31 ` 谢华伟(此时此刻)
2021-01-29 3:18 ` [dpdk-dev] [PATCH v6 2/2] bus/pci: support MMIO in PCI ioport accessors 谢华伟(此时此刻)
2021-02-03 9:37 ` Maxime Coquelin
2021-02-09 14:51 ` Ferruh Yigit
2021-02-19 8:52 ` Ferruh Yigit
2021-02-21 15:45 ` 谢华伟(此时此刻)
2021-02-17 9:06 ` David Marchand
2021-02-17 14:15 ` 谢华伟(此时此刻)
2021-02-18 9:33 ` David Marchand
2021-01-29 3:25 ` [dpdk-dev] [PATCH v6 0/2] support both PIO and MMIO BAR for legacy device in virtio PMD 谢华伟(此时此刻)
2021-02-01 7:43 ` 谢华伟(此时此刻)
2021-02-03 9:37 ` Maxime Coquelin
2021-02-04 2:50 ` 谢华伟(此时此刻)
2021-02-22 17:15 ` [dpdk-dev] [PATCH v7 " 谢华伟(此时此刻)
2021-02-22 17:15 ` [dpdk-dev] [PATCH v7 1/2] bus/pci: use PCI standard sysfs entry to get PIO address 谢华伟(此时此刻)
2021-02-22 17:15 ` [dpdk-dev] [PATCH v7 2/2] bus/pci: support MMIO in PCI ioport accessors 谢华伟(此时此刻)
2021-02-22 17:25 ` Ferruh Yigit
2021-02-23 14:20 ` 谢华伟(此时此刻)
2021-02-24 15:45 ` Ferruh Yigit
2021-02-25 3:59 ` 谢华伟(此时此刻)
2021-02-25 9:52 ` David Marchand
2021-03-01 15:43 ` 谢华伟(此时此刻)
2021-03-02 13:14 ` David Marchand
2021-03-03 7:56 ` 谢华伟(此时此刻)
2021-03-01 16:01 ` [dpdk-dev] [PATCH v8 0/2] support both PIO and MMIO BAR for legacy device in virtio PMD 谢华伟(此时此刻)
2021-03-01 16:01 ` [dpdk-dev] [PATCH v8 1/2] bus/pci: use PCI standard sysfs entry to get PIO address 谢华伟(此时此刻)
2021-03-01 16:01 ` [dpdk-dev] [PATCH v8 2/2] bus/pci: support MMIO in PCI ioport accessors 谢华伟(此时此刻)
2021-03-02 12:48 ` [dpdk-dev] [PATCH v8 0/2] support both PIO and MMIO BAR for legacy device in virtio PMD 谢华伟(此时此刻)
2021-03-02 13:01 ` Ferruh Yigit
2021-03-02 13:17 ` David Marchand
2021-03-03 17:46 ` [dpdk-dev] [PATCH v9 " 谢华伟(此时此刻)
2021-03-03 17:46 ` [dpdk-dev] [PATCH v9 1/2] bus/pci: use PCI standard sysfs entry to get PIO address 谢华伟(此时此刻)
2021-03-03 17:46 ` [dpdk-dev] [PATCH v9 2/2] bus/pci: support MMIO in PCI ioport accessors 谢华伟(此时此刻)
2021-03-03 18:24 ` [dpdk-dev] [PATCH v9 0/2] support both PIO and MMIO BAR for legacy device in virtio PMD Stephen Hemminger
2021-03-04 13:45 ` 谢华伟(此时此刻)
2021-03-03 18:47 ` [dpdk-dev] [PATCH v10 0/2] support both PIO and MMIO BAR for legacy virito device 谢华伟(此时此刻)
2021-03-03 18:47 ` [dpdk-dev] [PATCH v10 1/2] bus/pci: use PCI standard sysfs entry to get PIO address 谢华伟(此时此刻)
2021-03-05 16:17 ` 谢华伟(此时此刻)
2021-03-09 6:22 ` 谢华伟(此时此刻)
2021-03-09 7:44 ` David Marchand
2021-03-03 18:47 ` [dpdk-dev] [PATCH v10 2/2] bus/pci: support MMIO in PCI ioport accessors 谢华伟(此时此刻)
2021-03-10 17:36 ` 谢华伟(此时此刻) [this message]
2021-03-10 17:36 ` [dpdk-dev] [PATCH v11 1/2] bus/pci: use PCI standard sysfs entry to get PIO address 谢华伟(此时此刻)
2021-03-10 17:36 ` [dpdk-dev] [PATCH v11 2/2] bus/pci: support MMIO in PCI ioport accessors 谢华伟(此时此刻)
2021-03-11 6:42 ` Wang, Haiyue
2021-03-15 10:19 ` David Marchand
2021-03-15 11:25 ` 谢华伟(此时此刻)
2021-03-15 13:11 ` Wang, Haiyue
2021-03-11 11:54 ` [dpdk-dev] [PATCH v11 0/2] support both PIO and MMIO BAR for legacy virito device Wang, Yinan
2021-03-12 14:32 ` David Marchand
2021-03-15 14:16 ` David Marchand
2021-03-17 8:12 ` 谢华伟(此时此刻)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1615397790-16169-1-git-send-email-huawei.xhw@alibaba-inc.com \
--to=huawei.xhw@alibaba-inc.com \
--cc=anatoly.burakov@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=grive@u256.net \
--cc=maxime.coquelin@redhat.com \
--cc=xuemingl@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).