sfc: Merged efx_page_offset() into efx_rx_buf_offset()
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 16 May 2008 20:16:31 +0000 (21:16 +0100)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 22 May 2008 09:59:28 +0000 (05:59 -0400)
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/sfc/rx.c

index f15d33225342c7a7a89ab308944f0a829bc9eb5d..88f87ef5e15f55f8dd477cce325517546cd8f5b7 100644 (file)
@@ -86,16 +86,12 @@ static unsigned int rx_refill_limit = 95;
  */
 #define EFX_RXD_HEAD_ROOM 2
 
-static inline unsigned int efx_page_offset(void *p)
-{
-       return (__force unsigned int)p & (PAGE_SIZE - 1);
-}
 static inline unsigned int efx_rx_buf_offset(struct efx_rx_buffer *buf)
 {
        /* Offset is always within one page, so we don't need to consider
         * the page order.
         */
-       return efx_page_offset(buf->data);
+       return (__force unsigned long) buf->data & (PAGE_SIZE - 1);
 }
 static inline unsigned int efx_rx_buf_size(struct efx_nic *efx)
 {
@@ -291,10 +287,10 @@ static inline int efx_init_rx_buffer_page(struct efx_rx_queue *rx_queue,
                                      EFX_PAGE_IP_ALIGN);
        }
 
-       offset = efx_page_offset(rx_queue->buf_data);
        rx_buf->len = bytes;
-       rx_buf->dma_addr = rx_queue->buf_dma_addr + offset;
        rx_buf->data = rx_queue->buf_data;
+       offset = efx_rx_buf_offset(rx_buf);
+       rx_buf->dma_addr = rx_queue->buf_dma_addr + offset;
 
        /* Try to pack multiple buffers per page */
        if (efx->rx_buffer_order == 0) {