aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/rx.c
Commit message (Collapse)AuthorAge
...
| * sfc: Fix assignment of ip_summed for pre-allocated skbsBen Hutchings2012-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When pre-allocating skbs for received packets, we set ip_summed = CHECKSUM_UNNCESSARY. We used to change it back to CHECKSUM_NONE when the received packet had an incorrect checksum or unhandled protocol. Commit bc8acf2c8c3e43fcc192762a9f964b3e9a17748b ('drivers/net: avoid some skb->ip_summed initializations') mistakenly replaced the latter assignment with a DEBUG-only assertion that ip_summed == CHECKSUM_NONE. This assertion is always false, but it seems no-one has exercised this code path in a DEBUG build. Fix this by moving our assignment of CHECKSUM_UNNECESSARY into efx_rx_packet_gro(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | sfc: Leave interrupts and event queues enabled whenever we canBen Hutchings2012-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When SR-IOV is enabled we may receive FLR (Function-Level Reset) events, associated queue flush events and requests from VF drivers at any time. Therefore we need to keep event queues and interrupts enabled whenever possible. Currently we stop interrupt-driven event processing before flushing RX and TX queues; efx_nic_flush_queues() then polls event queues for flush events and discards any others it finds. Change it to work with the regular event handling functions. Currently efx_start_channel() fills RX queues synchronously when a device is brought up. This could now race with NAPI, so change it to send fill events. This was almost entirely written by Steve Hodgson, formerly shodgson@solarflare.com. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | sfc: Generate RX fill events based on RX queues, not channelsBen Hutchings2012-02-15
| | | | | | | | | | | | | | This makes it harder to accidentally send such events to TX-only channels. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | sfc: Use a more sensible cast in efx_rx_buf_offset()Ben Hutchings2012-01-30
| | | | | | | | | | | | | | | | | | | | | | This function returns the page offset of the buffer, which can be calculated based on either its DMA address or its virtual address. It used to use the virtual address and we would cast that to unsigned long, as anything smaller would result in a compiler warning. Now that it's using the DMA address we should use unsigned int, matching the return type. It is also unnecessary to use __force. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | sfc: Replace efx_rx_buffer::is_page and other booleans with a flags fieldBen Hutchings2012-01-26
| | | | | | | | | | | | | | Replace checksummed and discard booleans from efx_handle_rx_event() with a bitmask, added to the flags field. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | sfc: Move the end of the non-GRO RX path into its own functionBen Hutchings2012-01-26
| | | | | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | sfc: Remove parentheses around return expressions, reported by checkpatchBen Hutchings2012-01-05
|/ | | | | | | | Fix the following error: ERROR: return is not a function, parentheses are not required Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* sfc: Use skb_fill_page_desc() to simplify passing of page buffers to GROBen Hutchings2011-12-16
| | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* sfc: Use kcalloc instead of kzalloc to allocate arrayThomas Meyer2011-12-04
| | | | | | | | | | | | The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. The semantic patch that makes this change is available in https://lkml.org/lkml/2011/11/25/107 Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* drivers/net: Add moduleparam.h to drivers as required.Paul Gortmaker2011-10-31
| | | | | | | | These files were using moduleparam infrastructure, but were not including anything for it -- which is fine when module.h is being implicitly included in all files, but that is going away. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* net: add skb frag size accessorsEric Dumazet2011-10-19
| | | | | | | | | | | To ease skb->truesize sanitization, its better to be able to localize all references to skb frags size. Define accessors : skb_frag_size() to fetch frag size, and skb_frag_size_{set|add|sub}() to manipulate it. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* sfc: convert to SKB paged frag API.Ian Campbell2011-09-22
| | | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com> Cc: Steve Hodgson <shodgson@solarflare.com> Cc: Ben Hutchings <bhutchings@solarflare.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
* sfc: Move the Solarflare driversJeff Kirsher2011-08-11
Moves the Solarflare drivers into drivers/net/ethernet/sfc/ and make the necessary Kconfig and Makefile changes. CC: Steve Hodgson <shodgson@solarflare.com> CC: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>