|
@@ -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) {
|