|
@@ -317,26 +317,6 @@ static void efx_remove_eventq(struct efx_channel *channel)
|
|
|
*
|
|
|
*************************************************************************/
|
|
|
|
|
|
-/* Setup per-NIC RX buffer parameters.
|
|
|
- * Calculate the rx buffer allocation parameters required to support
|
|
|
- * the current MTU, including padding for header alignment and overruns.
|
|
|
- */
|
|
|
-static void efx_calc_rx_buffer_params(struct efx_nic *efx)
|
|
|
-{
|
|
|
- unsigned int order, len;
|
|
|
-
|
|
|
- len = (max(EFX_PAGE_IP_ALIGN, NET_IP_ALIGN) +
|
|
|
- EFX_MAX_FRAME_LEN(efx->net_dev->mtu) +
|
|
|
- efx->type->rx_buffer_padding);
|
|
|
-
|
|
|
- /* Calculate page-order */
|
|
|
- for (order = 0; ((1u << order) * PAGE_SIZE) < len; ++order)
|
|
|
- ;
|
|
|
-
|
|
|
- efx->rx_buffer_len = len;
|
|
|
- efx->rx_buffer_order = order;
|
|
|
-}
|
|
|
-
|
|
|
static int efx_probe_channel(struct efx_channel *channel)
|
|
|
{
|
|
|
struct efx_tx_queue *tx_queue;
|
|
@@ -387,7 +367,14 @@ static int efx_init_channels(struct efx_nic *efx)
|
|
|
struct efx_channel *channel;
|
|
|
int rc = 0;
|
|
|
|
|
|
- efx_calc_rx_buffer_params(efx);
|
|
|
+ /* Calculate the rx buffer allocation parameters required to
|
|
|
+ * support the current MTU, including padding for header
|
|
|
+ * alignment and overruns.
|
|
|
+ */
|
|
|
+ efx->rx_buffer_len = (max(EFX_PAGE_IP_ALIGN, NET_IP_ALIGN) +
|
|
|
+ EFX_MAX_FRAME_LEN(efx->net_dev->mtu) +
|
|
|
+ efx->type->rx_buffer_padding);
|
|
|
+ efx->rx_buffer_order = get_order(efx->rx_buffer_len);
|
|
|
|
|
|
/* Initialise the channels */
|
|
|
efx_for_each_channel(channel, efx) {
|