Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
net
ethernet
chelsio
cxgb
sge.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* *
3
* File: sge.h *
4
* $Revision: 1.11 $ *
5
* $Date: 2005/06/21 22:10:55 $ *
6
* Description: *
7
* part of the Chelsio 10Gb Ethernet Driver. *
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License, version 2, as *
11
* published by the Free Software Foundation. *
12
* *
13
* You should have received a copy of the GNU General Public License along *
14
* with this program; if not, write to the Free Software Foundation, Inc., *
15
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
16
* *
17
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED *
18
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF *
19
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *
20
* *
21
* http://www.chelsio.com *
22
* *
23
* Copyright (c) 2003 - 2005 Chelsio Communications, Inc. *
24
* All rights reserved. *
25
* *
26
* Maintainers:
[email protected]
*
27
* *
28
* Authors: Dimitrios Michailidis <
[email protected]
> *
29
* Tina Yang <
[email protected]
> *
30
* Felix Marti <
[email protected]
> *
31
* Scott Bardone <
[email protected]
> *
32
* Kurt Ottaway <
[email protected]
> *
33
* Frank DiMambro <
[email protected]
> *
34
* *
35
* History: *
36
* *
37
****************************************************************************/
38
39
#ifndef _CXGB_SGE_H_
40
#define _CXGB_SGE_H_
41
42
#include <linux/types.h>
43
#include <
linux/interrupt.h
>
44
#include <asm/byteorder.h>
45
46
struct
sge_intr_counts
{
47
unsigned
int
rx_drops
;
/* # of packets dropped due to no mem */
48
unsigned
int
pure_rsps
;
/* # of non-payload responses */
49
unsigned
int
unhandled_irqs
;
/* # of unhandled interrupts */
50
unsigned
int
respQ_empty
;
/* # times respQ empty */
51
unsigned
int
respQ_overflow
;
/* # respQ overflow (fatal) */
52
unsigned
int
freelistQ_empty
;
/* # times freelist empty */
53
unsigned
int
pkt_too_big
;
/* packet too large (fatal) */
54
unsigned
int
pkt_mismatch
;
55
unsigned
int
cmdQ_full
[3];
/* not HW IRQ, host cmdQ[] full */
56
unsigned
int
cmdQ_restarted
[3];
/* # of times cmdQ X was restarted */
57
};
58
59
struct
sge_port_stats
{
60
u64
rx_cso_good
;
/* # of successful RX csum offloads */
61
u64
tx_cso
;
/* # of TX checksum offloads */
62
u64
tx_tso
;
/* # of TSO requests */
63
u64
vlan_xtract
;
/* # of VLAN tag extractions */
64
u64
vlan_insert
;
/* # of VLAN tag insertions */
65
u64
tx_need_hdrroom
;
/* # of TX skbs in need of more header room */
66
};
67
68
struct
sk_buff
;
69
struct
net_device
;
70
struct
adapter
;
71
struct
sge_params
;
72
struct
sge
;
73
74
struct
sge
*
t1_sge_create
(
struct
adapter
*,
struct
sge_params
*);
75
int
t1_sge_configure
(
struct
sge
*,
struct
sge_params
*);
76
int
t1_sge_set_coalesce_params
(
struct
sge
*,
struct
sge_params
*);
77
void
t1_sge_destroy
(
struct
sge
*);
78
irqreturn_t
t1_interrupt
(
int
irq,
void
*
cookie
);
79
int
t1_poll
(
struct
napi_struct
*,
int
);
80
81
netdev_tx_t
t1_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
82
void
t1_vlan_mode
(
struct
adapter
*
adapter
,
netdev_features_t
features
);
83
void
t1_sge_start
(
struct
sge
*);
84
void
t1_sge_stop
(
struct
sge
*);
85
int
t1_sge_intr_error_handler
(
struct
sge
*);
86
void
t1_sge_intr_enable
(
struct
sge
*);
87
void
t1_sge_intr_disable
(
struct
sge
*);
88
void
t1_sge_intr_clear
(
struct
sge
*);
89
const
struct
sge_intr_counts
*
t1_sge_get_intr_counts
(
const
struct
sge
*
sge
);
90
void
t1_sge_get_port_stats
(
const
struct
sge
*
sge
,
int
port
,
struct
sge_port_stats
*);
91
unsigned
int
t1_sched_update_parms
(
struct
sge
*,
unsigned
int
,
unsigned
int
,
92
unsigned
int
);
93
94
#endif
/* _CXGB_SGE_H_ */
Generated on Thu Jan 10 2013 14:00:08 for Linux Kernel by
1.8.2