Hi RichardHo,

This driver has interested me.
I've ported your driver to tinh_ampere_edk2 ( 
https://github.com/tinhnampere/edk2/tree/support_usbnet ) and 
tinh_ampere_edk2_platform ( 
https://github.com/tinhnampere/edk2-platforms/tree/support_usbnet ).
I'm having the same issue with our USB CDC ECM driver, which we've already 
published here Ampere USB CDC Net ( 
https://github.com/AmpereComputing/edk2-platforms/tree/ampere/Platform/Ampere/AmperePlatformPkg/Drivers/UsbCdcEthernetDxe
 ).
That is a bug in polling performance; we also have a thread with the same issue 
USB Net for Aarch64 platform ( 
https://edk2.groups.io/g/devel/topic/30905775#9791, )

Currently, on the Jade platform (use your USB net driver), performance is quite 
low and the OS cannot be booted.

The root cause is that we spend a long time waiting for USB UsbBulkTransfer to 
complete, but if there is no data to communicate
-> it will always time out.

I have no idea why the polling time of MNP is 10 ms
#define MNP_SYS_POLL_INTERVAL (10 * TICKS_PER_MS) // 10 milliseconds,
But I don't see why it should be changed; it could have some unexpected 
consequences for other platforms.

I have a workaground for Ampere usb net driver: I include a function like 
"filter," "slow down," or something similar. If there are a lot of transaction 
timeouts, I reject some income requests from the upper layer. I've already 
tried it on your driver tinh_ampere_edk2 ( 
https://github.com/tinhnampere/edk2/tree/support_usbnet ) , and it works .

Anyway, hope you can solve this problem; I think many platforms are 
experiencing the same issue.

Thanks,
Tinh Nguyen


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98205): https://edk2.groups.io/g/devel/message/98205
Mute This Topic: https://groups.io/mt/95531719/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to