On 18 February 2016 at 17:01, Laszlo Ersek <[email protected]> wrote:
> On 02/18/16 12:21, Shivamurthy Shastri wrote: > > Hi All, > > > > Please let me know your opinion about this patch. > > The subject of your patch doesn't identify the top-level package that > the patch touches: OptionRomPkg. > > You also didn't CC the maintainer(s) of OptionRomPkg on your posting > (see "Maintainers.txt"): > > OptionRomPkg > W: https://github.com/tianocore/tianocore.github.io/wiki/OptionRomPkg > M: Ruiyu Ni <[email protected]> > > CC'ing Ray now. > > Thanks > Laszlo > > > > > -- > > > > Thanks and Regards, > > > > Shivamurthy Shastri, > > > > M: +919742508553, IRC: shiva_murthy, > > *Linaro.org* |Open Source Software for ARM SOCs > > > > > > ---------- Forwarded message ---------- > > From: Shivamurthy Shastri <[email protected]> > > Date: 10 February 2016 at 19:42 > > Subject: [edk2] [PATCH] Ax88772b: Workaround access to RXQTC register > with > > Apple Ethernet Adapter > > To: [email protected] > > Cc: [email protected], Shivamurthy Shastri < > > [email protected]> > > > > > > The USB command CMD_RXQTC ("RX Queue Cascade Threshold Control") tries > > to access the register and is always failing when using the Apple > > Ethernet adapter. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Shivamurthy Shastri <[email protected]> > > --- > > .../Bus/Usb/UsbNetworking/Ax88772b/Ax88772.c | 15 +++++---- > > .../Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h | 2 ++ > > .../Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c | 39 > > ++++++++++++++++++++++ > > 3 files changed, 50 insertions(+), 6 deletions(-) > > > > diff --git a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.c > > b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.c > > index 45ba3e5..b3fefb1 100644 > > --- a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.c > > +++ b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.c > > @@ -625,15 +625,18 @@ Ax88772Reset ( > > > > if (EFI_ERROR(Status)) goto err; > > > > - SetupMsg.RequestType = USB_REQ_TYPE_VENDOR > > + if (pNicDevice->Flags != FLAG_TYPE_AX88772) { > > + SetupMsg.RequestType = USB_REQ_TYPE_VENDOR > > | USB_TARGET_DEVICE; > > - SetupMsg.Request = CMD_RXQTC; > > - SetupMsg.Value = 0x8000; > > - SetupMsg.Index = 0x8001; > > - SetupMsg.Length = 0; > > - Status = Ax88772UsbCommand ( pNicDevice, > > + SetupMsg.Request = CMD_RXQTC; > > + SetupMsg.Value = 0x8000; > > + SetupMsg.Index = 0x8001; > > + SetupMsg.Length = 0; > > + Status = Ax88772UsbCommand ( pNicDevice, > > &SetupMsg, > > NULL ); > > + } > > + > > err: > > return Status; > > } > > diff --git a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h > > b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h > > index 816f2b2..a85c998 100644 > > --- a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h > > +++ b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h > > @@ -407,6 +407,8 @@ typedef struct { > > RX_PKT * pFirstFill; > > UINTN PktCntInQueue; > > UINT8 * pBulkInBuff; > > + > > + INT32 Flags; > > > > } NIC_DEVICE; > > > > diff --git a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c > > b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c > > index 6a10cbf..46a2ef9 100644 > > --- a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c > > +++ b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c > > @@ -124,6 +124,8 @@ DriverStart ( > > UINTN > > LengthInBytes; > > EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath = NULL; > > MAC_ADDR_DEVICE_PATH MacDeviceNode; > > + EFI_USB_DEVICE_DESCRIPTOR Device; > > + UINT32 i; > > > > // > > // Allocate the device structure > > @@ -178,6 +180,43 @@ DriverStart ( > > goto EXIT; > > } > > > > + Status = pNicDevice->pUsbIo->UsbGetDeviceDescriptor ( > > pNicDevice->pUsbIo, &Device ); > > + if (EFI_ERROR ( Status )) { > > + gBS->CloseProtocol ( > > + Controller, > > + &gEfiUsbIoProtocolGuid, > > + pThis->DriverBindingHandle, > > + Controller > > + ); > > + gBS->FreePool ( pNicDevice ); > > + goto EXIT; > > + } > > + else { > > + // > > + // Validate the adapter > > + // > > + for (i = 0; ASIX_DONGLES[i].VendorId != 0; i++) { > > + if (ASIX_DONGLES[i].VendorId == Device.IdVendor && > > + ASIX_DONGLES[i].ProductId == Device.IdProduct) { > > + break; > > + } > > + } > > + > > + if (ASIX_DONGLES[i].VendorId == 0) { > > + gBS->CloseProtocol ( > > + Controller, > > + &gEfiUsbIoProtocolGuid, > > + pThis->DriverBindingHandle, > > + Controller > > + ); > > + gBS->FreePool ( pNicDevice ); > > + goto EXIT; > > + } > > + > > + pNicDevice->Flags = ASIX_DONGLES[i].Flags; > > + } > > + > > + > > // > > // Set Device Path > > // > > -- > > 1.9.1 > > _______________________________________________ > > edk2-devel mailing list > > [email protected] > > https://lists.01.org/mailman/listinfo/edk2-devel > > > > Hi Ruiyu Ni, Please look into the patch. Thanks, Shiva _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

