Lines Matching refs:dev

23 detect_unique_hw(struct pci_dev *dev)  in detect_unique_hw()  argument
25 u16 vendor = pci_read_word(dev, PCI_VENDOR_ID); in detect_unique_hw()
26 u16 device = pci_read_word(dev, PCI_DEVICE_ID); in detect_unique_hw()
27 u8 revision = pci_read_byte(dev, PCI_REVISION_ID); in detect_unique_hw()
38 margin_port_is_down(struct pci_dev *dev) in margin_port_is_down() argument
40 struct pci_cap *cap = pci_find_cap(dev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL); in margin_port_is_down()
43 u8 type = pci_read_byte(dev, PCI_HEADER_TYPE) & 0x7F; in margin_port_is_down()
44 u8 dir = GET_REG_MASK(pci_read_word(dev, cap->addr + PCI_EXP_FLAGS), PCI_EXP_FLAGS_TYPE); in margin_port_is_down()
54 margin_find_pair(struct pci_access *pacc, struct pci_dev *dev, struct pci_dev **down_port, in margin_find_pair() argument
57 struct pci_cap *cap = pci_find_cap(dev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL); in margin_find_pair()
60 bool given_down = margin_port_is_down(dev); in margin_find_pair()
64 if (given_down && pci_read_byte(dev, PCI_SECONDARY_BUS) == p->bus && dev->domain == p->domain in margin_find_pair()
67 *down_port = dev; in margin_find_pair()
71 else if (!given_down && pci_read_byte(p, PCI_SECONDARY_BUS) == dev->bus in margin_find_pair()
72 && dev->domain == p->domain) in margin_find_pair()
75 *up_port = dev; in margin_find_pair()
105 margin_check_ready_bit(struct pci_dev *dev) in margin_check_ready_bit() argument
107 struct pci_cap *lmr = pci_find_cap(dev, PCI_EXT_CAP_ID_LMR, PCI_CAP_EXTENDED); in margin_check_ready_bit()
108 return lmr && (pci_read_word(dev, lmr->addr + PCI_LMR_PORT_STS) & PCI_LMR_PORT_STS_READY); in margin_check_ready_bit()
113 fill_dev_wrapper(struct pci_dev *dev) in fill_dev_wrapper() argument
115 struct pci_cap *cap = pci_find_cap(dev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL); in fill_dev_wrapper()
117 .dev = dev, in fill_dev_wrapper()
118 .lmr_cap_addr = pci_find_cap(dev, PCI_EXT_CAP_ID_LMR, PCI_CAP_EXTENDED)->addr, in fill_dev_wrapper()
119 .neg_width = GET_REG_MASK(pci_read_word(dev, cap->addr + PCI_EXP_LNKSTA), PCI_EXP_LNKSTA_WIDTH), in fill_dev_wrapper()
120 .max_width = GET_REG_MASK(pci_read_long(dev, cap->addr + PCI_EXP_LNKCAP), PCI_EXP_LNKCAP_WIDTH), in fill_dev_wrapper()
122 = (!!(pci_read_word(dev, cap->addr + PCI_EXP_LNKSTA2) & PCI_EXP_LINKSTA2_RETIMER)) in fill_dev_wrapper()
123 + (!!(pci_read_word(dev, cap->addr + PCI_EXP_LNKSTA2) & PCI_EXP_LINKSTA2_2RETIMERS)), in fill_dev_wrapper()
124 .link_speed = (pci_read_word(dev, cap->addr + PCI_EXP_LNKSTA) & PCI_EXP_LNKSTA_SPEED), in fill_dev_wrapper()
125 .hw = detect_unique_hw(dev) in fill_dev_wrapper()
143 margin_prep_dev(struct margin_dev *dev) in margin_prep_dev() argument
145 struct pci_cap *pcie = pci_find_cap(dev->dev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL); in margin_prep_dev()
149 u16 lnk_ctl = pci_read_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL); in margin_prep_dev()
150 dev->aspm = lnk_ctl & PCI_EXP_LNKCTL_ASPM; in margin_prep_dev()
151 dev->hawd = !!(lnk_ctl & PCI_EXP_LNKCTL_HWAUTWD); in margin_prep_dev()
153 pci_write_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL, lnk_ctl); in margin_prep_dev()
154 if (pci_read_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL) & PCI_EXP_LNKCTL_ASPM) in margin_prep_dev()
158 pci_write_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL, lnk_ctl); in margin_prep_dev()
160 u16 lnk_ctl2 = pci_read_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL2); in margin_prep_dev()
161 dev->hasd = !!(lnk_ctl2 & PCI_EXP_LNKCTL2_SPEED_DIS); in margin_prep_dev()
163 pci_write_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL2, lnk_ctl2); in margin_prep_dev()
170 margin_restore_dev(struct margin_dev *dev) in margin_restore_dev() argument
172 struct pci_cap *pcie = pci_find_cap(dev->dev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL); in margin_restore_dev()
176 u16 lnk_ctl = pci_read_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL); in margin_restore_dev()
177 lnk_ctl = SET_REG_MASK(lnk_ctl, PCI_EXP_LNKCAP_ASPM, dev->aspm); in margin_restore_dev()
178 lnk_ctl = SET_REG_MASK(lnk_ctl, PCI_EXP_LNKCTL_HWAUTWD, dev->hawd); in margin_restore_dev()
179 pci_write_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL, lnk_ctl); in margin_restore_dev()
181 u16 lnk_ctl2 = pci_read_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL2); in margin_restore_dev()
182 lnk_ctl2 = SET_REG_MASK(lnk_ctl2, PCI_EXP_LNKCTL2_SPEED_DIS, dev->hasd); in margin_restore_dev()
183 pci_write_word(dev->dev, pcie->addr + PCI_EXP_LNKCTL2, lnk_ctl2); in margin_restore_dev()