~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/net/sfc/efx.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/****************************************************************************
2
2
 * Driver for Solarflare Solarstorm network controllers and boards
3
3
 * Copyright 2005-2006 Fen Systems Ltd.
4
 
 * Copyright 2006-2009 Solarflare Communications Inc.
 
4
 * Copyright 2006-2010 Solarflare Communications Inc.
5
5
 *
6
6
 * This program is free software; you can redistribute it and/or modify it
7
7
 * under the terms of the GNU General Public License version 2 as published
29
29
extern int efx_probe_tx_queue(struct efx_tx_queue *tx_queue);
30
30
extern void efx_remove_tx_queue(struct efx_tx_queue *tx_queue);
31
31
extern void efx_init_tx_queue(struct efx_tx_queue *tx_queue);
 
32
extern void efx_init_tx_queue_core_txq(struct efx_tx_queue *tx_queue);
32
33
extern void efx_fini_tx_queue(struct efx_tx_queue *tx_queue);
33
34
extern void efx_release_tx_buffers(struct efx_tx_queue *tx_queue);
34
35
extern netdev_tx_t
36
37
extern netdev_tx_t
37
38
efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb);
38
39
extern void efx_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index);
 
40
extern int efx_setup_tc(struct net_device *net_dev, u8 num_tc);
39
41
 
40
42
/* RX */
41
43
extern int efx_probe_rx_queue(struct efx_rx_queue *rx_queue);
74
76
                                    struct efx_filter_spec *spec);
75
77
extern void efx_filter_clear_rx(struct efx_nic *efx,
76
78
                                enum efx_filter_priority priority);
 
79
#ifdef CONFIG_RFS_ACCEL
 
80
extern int efx_filter_rfs(struct net_device *net_dev, const struct sk_buff *skb,
 
81
                          u16 rxq_index, u32 flow_id);
 
82
extern bool __efx_filter_rfs_expire(struct efx_nic *efx, unsigned quota);
 
83
static inline void efx_filter_rfs_expire(struct efx_channel *channel)
 
84
{
 
85
        if (channel->rfs_filters_added >= 60 &&
 
86
            __efx_filter_rfs_expire(channel->efx, 100))
 
87
                channel->rfs_filters_added -= 60;
 
88
}
 
89
#define efx_filter_rfs_enabled() 1
 
90
#else
 
91
static inline void efx_filter_rfs_expire(struct efx_channel *channel) {}
 
92
#define efx_filter_rfs_enabled() 0
 
93
#endif
77
94
 
78
95
/* Channels */
79
96
extern void efx_process_channel_now(struct efx_channel *channel);
125
142
 
126
143
extern void efx_link_status_changed(struct efx_nic *efx);
127
144
extern void efx_link_set_advertising(struct efx_nic *efx, u32);
128
 
extern void efx_link_set_wanted_fc(struct efx_nic *efx, enum efx_fc_type);
 
145
extern void efx_link_set_wanted_fc(struct efx_nic *efx, u8);
129
146
 
130
147
#endif /* EFX_EFX_H */