• Home
  • Raw
  • Download

Lines Matching refs:Dev

49   IN OUT VNET_DEV *Dev,  in VirtioNetInitRing()  argument
60 Status = Dev->VirtIo->SetQueueSel (Dev->VirtIo, Selector); in VirtioNetInitRing()
64 Status = Dev->VirtIo->GetQueueNumMax (Dev->VirtIo, &QueueSize); in VirtioNetInitRing()
85 Status = Dev->VirtIo->SetQueueNum (Dev->VirtIo, QueueSize); in VirtioNetInitRing()
90 Status = Dev->VirtIo->SetQueueAlign (Dev->VirtIo, EFI_PAGE_SIZE); in VirtioNetInitRing()
98 Status = Dev->VirtIo->SetQueueAddress (Dev->VirtIo, Ring); in VirtioNetInitRing()
138 IN OUT VNET_DEV *Dev in VirtioNetInitTx() argument
144 Dev->TxMaxPending = (UINT16) MIN (Dev->TxRing.QueueSize / 2, in VirtioNetInitTx()
146 Dev->TxCurPending = 0; in VirtioNetInitTx()
147 Dev->TxFreeStack = AllocatePool (Dev->TxMaxPending * in VirtioNetInitTx()
148 sizeof *Dev->TxFreeStack); in VirtioNetInitTx()
149 if (Dev->TxFreeStack == NULL) { in VirtioNetInitTx()
157 TxSharedReqSize = (Dev->VirtIo->Revision < VIRTIO_SPEC_REVISION (1, 0, 0)) ? in VirtioNetInitTx()
158 sizeof Dev->TxSharedReq.V0_9_5 : in VirtioNetInitTx()
159 sizeof Dev->TxSharedReq; in VirtioNetInitTx()
161 for (PktIdx = 0; PktIdx < Dev->TxMaxPending; ++PktIdx) { in VirtioNetInitTx()
165 Dev->TxFreeStack[PktIdx] = DescIdx; in VirtioNetInitTx()
171 Dev->TxRing.Desc[DescIdx].Addr = (UINTN) &Dev->TxSharedReq; in VirtioNetInitTx()
172 Dev->TxRing.Desc[DescIdx].Len = (UINT32) TxSharedReqSize; in VirtioNetInitTx()
173 Dev->TxRing.Desc[DescIdx].Flags = VRING_DESC_F_NEXT; in VirtioNetInitTx()
174 Dev->TxRing.Desc[DescIdx].Next = (UINT16) (DescIdx + 1); in VirtioNetInitTx()
180 Dev->TxRing.Desc[DescIdx + 1].Flags = 0; in VirtioNetInitTx()
186 Dev->TxSharedReq.V0_9_5.Flags = 0; in VirtioNetInitTx()
187 Dev->TxSharedReq.V0_9_5.GsoType = VIRTIO_NET_HDR_GSO_NONE; in VirtioNetInitTx()
192 Dev->TxSharedReq.NumBuffers = 0; in VirtioNetInitTx()
198 Dev->TxLastUsed = *Dev->TxRing.Used.Idx; in VirtioNetInitTx()
199 ASSERT (Dev->TxLastUsed == 0); in VirtioNetInitTx()
204 *Dev->TxRing.Avail.Flags = (UINT16) VRING_AVAIL_F_NO_INTERRUPT; in VirtioNetInitTx()
236 IN OUT VNET_DEV *Dev in VirtioNetInitRx() argument
251 VirtioNetReqSize = (Dev->VirtIo->Revision < VIRTIO_SPEC_REVISION (1, 0, 0)) ? in VirtioNetInitRx()
262 (Dev->Snm.MediaHeaderSize + Dev->Snm.MaxPacketSize); in VirtioNetInitRx()
268 RxAlwaysPending = (UINT16) MIN (Dev->RxRing.QueueSize / 2, VNET_MAX_PENDING); in VirtioNetInitRx()
270 Dev->RxBuf = AllocatePool (RxAlwaysPending * RxBufSize); in VirtioNetInitRx()
271 if (Dev->RxBuf == NULL) { in VirtioNetInitRx()
279 Dev->RxLastUsed = *Dev->RxRing.Used.Idx; in VirtioNetInitRx()
280 ASSERT (Dev->RxLastUsed == 0); in VirtioNetInitRx()
287 *Dev->RxRing.Avail.Flags = (UINT16) VRING_AVAIL_F_NO_INTERRUPT; in VirtioNetInitRx()
294 RxPtr = Dev->RxBuf; in VirtioNetInitRx()
300 Dev->RxRing.Avail.Ring[PktIdx] = DescIdx; in VirtioNetInitRx()
305 Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr; in VirtioNetInitRx()
306 Dev->RxRing.Desc[DescIdx].Len = (UINT32) VirtioNetReqSize; in VirtioNetInitRx()
307 Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE | VRING_DESC_F_NEXT; in VirtioNetInitRx()
308 Dev->RxRing.Desc[DescIdx].Next = (UINT16) (DescIdx + 1); in VirtioNetInitRx()
309 RxPtr += Dev->RxRing.Desc[DescIdx++].Len; in VirtioNetInitRx()
311 Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr; in VirtioNetInitRx()
312 Dev->RxRing.Desc[DescIdx].Len = (UINT32) (RxBufSize - VirtioNetReqSize); in VirtioNetInitRx()
313 Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE; in VirtioNetInitRx()
314 RxPtr += Dev->RxRing.Desc[DescIdx++].Len; in VirtioNetInitRx()
321 *Dev->RxRing.Avail.Idx = RxAlwaysPending; in VirtioNetInitRx()
332 Status = Dev->VirtIo->SetQueueNotify (Dev->VirtIo, VIRTIO_NET_Q_RX); in VirtioNetInitRx()
334 Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0); in VirtioNetInitRx()
335 FreePool (Dev->RxBuf); in VirtioNetInitRx()
380 VNET_DEV *Dev; in VirtioNetInitialize() local
393 Dev = VIRTIO_NET_FROM_SNP (This); in VirtioNetInitialize()
395 if (Dev->Snm.State != EfiSimpleNetworkStarted) { in VirtioNetInitialize()
410 Status = Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, NextDevStat); in VirtioNetInitialize()
416 Status = Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, NextDevStat); in VirtioNetInitialize()
424 Status = Dev->VirtIo->SetPageSize (Dev->VirtIo, EFI_PAGE_SIZE); in VirtioNetInitialize()
433 Status = Dev->VirtIo->GetDeviceFeatures (Dev->VirtIo, &Features); in VirtioNetInitialize()
439 ASSERT (Dev->Snm.MediaPresentSupported == in VirtioNetInitialize()
448 if (Dev->VirtIo->Revision >= VIRTIO_SPEC_REVISION (1, 0, 0)) { in VirtioNetInitialize()
449 Status = Virtio10WriteFeatures (Dev->VirtIo, Features, &NextDevStat); in VirtioNetInitialize()
458 Status = VirtioNetInitRing (Dev, VIRTIO_NET_Q_RX, &Dev->RxRing); in VirtioNetInitialize()
463 Status = VirtioNetInitRing (Dev, VIRTIO_NET_Q_TX, &Dev->TxRing); in VirtioNetInitialize()
471 if (Dev->VirtIo->Revision < VIRTIO_SPEC_REVISION (1, 0, 0)) { in VirtioNetInitialize()
473 Status = Dev->VirtIo->SetGuestFeatures (Dev->VirtIo, Features); in VirtioNetInitialize()
483 Status = Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, NextDevStat); in VirtioNetInitialize()
488 Status = VirtioNetInitTx (Dev); in VirtioNetInitialize()
496 Status = VirtioNetInitRx (Dev); in VirtioNetInitialize()
501 Dev->Snm.State = EfiSimpleNetworkInitialized; in VirtioNetInitialize()
506 VirtioNetShutdownTx (Dev); in VirtioNetInitialize()
509 Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0); in VirtioNetInitialize()
512 VirtioRingUninit (&Dev->TxRing); in VirtioNetInitialize()
515 VirtioRingUninit (&Dev->RxRing); in VirtioNetInitialize()
521 Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0); in VirtioNetInitialize()