Displaying 11 results from an estimated 11 matches for "io_write64_twopart".
2019 Nov 08
0
[PATCH 1/2] IFC hardware operation layer
...);
> + ifcvf_add_status(hw, VIRTIO_CONFIG_S_FEATURES_OK);
> +
> + if (!(ifcvf_get_status(hw) & VIRTIO_CONFIG_S_FEATURES_OK)) {
> + IFC_ERR(ifcvf->dev, "Failed to set FEATURES_OK status\n");
> + return -EIO;
> + }
> +
> + return 0;
> +}
> +
> +void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
> +{
> + iowrite32(val & ((1ULL << 32) - 1), lo);
> + iowrite32(val >> 32, hi);
> +}
> +
> +static int ifcvf_hw_enable(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg;
> + struct ifcvf_adapter *ifcvf;
> + u8 *l...
2019 Nov 05
1
[PATCH 1/2] IFC hardware operation layer
...);
> + ifcvf_add_status(hw, VIRTIO_CONFIG_S_FEATURES_OK);
> +
> + if (!(ifcvf_get_status(hw) & VIRTIO_CONFIG_S_FEATURES_OK)) {
> + IFC_ERR(ifcvf->dev, "Failed to set FEATURES_OK status\n");
> + return -EIO;
> + }
> +
> + return 0;
> +}
> +
> +void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
> +{
> + iowrite32(val & ((1ULL << 32) - 1), lo);
> + iowrite32(val >> 32, hi);
> +}
> +
> +static int ifcvf_hw_enable(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg;
> + struct ifcvf_adapter *ifcvf;
> + u8 *l...
2019 Nov 05
0
[PATCH 1/2] IFC hardware operation layer
...);
> + ifcvf_add_status(hw, VIRTIO_CONFIG_S_FEATURES_OK);
> +
> + if (!(ifcvf_get_status(hw) & VIRTIO_CONFIG_S_FEATURES_OK)) {
> + IFC_ERR(ifcvf->dev, "Failed to set FEATURES_OK status\n");
> + return -EIO;
> + }
> +
> + return 0;
> +}
> +
> +void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
> +{
> + iowrite32(val & ((1ULL << 32) - 1), lo);
> + iowrite32(val >> 32, hi);
> +}
> +
> +static int ifcvf_hw_enable(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg;
> + struct ifcvf_adapter *ifcvf;
> + u8 *l...
2019 Nov 06
0
[PATCH 1/2] IFC hardware operation layer
...);
> + ifcvf_add_status(hw, VIRTIO_CONFIG_S_FEATURES_OK);
> +
> + if (!(ifcvf_get_status(hw) & VIRTIO_CONFIG_S_FEATURES_OK)) {
> + IFC_ERR(ifcvf->dev, "Failed to set FEATURES_OK status\n");
> + return -EIO;
> + }
> +
> + return 0;
> +}
> +
> +void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
> +{
> + iowrite32(val & ((1ULL << 32) - 1), lo);
> + iowrite32(val >> 32, hi);
> +}
> +
> +static int ifcvf_hw_enable(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg;
> + struct ifcvf_adapter *ifcvf;
> + u8 *l...
2019 Oct 16
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...+ ifcvf_add_status(hw, VIRTIO_CONFIG_S_FEATURES_OK);
> +
> + if (!(ifcvf_get_status(hw) & VIRTIO_CONFIG_S_FEATURES_OK)) {
> + IFC_ERR(ifcvf->dev, "Failed to set FEATURES_OK status\n");
> + return -EIO;
> + }
> +
> + return 0;
> +}
> +
> +static void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
> +{
> + iowrite32(val & ((1ULL << 32) - 1), lo);
> + iowrite32(val >> 32, hi);
> +}
> +
> +static int ifcvf_hw_enable(struct ifcvf_hw *hw)
> +{
> + struct virtio_pci_common_cfg *cfg;
> + u8 *lm_cfg;
> + u32 i;
> + struct i...
2019 Oct 21
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...t_status(hw) & VIRTIO_CONFIG_S_FEATURES_OK)) {
>>> +??????? IFC_ERR(ifcvf->dev, "Failed to set FEATURES_OK status\n");
>>> +??????? return -EIO;
>>> +??? }
>>> +
>>> +??? return 0;
>>> +}
>>> +
>>> +static void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
>>> +{
>>> +??? iowrite32(val & ((1ULL << 32) - 1), lo);
>>> +??? iowrite32(val >> 32, hi);
>>> +}
>>> +
>>> +static int ifcvf_hw_enable(struct ifcvf_hw *hw)
>>> +{
>>> +??? struct vir...
2023 May 08
1
[PATCH V2 2/5] vDPA/ifcvf: get_driver_features from virtio registers
..._hw {
phys_addr_t notify_base_pa;
u32 notify_off_multiplier;
u32 dev_type;
- u64 req_features;
u64 hw_features;
/* provisioned device features */
u64 dev_features;
@@ -122,7 +121,7 @@ u8 ifcvf_get_status(struct ifcvf_hw *hw);
void ifcvf_set_status(struct ifcvf_hw *hw, u8 status);
void io_write64_twopart(u64 val, u32 *lo, u32 *hi);
void ifcvf_reset(struct ifcvf_hw *hw);
-u64 ifcvf_get_features(struct ifcvf_hw *hw);
+u64 ifcvf_get_dev_features(struct ifcvf_hw *hw);
u64 ifcvf_get_hw_features(struct ifcvf_hw *hw);
int ifcvf_verify_min_features(struct ifcvf_hw *hw, u64 features);
u16 ifcvf_get_vq_s...
2019 Oct 22
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...en?
>
> ...
My understanding is that the function here is similar to virtio config
generation [1]. So this can only happen for a buggy hardware.
Thanks
[1]
https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html
Section 2.4.1
>
>>>> +static void io_write64_twopart(u64 val, u32 *lo, u32 *hi)
>>>> +{
>>>> + iowrite32(val & ((1ULL << 32) - 1), lo);
>>>> + iowrite32(val >> 32, hi);
>>>> +}
>>> I see this macro is also in virtio_pci_modern.c
>>>
>>> Assuming lo and hi aren&...
2023 Mar 31
2
[PATCH 2/5] get_driver_features from virito registers
..._hw {
phys_addr_t notify_base_pa;
u32 notify_off_multiplier;
u32 dev_type;
- u64 req_features;
u64 hw_features;
/* provisioned device features */
u64 dev_features;
@@ -122,7 +121,7 @@ u8 ifcvf_get_status(struct ifcvf_hw *hw);
void ifcvf_set_status(struct ifcvf_hw *hw, u8 status);
void io_write64_twopart(u64 val, u32 *lo, u32 *hi);
void ifcvf_reset(struct ifcvf_hw *hw);
-u64 ifcvf_get_features(struct ifcvf_hw *hw);
+u64 ifcvf_get_dev_features(struct ifcvf_hw *hw);
u64 ifcvf_get_hw_features(struct ifcvf_hw *hw);
int ifcvf_verify_min_features(struct ifcvf_hw *hw, u64 features);
u16 ifcvf_get_vq_s...
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