-
François Romieu authored
Rework of the Rx buffers allocation: - Rx irq handler (velocity_rx_srv): defer the Rx buffer allocation until the packet processing loop is done; - a separate index related to the Rx descriptor ("rd_dirty") is introduced to distinguish the first Rx descriptor whose buffer has to be refilled. This way the driver does not need to confuse this descriptor with the most recently netif()ed one. Rationale: batch + rx_copybreak; - dirty/empty Rx descriptors are identified through the whole driver via an adequate NULL pointer in the velocity_rd_info[] array (see velocity_rx_refill() and velocity_receive_frame()); - Rx descriptors need to be grouped by a multiple of 4 before they can be handed back to the asic (hardware constraint). This task is moved from the Rx processing loop to the Rx refill function; - factorization of code in velocity_init_rd_ring().
0accc7c5