Lines Matching refs:cap
372 static void __iomem *octep_get_cap_addr(struct octep_hw *oct_hw, struct virtio_pci_cap *cap)
375 u32 length = le32_to_cpu(cap->length);
376 u32 offset = le32_to_cpu(cap->offset);
377 u8 bar = cap->bar;
391 dev_err(dev, "invalid cap: overflows bar space: %u > %u\n",
448 struct virtio_pci_cap cap;
463 octep_pci_caps_read(oct_hw, &cap, 2, pos);
465 if (cap.cap_vndr != PCI_CAP_ID_VNDR) {
466 dev_err(dev, "Found invalid capability vndr id: %d\n", cap.cap_vndr);
470 octep_pci_caps_read(oct_hw, &cap, sizeof(cap), pos);
473 pos, cap.cfg_type, cap.bar, cap.offset, cap.length);
475 switch (cap.cfg_type) {
477 oct_hw->common_cfg = octep_get_cap_addr(oct_hw, &cap);
481 4, pos + sizeof(cap));
483 oct_hw->notify_base = octep_get_cap_addr(oct_hw, &cap);
484 oct_hw->notify_bar = cap.bar;
485 oct_hw->notify_base_pa = pci_resource_start(pdev, cap.bar) +
486 le32_to_cpu(cap.offset);
489 oct_hw->dev_cfg = octep_get_cap_addr(oct_hw, &cap);
492 oct_hw->isr = octep_get_cap_addr(oct_hw, &cap);
505 pos = cap.cap_next;