Displaying 11 results from an estimated 11 matches for "ifcvf_get_featur".
Did you mean:
ifcvf_get_features
2023 May 08
1
[PATCH V2 2/5] vDPA/ifcvf: get_driver_features from virtio registers
This commit implements a new function ifcvf_get_driver_feature()
which read driver_features from virtio registers.
To be less ambiguous, ifcvf_set_features() is renamed to
ifcvf_set_driver_features(), and ifcvf_get_features()
is renamed to ifcvf_get_dev_features() which returns
the provisioned vDPA device features.
Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com>
---
drivers/vdpa/ifcvf/ifcvf_base.c | 38 +++++++++++++++++----------------
drivers/vdpa/ifcvf/ifcvf_base.h | 5 +++--
drivers/vdpa/ifcvf/i...
2023 Mar 31
2
[PATCH 2/5] get_driver_features from virito registers
This commit implements a new function ifcvf_get_driver_feature()
which read driver_features from virtio registers.
To be less ambiguous, ifcvf_set_features() is renamed to
ifcvf_set_driver_features(), and ifcvf_get_features()
is renamed to ifcvf_get_dev_features() which returns
the provisioned vDPA device features.
Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com>
---
drivers/vdpa/ifcvf/ifcvf_base.c | 38 +++++++++++++++++----------------
drivers/vdpa/ifcvf/ifcvf_base.h | 5 +++--
drivers/vdpa/ifcvf/i...
2019 Oct 16
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...flush is needed?
> + hw->generation++;
> +}
> +
> +static void ifcvf_add_status(struct ifcvf_hw *hw, u8 status)
> +{
> + if (status != 0)
> + status |= ifcvf_get_status(hw);
> +
> + ifcvf_set_status(hw, status);
> + ifcvf_get_status(hw);
> +}
> +
> +u64 ifcvf_get_features(struct ifcvf_hw *hw)
> +{
> + u32 features_lo, features_hi;
> + struct virtio_pci_common_cfg *cfg = hw->common_cfg;
> +
> + iowrite32(0, &cfg->device_feature_select);
> + features_lo = ioread32(&cfg->device_feature);
> +
> + iowrite32(1, &cfg->devic...
2019 Oct 21
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...add_status(struct ifcvf_hw *hw, u8 status)
>>> +{
>>> +??? if (status != 0)
>>> +??????? status |= ifcvf_get_status(hw);
>>> +
>>> +??? ifcvf_set_status(hw, status);
>>> +??? ifcvf_get_status(hw);
>>> +}
>>> +
>>> +u64 ifcvf_get_features(struct ifcvf_hw *hw)
>>> +{
>>> +??? u32 features_lo, features_hi;
>>> +??? struct virtio_pci_common_cfg *cfg = hw->common_cfg;
>>> +
>>> +??? iowrite32(0, &cfg->device_feature_select);
>>> +??? features_lo = ioread32(&cfg->de...
2023 Mar 31
7
[PATCH 0/5] vDPA/ifcvf: implement immediate initialization mechanism
Formerly, ifcvf driver has implemented a lazy-initialization mechanism
for the virtqueues and other config space contents,
it would store all configurations that passed down from the userspace,
then load them to the device config space upon DRIVER_OK.
This can not serve live migration, so this series implement an
immediate initialization mechanism, which means rather than the
former store-load
2023 May 08
6
[PATCH V2 0/5] vDPA/ifcvf: implement immediate initialization mechanism
Formerly, ifcvf driver has implemented a lazy-initialization mechanism
for the virtqueues and other config space contents,
it would store all configurations that passed down from the userspace,
then load them to the device config space upon DRIVER_OK.
This can not serve live migration, so this series implement an
immediate initialization mechanism, which means rather than the
former store-load
2019 Nov 08
0
[PATCH 1/2] IFC hardware operation layer
...set_status(hw, 0);
> + ifcvf_get_status(hw);
> +}
> +
> +static void ifcvf_add_status(struct ifcvf_hw *hw, u8 status)
> +{
> + if (status != 0)
> + status |= ifcvf_get_status(hw);
> +
> + ifcvf_set_status(hw, status);
> + ifcvf_get_status(hw);
> +}
> +
> +u64 ifcvf_get_features(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg = hw->common_cfg;
> + u32 features_lo, features_hi;
> +
> + iowrite32(0, &cfg->device_feature_select);
> + features_lo = ioread32(&cfg->device_feature);
> +
> + iowrite32(1, &cfg->devic...
2019 Nov 05
1
[PATCH 1/2] IFC hardware operation layer
...set_status(hw, 0);
> + ifcvf_get_status(hw);
> +}
> +
> +static void ifcvf_add_status(struct ifcvf_hw *hw, u8 status)
> +{
> + if (status != 0)
> + status |= ifcvf_get_status(hw);
> +
> + ifcvf_set_status(hw, status);
> + ifcvf_get_status(hw);
> +}
> +
> +u64 ifcvf_get_features(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg = hw->common_cfg;
> + u32 features_lo, features_hi;
> +
> + iowrite32(0, &cfg->device_feature_select);
> + features_lo = ioread32(&cfg->device_feature);
> +
> + iowrite32(1, &cfg->devic...
2019 Nov 05
0
[PATCH 1/2] IFC hardware operation layer
...set_status(hw, 0);
> + ifcvf_get_status(hw);
> +}
> +
> +static void ifcvf_add_status(struct ifcvf_hw *hw, u8 status)
> +{
> + if (status != 0)
> + status |= ifcvf_get_status(hw);
> +
> + ifcvf_set_status(hw, status);
> + ifcvf_get_status(hw);
> +}
> +
> +u64 ifcvf_get_features(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg = hw->common_cfg;
> + u32 features_lo, features_hi;
> +
> + iowrite32(0, &cfg->device_feature_select);
> + features_lo = ioread32(&cfg->device_feature);
> +
> + iowrite32(1, &cfg->devic...
2019 Nov 06
0
[PATCH 1/2] IFC hardware operation layer
...set_status(hw, 0);
> + ifcvf_get_status(hw);
> +}
> +
> +static void ifcvf_add_status(struct ifcvf_hw *hw, u8 status)
> +{
> + if (status != 0)
> + status |= ifcvf_get_status(hw);
> +
> + ifcvf_set_status(hw, status);
> + ifcvf_get_status(hw);
> +}
> +
> +u64 ifcvf_get_features(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg = hw->common_cfg;
> + u32 features_lo, features_hi;
> +
> + iowrite32(0, &cfg->device_feature_select);
> + features_lo = ioread32(&cfg->device_feature);
> +
> + iowrite32(1, &cfg->devic...
2019 Nov 06
0
[PATCH 2/2] IFC VDPA layer
...= arg;
> +
> + if (vring->cb.callback)
> + return vring->cb.callback(vring->cb.private);
> +
> + return IRQ_HANDLED;
> +}
> +
> +static u64 ifcvf_mdev_get_features(struct mdev_device *mdev)
> +{
> + struct ifcvf_hw *vf = mdev_to_vf(mdev);
> +
> + return ifcvf_get_features(vf);
> +}
> +
> +static int ifcvf_mdev_set_features(struct mdev_device *mdev, u64 features)
> +{
> + struct ifcvf_hw *vf = mdev_to_vf(mdev);
> +
> + vf->req_features = features;
> +
> + return 0;
> +}
> +
> +static u64 ifcvf_mdev_get_vq_state(struct mdev_dev...