Lines Matching defs:device

14 #include "device.h"
44 LOG(("invalid device name"));
67 data->pciInfo->device, data->pciInfo->function, PCI_line_size,
80 LOG((DEVICE_NAME": can't stop device\n"));
138 wb_device* device = (wb_device*)cookie;
147 blockFlag = device->blockFlag;
149 if (atomic_or(&device->rxLock, 1)) {
154 status = acquire_sem_etc(device->rxSem, 1, B_CAN_INTERRUPT | blockFlag, 0);
156 atomic_and(&device->rxLock, 0);
161 current = device->rxCurrent;
162 check = device->rxDescriptor[current].wb_status;
166 atomic_and(&device->rxLock, 0);
183 memcpy(buf, (void*)device->rxBuffer[current], size);
186 device->rxCurrent = (current + 1) & WB_RX_CNT_MASK;
190 acquire_spinlock(&device->rxSpinlock);
193 wb_put_rx_descriptor(&device->rxDescriptor[current]);
194 device->rxFree++;
196 release_spinlock(&device->rxSpinlock);
200 atomic_and(&device->rxLock, 0);
209 wb_device* device = (wb_device*)cookie;
217 atomic_add(&device->txLock, 1);
223 current = device->txCurrent;
226 status = acquire_sem_etc(device->txSem, 1, B_TIMEOUT, ETHER_TRANSMIT_TIMEOUT);
228 write32(device->reg_base + WB_TXSTART, 0xFFFFFFFF);
231 atomic_add(&device->txLock, -1);
236 check = device->txDescriptor[current].wb_status;
240 atomic_add(&device->txLock, -1);
246 memcpy((void*)device->txBuffer[current], buffer, frameSize);
247 device->txCurrent = (current + 1) & WB_TX_CNT_MASK;
252 acquire_spinlock(&device->txSpinlock);
254 device->txDescriptor[current].wb_ctl = WB_TXCTL_TLINK | frameSize;
255 device->txDescriptor[current].wb_ctl |= WB_TXCTL_FIRSTFRAG
257 device->txDescriptor[current].wb_status = WB_TXSTAT_OWN;
258 device->txSent++;
260 release_spinlock(&device->txSpinlock);
265 write32(device->reg_base + WB_TXSTART, 0xFFFFFFFF);
267 atomic_add(&device->txLock, -1);
339 wb_device* device = (wb_device*)cookie;
343 cancel_timer(&device->timer);
345 wb_stop(device);
347 write32(device->reg_base + WB_TXADDR, 0x00000000);
348 write32(device->reg_base + WB_RXADDR, 0x00000000);
350 wb_disable_interrupts(device);
351 remove_io_interrupt_handler(device->irq, wb_interrupt, device);
353 delete_sem(device->rxSem);
354 delete_sem(device->txSem);
363 wb_device* device = (wb_device*)cookie;
367 sOpenMask &= ~(1L << device->devId);
369 wb_delete_rings(device);
370 free(device->firstPHY);
371 free(device);