return err;
}
-void vnic_dev_cmd_proxy_by_index_start(struct vnic_dev *vdev, u16 index)
-{
- vdev->proxy = PROXY_BY_INDEX;
- vdev->proxy_index = index;
-}
-
-void vnic_dev_cmd_proxy_by_bdf_start(struct vnic_dev *vdev, u16 bdf)
-{
- vdev->proxy = PROXY_BY_BDF;
- vdev->proxy_index = bdf;
-}
-
-void vnic_dev_cmd_proxy_end(struct vnic_dev *vdev)
-{
- vdev->proxy = PROXY_NONE;
- vdev->proxy_index = 0;
-}
-
int vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd,
u64 *a0, u64 *a1, int wait)
{
return vnic_dev_cmd(vdev, CMD_CLOSE, &a0, &a1, wait);
}
-/** Deprecated. @see vnic_dev_enable_wait */
-int vnic_dev_enable(struct vnic_dev *vdev)
-{
- u64 a0 = 0, a1 = 0;
- int wait = 1000;
-
- return vnic_dev_cmd(vdev, CMD_ENABLE, &a0, &a1, wait);
-}
-
int vnic_dev_enable_wait(struct vnic_dev *vdev)
{
u64 a0 = 0, a1 = 0;
return 0;
}
-int vnic_dev_soft_reset(struct vnic_dev *vdev, int arg)
-{
- u64 a0 = (u32)arg, a1 = 0;
- int wait = 1000;
-
- return vnic_dev_cmd(vdev, CMD_SOFT_RESET, &a0, &a1, wait);
-}
-
-int vnic_dev_soft_reset_done(struct vnic_dev *vdev, int *done)
-{
- u64 a0 = 0, a1 = 0;
- int wait = 1000;
- int err;
-
- *done = 0;
-
- err = vnic_dev_cmd(vdev, CMD_SOFT_RESET_STATUS, &a0, &a1, wait);
- if (err)
- return err;
-
- *done = (a0 == 0);
-
- return 0;
-}
-
int vnic_dev_get_mac_addr(struct vnic_dev *vdev, u8 *mac_addr)
{
u64 a0 = 0, a1 = 0;
return 0;
}
-int vnic_dev_raise_intr(struct vnic_dev *vdev, u16 intr)
-{
- u64 a0 = intr, a1 = 0;
- int wait = 1000;
- int err;
-
- err = vnic_dev_cmd(vdev, CMD_IAR, &a0, &a1, wait);
- if (err)
- pr_err("Failed to raise INTR[%d], err %d\n", intr, err);
-
- return err;
-}
-
void vnic_dev_set_reset_flag(struct vnic_dev *vdev, int state)
{
vdev->in_reset = state;
return r;
}
-int vnic_dev_deinit(struct vnic_dev *vdev)
-{
- u64 a0 = 0, a1 = 0;
- int wait = 1000;
-
- return vnic_dev_cmd(vdev, CMD_DEINIT, &a0, &a1, wait);
-}
-
void vnic_dev_intr_coal_timer_info_default(struct vnic_dev *vdev)
{
/* Default: hardware intr coal timer is in units of 1.5 usecs */
return vdev->notify_copy.port_speed;
}
-void vnic_dev_set_intr_mode(struct vnic_dev *vdev,
- enum vnic_dev_intr_mode intr_mode)
-{
- vdev->intr_mode = intr_mode;
-}
-
-enum vnic_dev_intr_mode vnic_dev_get_intr_mode(
- struct vnic_dev *vdev)
-{
- return vdev->intr_mode;
-}
-
u32 vnic_dev_intr_coal_timer_usec_to_hw(struct vnic_dev *vdev, u32 usec)
{
return (usec * vdev->intr_coal_timer_info.mul) /
return NULL;
}
-struct rte_pci_device *vnic_dev_get_pdev(struct vnic_dev *vdev)
-{
- return vdev->pdev;
-}
-
-int vnic_dev_set_mac_addr(struct vnic_dev *vdev, u8 *mac_addr)
-{
- u64 a0, a1 = 0;
- int wait = 1000;
- int i;
-
- for (i = 0; i < ETH_ALEN; i++)
- ((u8 *)&a0)[i] = mac_addr[i];
-
- return vnic_dev_cmd(vdev, CMD_SET_MAC_ADDR, &a0, &a1, wait);
-}
-
/*
* vnic_dev_classifier: Add/Delete classifier entries
* @vdev: vdev of the device
}
}
-void vnic_set_rss_cpu(union vnic_rss_cpu *rss_cpu, u8 *cpu)
-{
- u32 i;
- u32 *p = (u32 *)cpu;
-
- for (i = 0; i < 32; ++i)
- iowrite32(*p++, &rss_cpu->cpu[i].b[0]);
-}
-
-void vnic_get_rss_key(union vnic_rss_key *rss_key, u8 *key)
-{
- u32 i;
- u32 *p;
- u16 *q;
-
- for (i = 0; i < 4; ++i) {
- p = (u32 *)(key + (10 * i));
- *p++ = ioread32(&rss_key->key[i].b[0]);
- *p++ = ioread32(&rss_key->key[i].b[4]);
- q = (u16 *)p;
- *q = (u16)ioread32(&rss_key->key[i].b[8]);
- }
-}
-
-void vnic_get_rss_cpu(union vnic_rss_cpu *rss_cpu, u8 *cpu)
-{
- u32 i;
- u32 *p = (u32 *)cpu;
-
- for (i = 0; i < 32; ++i)
- *p++ = ioread32(&rss_cpu->cpu[i].b[0]);
-}
return rte_read32(addr);
}
-static inline uint16_t ioread16(volatile void *addr)
-{
- return rte_read16(addr);
-}
-
static inline uint8_t ioread8(volatile void *addr)
{
return rte_read8(addr);
rte_write32_relaxed(val, addr);
}
-static inline void iowrite16(uint16_t val, volatile void *addr)
-{
- rte_write16(val, addr);
-}
-
-static inline void iowrite8(uint8_t val, volatile void *addr)
-{
- rte_write8(val, addr);
-}
-
static inline unsigned int readl(volatile void __iomem *addr)
{
return rte_read32(addr);
}
-static inline unsigned int readl_relaxed(volatile void __iomem *addr)
-{
- return rte_read32_relaxed(addr);
-}
-
static inline void writel(unsigned int val, volatile void __iomem *addr)
{
rte_write32(val, addr);