Displaying 8 results from an estimated 8 matches for "lm_cfg".
2019 Oct 16
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...onfig?
> + iowrite16(i, &hw->common_cfg->queue_select);
> + notify_off = ioread16(&hw->common_cfg->queue_notify_off);
> + hw->notify_addr[i] = (void *)((u8 *)hw->notify_base +
> + notify_off * hw->notify_off_multiplier);
> + }
> +
> + hw->lm_cfg = hw->mem_resource[4].addr;
> +
> + IFC_INFO(&dev->dev, "PCI capability mapping:\n"
> + "common cfg: %p\n"
> + "notify base: %p\n"
> + "isr cfg: %p\n"
> + "device cfg: %p\n"
> + "multiplier: %u\n&qu...
2019 Oct 21
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...t;> +??????? notify_off = ioread16(&hw->common_cfg->queue_notify_off);
>>> +??????? hw->notify_addr[i] = (void *)((u8 *)hw->notify_base +
>>> +??????????????? notify_off * hw->notify_off_multiplier);
>>> +??? }
>>> +
>>> +??? hw->lm_cfg = hw->mem_resource[4].addr;
>>> +
>>> +??? IFC_INFO(&dev->dev, "PCI capability mapping:\n"
>>> +??????????????? "common cfg: %p\n"
>>> +??????????????? "notify base: %p\n"
>>> +??????????????? "isr cfg: %p\n&q...
2019 Nov 06
0
[PATCH 1/2] IFC hardware operation layer
...= ioread16(&hw->common_cfg->queue_notify_off);
> + hw->notify_addr[i] = (void *)((u8 *)hw->notify_base +
> + notify_off * hw->notify_off_multiplier);
It might be better to store notify_addr inside the vring_info for
better locality.
> + }
> +
> + hw->lm_cfg = hw->mem_resource[IFCVF_LM_BAR].addr;
> +
> + IFC_DBG(&dev->dev, "PCI capability mapping: common cfg: %p,\
> + notify base: %p\n, isr cfg: %p, device cfg: %p,\
> + multiplier: %u\n",
> + hw->common_cfg, hw->notify_base, hw->isr,
> + hw->net_cfg...
2019 Nov 08
0
[PATCH 1/2] IFC hardware operation layer
...) {
> + iowrite16(i, &hw->common_cfg->queue_select);
> + notify_off = ioread16(&hw->common_cfg->queue_notify_off);
> + hw->notify_addr[i] = (void *)((u8 *)hw->notify_base +
> + notify_off * hw->notify_off_multiplier);
> + }
> +
> + hw->lm_cfg = hw->mem_resource[IFCVF_LM_BAR].addr;
> +
> + IFC_DBG(&dev->dev, "PCI capability mapping: common cfg: %p,\
> + notify base: %p\n, isr cfg: %p, device cfg: %p,\
> + multiplier: %u\n",
> + hw->common_cfg, hw->notify_base, hw->isr,
> + hw->net_cfg...
2019 Nov 05
1
[PATCH 1/2] IFC hardware operation layer
...) {
> + iowrite16(i, &hw->common_cfg->queue_select);
> + notify_off = ioread16(&hw->common_cfg->queue_notify_off);
> + hw->notify_addr[i] = (void *)((u8 *)hw->notify_base +
> + notify_off * hw->notify_off_multiplier);
> + }
> +
> + hw->lm_cfg = hw->mem_resource[IFCVF_LM_BAR].addr;
> +
> + IFC_DBG(&dev->dev, "PCI capability mapping: common cfg: %p,\
> + notify base: %p\n, isr cfg: %p, device cfg: %p,\
> + multiplier: %u\n",
> + hw->common_cfg, hw->notify_base, hw->isr,
> + hw->net_cfg...
2019 Nov 05
0
[PATCH 1/2] IFC hardware operation layer
...) {
> + iowrite16(i, &hw->common_cfg->queue_select);
> + notify_off = ioread16(&hw->common_cfg->queue_notify_off);
> + hw->notify_addr[i] = (void *)((u8 *)hw->notify_base +
> + notify_off * hw->notify_off_multiplier);
> + }
> +
> + hw->lm_cfg = hw->mem_resource[IFCVF_LM_BAR].addr;
> +
> + IFC_DBG(&dev->dev, "PCI capability mapping: common cfg: %p,\
> + notify base: %p\n, isr cfg: %p, device cfg: %p,\
> + multiplier: %u\n",
> + hw->common_cfg, hw->notify_base, hw->isr,
> + hw->net_cfg...
2019 Nov 06
0
[PATCH 2/2] IFC VDPA layer
...vf(mdev);
> +
> + vf->req_features = features;
> +
> + return 0;
> +}
> +
> +static u64 ifcvf_mdev_get_vq_state(struct mdev_device *mdev, u16 qid)
> +{
> + struct ifcvf_hw *vf = mdev_to_vf(mdev);
> + u16 last_avail_idx;
> +
> + last_avail_idx = *(u16 *)(vf->lm_cfg + IFCVF_LM_RING_STATE_OFFSET +
> + (qid / 2) * IFCVF_LM_CFG_SIZE + (qid % 2) * 4);
> +
Similar to the comment of previous patch, it's better to have a
structure for lm_cfg.
> + return last_avail_idx;
> +}
> +
> +static int ifcvf_mdev_set_vq_state(struct mdev_device *mdev,...
2020 Apr 02
0
[PATCH v2 -next] vdpa: remove unused variables 'ifcvf' and 'ifcvf_lm'
...rivers/vdpa/ifcvf/ifcvf_base.c
index b61b06ea26d3..e24371d644b5 100644
--- a/drivers/vdpa/ifcvf/ifcvf_base.c
+++ b/drivers/vdpa/ifcvf/ifcvf_base.c
@@ -301,12 +301,10 @@ int ifcvf_set_vq_state(struct ifcvf_hw *hw, u16 qid, u64 num)
static int ifcvf_hw_enable(struct ifcvf_hw *hw)
{
- struct ifcvf_lm_cfg __iomem *ifcvf_lm;
struct virtio_pci_common_cfg __iomem *cfg;
struct ifcvf_adapter *ifcvf;
u32 i;
- ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg;
ifcvf = vf_to_adapter(hw);
cfg = hw->common_cfg;
ifc_iowrite16(IFCVF_MSI_CONFIG_OFF, &cfg->msix_config);
diff --git a/...