The Gem controller supports scatter/gather IO, and checksum computation (for IP, TCP, UDP) can be offloaded to the controller.
Section 16 of the TRM describes the Gem controller. Section 16.3 is a programming guide.
The U-boot driver configures 32 receive buffers. It would be worth looking at the presumably more elaborate linux driver to see what it does.
Tom's software pages / tom@mmto.org