[RFC V4 0/2] Intel IFC VF driver for VDPA

From: Zhu Lingshan
Date: Wed Nov 20 2019 - 04:19:30 EST


Hi all:
This series intends to introduce Intel IFC VF NIC driver for Vhost
Data Plane Acceleration(VDPA).

Here comes two main parts, one is ifcvf_base layer, which handles
hardware operations. The other is ifcvf_main layer handles VF
initialization, configuration and removal, which depends on
and complys to:
virtio_mdev V13 https://lkml.org/lkml/2019/11/18/261
vhost_mdev V7 https://lkml.org/lkml/2019/11/18/1068

This patchset passed netperf tests.

This is RFC V4, plese help review. I will split them into small patches
once got reviewed.

Changes from V3:
Adapt to Jason Wang's virtio_mdev V13 patchset.
minor improvements

Changes from V2:
removed some unnecessary code.
using a struct ifcvf_lm_cfg to address hw->lm_cfg and operations on it.
set CONFIG_S_FAILED when ifcvf_start_hw() fail.
removed VIRTIO_NET_F_CTRL_VQ and VIRTIO_NET_F_STATUS
replace ifcvf_net_config with virtio_net_config.
minor changes

Changes from V1:
using le32_to_cpu() to convert PCI capabilities.
some set /get operations will sync with the hardware, eg get_status
and get_generation.
remove feature bit VHOST_F_LOG_ALL, add VIRTIO_F_ORDERED_PLATFORM
add get/set_config functions.
split mdev type group into mdev_type_group_virtio and mdev_type_group_vhost
add ifcvf_mdev_get_mdev_features()
coding stype changes.


Zhu Lingshan (2):
This commit introduced ifcvf_base layer.
This commit introduced IFC operations for vdpa

drivers/vhost/ifcvf/ifcvf_base.c | 326 ++++++++++++++++++++++
drivers/vhost/ifcvf/ifcvf_base.h | 129 +++++++++
drivers/vhost/ifcvf/ifcvf_main.c | 582 +++++++++++++++++++++++++++++++++++++++
3 files changed, 1037 insertions(+)
create mode 100644 drivers/vhost/ifcvf/ifcvf_base.c
create mode 100644 drivers/vhost/ifcvf/ifcvf_base.h
create mode 100644 drivers/vhost/ifcvf/ifcvf_main.c

--
1.8.3.1