Skip to content

Commit

Permalink
sfc: Simplified efx_rx_calc_buffer_size() using get_order()
Browse files Browse the repository at this point in the history
Merged it into its only caller, efx_init_channels().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
  • Loading branch information
Ben Hutchings authored and Jeff Garzik committed May 22, 2008
1 parent 91ad757 commit f7f13b0
Showing 1 changed file with 8 additions and 21 deletions.
29 changes: 8 additions & 21 deletions drivers/net/sfc/efx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit f7f13b0

Please sign in to comment.