Lines Matching refs:d

39 void e1000e_tx_ring_push(QE1000E *d, void *descr)  in e1000e_tx_ring_push()  argument
41 QE1000E_PCI *d_pci = container_of(d, QE1000E_PCI, e1000e); in e1000e_tx_ring_push()
42 uint32_t tail = e1000e_macreg_read(d, E1000_TDT); in e1000e_tx_ring_push()
43 uint32_t len = e1000e_macreg_read(d, E1000_TDLEN) / E1000_RING_DESC_LEN; in e1000e_tx_ring_push()
46 d->tx_ring + tail * E1000_RING_DESC_LEN, in e1000e_tx_ring_push()
48 e1000e_macreg_write(d, E1000_TDT, (tail + 1) % len); in e1000e_tx_ring_push()
52 d->tx_ring + tail * E1000_RING_DESC_LEN, in e1000e_tx_ring_push()
56 void e1000e_rx_ring_push(QE1000E *d, void *descr) in e1000e_rx_ring_push() argument
58 QE1000E_PCI *d_pci = container_of(d, QE1000E_PCI, e1000e); in e1000e_rx_ring_push()
59 uint32_t tail = e1000e_macreg_read(d, E1000_RDT); in e1000e_rx_ring_push()
60 uint32_t len = e1000e_macreg_read(d, E1000_RDLEN) / E1000_RING_DESC_LEN; in e1000e_rx_ring_push()
63 d->rx_ring + tail * E1000_RING_DESC_LEN, in e1000e_rx_ring_push()
65 e1000e_macreg_write(d, E1000_RDT, (tail + 1) % len); in e1000e_rx_ring_push()
69 d->rx_ring + tail * E1000_RING_DESC_LEN, in e1000e_rx_ring_push()
80 void e1000e_wait_isr(QE1000E *d, uint16_t msg_id) in e1000e_wait_isr() argument
82 QE1000E_PCI *d_pci = container_of(d, QE1000E_PCI, e1000e); in e1000e_wait_isr()
104 QE1000E_PCI *d = (QE1000E_PCI *) obj; in e1000e_pci_start_hw() local
108 qpci_device_enable(&d->pci_dev); in e1000e_pci_start_hw()
111 val = e1000e_macreg_read(&d->e1000e, E1000_CTRL); in e1000e_pci_start_hw()
112 e1000e_macreg_write(&d->e1000e, E1000_CTRL, val | E1000_CTRL_RST | E1000_CTRL_SLU); in e1000e_pci_start_hw()
115 qpci_msix_enable(&d->pci_dev); in e1000e_pci_start_hw()
116 e1000e_macreg_write(&d->e1000e, E1000_IVAR, E1000E_IVAR_TEST_CFG); in e1000e_pci_start_hw()
119 val = e1000e_macreg_read(&d->e1000e, E1000_STATUS); in e1000e_pci_start_hw()
124 e1000e_macreg_write(&d->e1000e, E1000_RCTL, 0); in e1000e_pci_start_hw()
125 e1000e_macreg_write(&d->e1000e, E1000_TCTL, 0); in e1000e_pci_start_hw()
128 val = e1000e_macreg_read(&d->e1000e, E1000_CTRL_EXT); in e1000e_pci_start_hw()
129 e1000e_macreg_write(&d->e1000e, E1000_CTRL_EXT, in e1000e_pci_start_hw()
132 e1000e_macreg_write(&d->e1000e, E1000_TDBAL, in e1000e_pci_start_hw()
133 (uint32_t) d->e1000e.tx_ring); in e1000e_pci_start_hw()
134 e1000e_macreg_write(&d->e1000e, E1000_TDBAH, in e1000e_pci_start_hw()
135 (uint32_t) (d->e1000e.tx_ring >> 32)); in e1000e_pci_start_hw()
136 e1000e_macreg_write(&d->e1000e, E1000_TDLEN, E1000E_RING_LEN); in e1000e_pci_start_hw()
137 e1000e_macreg_write(&d->e1000e, E1000_TDT, 0); in e1000e_pci_start_hw()
138 e1000e_macreg_write(&d->e1000e, E1000_TDH, 0); in e1000e_pci_start_hw()
141 e1000e_macreg_write(&d->e1000e, E1000_TCTL, E1000_TCTL_EN); in e1000e_pci_start_hw()
143 e1000e_macreg_write(&d->e1000e, E1000_RDBAL, in e1000e_pci_start_hw()
144 (uint32_t)d->e1000e.rx_ring); in e1000e_pci_start_hw()
145 e1000e_macreg_write(&d->e1000e, E1000_RDBAH, in e1000e_pci_start_hw()
146 (uint32_t)(d->e1000e.rx_ring >> 32)); in e1000e_pci_start_hw()
147 e1000e_macreg_write(&d->e1000e, E1000_RDLEN, E1000E_RING_LEN); in e1000e_pci_start_hw()
148 e1000e_macreg_write(&d->e1000e, E1000_RDT, 0); in e1000e_pci_start_hw()
149 e1000e_macreg_write(&d->e1000e, E1000_RDH, 0); in e1000e_pci_start_hw()
152 e1000e_macreg_write(&d->e1000e, E1000_RFCTL, E1000_RFCTL_EXTEN); in e1000e_pci_start_hw()
153 e1000e_macreg_write(&d->e1000e, E1000_RCTL, E1000_RCTL_EN | in e1000e_pci_start_hw()
158 e1000e_macreg_write(&d->e1000e, E1000_IMS, 0xFFFFFFFF); in e1000e_pci_start_hw()
181 QE1000E_PCI *d = g_new0(QE1000E_PCI, 1); in e1000e_pci_create() local
186 e1000e_foreach_callback, &d->pci_dev); in e1000e_pci_create()
189 d->mac_regs = qpci_iomap(&d->pci_dev, 0, NULL); in e1000e_pci_create()
192 d->e1000e.tx_ring = guest_alloc(alloc, E1000E_RING_LEN); in e1000e_pci_create()
193 g_assert(d->e1000e.tx_ring != 0); in e1000e_pci_create()
196 d->e1000e.rx_ring = guest_alloc(alloc, E1000E_RING_LEN); in e1000e_pci_create()
197 g_assert(d->e1000e.rx_ring != 0); in e1000e_pci_create()
199 d->obj.get_driver = e1000e_pci_get_driver; in e1000e_pci_create()
200 d->obj.start_hw = e1000e_pci_start_hw; in e1000e_pci_create()
201 d->obj.destructor = e1000e_pci_destructor; in e1000e_pci_create()
203 return &d->obj; in e1000e_pci_create()