Home | History | Annotate | Download | only in VirtioNetDxe

Lines Matching defs:Dev

31   @param[in,out] Dev       The VNET_DEV driver instance about to enter the

49 IN OUT VNET_DEV *Dev,
60 Status = Dev->VirtIo->SetQueueSel (Dev->VirtIo, Selector);
64 Status = Dev->VirtIo->GetQueueNumMax (Dev->VirtIo, &QueueSize);
85 Status = Dev->VirtIo->SetQueueNum (Dev->VirtIo, QueueSize);
90 Status = Dev->VirtIo->SetQueueAlign (Dev->VirtIo, EFI_PAGE_SIZE);
98 Status = Dev->VirtIo->SetQueueAddress (Dev->VirtIo,
127 @param[in,out] Dev The VNET_DEV driver instance about to enter the
139 IN OUT VNET_DEV *Dev
144 Dev->TxMaxPending = (UINT16) MIN (Dev->TxRing.QueueSize / 2,
146 Dev->TxCurPending = 0;
147 Dev->TxFreeStack = AllocatePool (Dev->TxMaxPending *
148 sizeof *Dev->TxFreeStack);
149 if (Dev->TxFreeStack == NULL) {
153 for (PktIdx = 0; PktIdx < Dev->TxMaxPending; ++PktIdx) {
157 Dev->TxFreeStack[PktIdx] = DescIdx;
163 Dev->TxRing.Desc[DescIdx].Addr = (UINTN) &Dev->TxSharedReq;
164 Dev->TxRing.Desc[DescIdx].Len = sizeof Dev->TxSharedReq;
165 Dev->TxRing.Desc[DescIdx].Flags = VRING_DESC_F_NEXT;
166 Dev->TxRing.Desc[DescIdx].Next = (UINT16) (DescIdx + 1);
172 Dev->TxRing.Desc[DescIdx + 1].Flags = 0;
178 Dev->TxSharedReq.Flags = 0;
179 Dev->TxSharedReq.GsoType = VIRTIO_NET_HDR_GSO_NONE;
185 Dev->TxLastUsed = *Dev->TxRing.Used.Idx;
186 ASSERT (Dev->TxLastUsed == 0);
191 *Dev->TxRing.Avail.Flags = (UINT16) VRING_AVAIL_F_NO_INTERRUPT;
210 @param[in,out] Dev The VNET_DEV driver instance about to enter the
223 IN OUT VNET_DEV *Dev
240 (Dev->Snm.MediaHeaderSize + Dev->Snm.MaxPacketSize);
246 RxAlwaysPending = (UINT16) MIN (Dev->RxRing.QueueSize / 2, VNET_MAX_PENDING);
248 Dev->RxBuf = AllocatePool (RxAlwaysPending * RxBufSize);
249 if (Dev->RxBuf == NULL) {
257 Dev->RxLastUsed = *Dev->RxRing.Used.Idx;
258 ASSERT (Dev->RxLastUsed == 0);
265 *Dev->RxRing.Avail.Flags = (UINT16) VRING_AVAIL_F_NO_INTERRUPT;
272 RxPtr = Dev->RxBuf;
278 Dev->RxRing.Avail.Ring[PktIdx] = DescIdx;
283 Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr;
284 Dev->RxRing.Desc[DescIdx].Len = sizeof (VIRTIO_NET_REQ);
285 Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE | VRING_DESC_F_NEXT;
286 Dev->RxRing.Desc[DescIdx].Next = (UINT16) (DescIdx + 1);
287 RxPtr += Dev->RxRing.Desc[DescIdx++].Len;
289 Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr;
290 Dev->RxRing.Desc[DescIdx].Len = (UINT32) (RxBufSize -
292 Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE;
293 RxPtr += Dev->RxRing.Desc[DescIdx++].Len;
300 *Dev->RxRing.Avail.Idx = RxAlwaysPending;
311 Status = Dev->VirtIo->SetQueueNotify (Dev->VirtIo, VIRTIO_NET_Q_RX);
313 Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0);
314 FreePool (Dev->RxBuf);
359 VNET_DEV *Dev;
372 Dev = VIRTIO_NET_FROM_SNP (This);
374 if (Dev->Snm.State != EfiSimpleNetworkStarted) {
389 Status = Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, NextDevStat);
395 Status = Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, NextDevStat);
403 Status = Dev->VirtIo->SetPageSize (Dev->VirtIo, EFI_PAGE_SIZE);
412 Status = Dev->VirtIo->GetDeviceFeatures (Dev->VirtIo, &Features);
418 ASSERT (Dev->Snm.MediaPresentSupported ==
424 Status = VirtioNetInitRing (Dev, VIRTIO_NET_Q_RX, &Dev->RxRing);
429 Status = VirtioNetInitRing (Dev, VIRTIO_NET_Q_TX, &Dev->TxRing);
438 Status = Dev->VirtIo->SetGuestFeatures (Dev->VirtIo, Features);
447 Status = Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, NextDevStat);
452 Status = VirtioNetInitTx (Dev);
460 Status = VirtioNetInitRx (Dev);
465 Dev->Snm.State = EfiSimpleNetworkInitialized;
470 VirtioNetShutdownTx (Dev);
473 Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0);
476 VirtioRingUninit (&Dev->TxRing);
479 VirtioRingUninit (&Dev->RxRing);
485 Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0);