head	1.20;
access;
symbols
	RELENG_8_4:1.20.0.2
	RELENG_9_1_0_RELEASE:1.18.2.2.2.2
	RELENG_9_1:1.18.2.2.0.2
	RELENG_9_1_BP:1.18.2.2
	RELENG_8_3_0_RELEASE:1.17.2.1.8.1
	RELENG_8_3:1.17.2.1.0.8
	RELENG_8_3_BP:1.17.2.1
	RELENG_9_0_0_RELEASE:1.18.2.1.2.1
	RELENG_9_0:1.18.2.1.0.2
	RELENG_9_0_BP:1.18.2.1
	RELENG_9:1.18.0.2
	RELENG_9_BP:1.18
	RELENG_7_4_0_RELEASE:1.10.2.4.8.1
	RELENG_8_2_0_RELEASE:1.17.2.1.6.1
	RELENG_7_4:1.10.2.4.0.8
	RELENG_7_4_BP:1.10.2.4
	RELENG_8_2:1.17.2.1.0.6
	RELENG_8_2_BP:1.17.2.1
	RELENG_8_1_0_RELEASE:1.17.2.1.4.1
	RELENG_8_1:1.17.2.1.0.4
	RELENG_8_1_BP:1.17.2.1
	RELENG_7_3_0_RELEASE:1.10.2.4.6.1
	RELENG_7_3:1.10.2.4.0.6
	RELENG_7_3_BP:1.10.2.4
	RELENG_8_0_0_RELEASE:1.17.2.1.2.1
	RELENG_8_0:1.17.2.1.0.2
	RELENG_8_0_BP:1.17.2.1
	RELENG_8:1.17.0.2
	RELENG_8_BP:1.17
	RELENG_7_2_0_RELEASE:1.10.2.4.4.1
	RELENG_7_2:1.10.2.4.0.4
	RELENG_7_2_BP:1.10.2.4
	RELENG_7_1_0_RELEASE:1.10.2.4.2.1
	RELENG_6_4_0_RELEASE:1.3.2.6.4.1
	RELENG_7_1:1.10.2.4.0.2
	RELENG_7_1_BP:1.10.2.4
	RELENG_6_4:1.3.2.6.0.4
	RELENG_6_4_BP:1.3.2.6
	RELENG_7_0_0_RELEASE:1.10
	RELENG_6_3_0_RELEASE:1.3.2.6
	RELENG_7_0:1.10.0.4
	RELENG_7_0_BP:1.10
	RELENG_6_3:1.3.2.6.0.2
	RELENG_6_3_BP:1.3.2.6
	RELENG_7:1.10.0.2
	RELENG_7_BP:1.10
	RELENG_6:1.3.0.2;
locks; strict;
comment	@# @;


1.20
date	2012.11.17.01.52.54;	author svnexp;	state Exp;
branches
	1.20.2.1;
next	1.19;

1.19
date	2012.06.19.07.34.13;	author np;	state Exp;
branches;
next	1.18;

1.18
date	2010.08.23.06.13.29;	author imp;	state Exp;
branches
	1.18.2.1;
next	1.17;

1.17
date	2008.12.15.06.10.57;	author qingli;	state Exp;
branches
	1.17.2.1;
next	1.16;

1.16
date	2008.09.24.01.19.08;	author kmacy;	state Exp;
branches;
next	1.15;

1.15
date	2008.05.06.02.31.27;	author kmacy;	state Exp;
branches;
next	1.14;

1.14
date	2008.05.05.20.21.20;	author kmacy;	state Exp;
branches;
next	1.13;

1.13
date	2008.02.26.03.02.19;	author kmacy;	state Exp;
branches;
next	1.12;

1.12
date	2007.12.17.08.17.50;	author kmacy;	state Exp;
branches;
next	1.11;

1.11
date	2007.12.15.22.03.18;	author kmacy;	state Exp;
branches;
next	1.10;

1.10
date	2007.09.09.01.28.02;	author kmacy;	state Exp;
branches
	1.10.2.1;
next	1.9;

1.9
date	2007.07.17.06.50.35;	author kmacy;	state Exp;
branches;
next	1.8;

1.8
date	2007.06.13.05.35.59;	author kmacy;	state Exp;
branches;
next	1.7;

1.7
date	2007.05.28.22.57.27;	author kmacy;	state Exp;
branches;
next	1.6;

1.6
date	2007.05.25.09.48.19;	author kmacy;	state Exp;
branches;
next	1.5;

1.5
date	2007.04.08.15.18.03;	author kmacy;	state Exp;
branches;
next	1.4;

1.4
date	2007.03.21.00.54.23;	author kmacy;	state Exp;
branches;
next	1.3;

1.3
date	2007.03.14.18.20.36;	author kmacy;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2007.03.14.06.41.34;	author kmacy;	state Exp;
branches;
next	1.1;

1.1
date	2007.03.14.02.47.38;	author kmacy;	state Exp;
branches;
next	;

1.20.2.1
date	2012.11.17.01.52.54;	author svnexp;	state dead;
branches;
next	1.20.2.2;

1.20.2.2
date	2013.03.28.13.05.19;	author svnexp;	state Exp;
branches;
next	;

1.18.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.18.2.1.2.1;
next	1.18.2.2;

1.18.2.2
date	2012.07.01.12.00.36;	author np;	state Exp;
branches
	1.18.2.2.2.1;
next	1.18.2.3;

1.18.2.3
date	2012.11.17.11.37.16;	author svnexp;	state Exp;
branches;
next	1.18.2.4;

1.18.2.4
date	2013.07.05.19.01.46;	author svnexp;	state Exp;
branches;
next	;

1.18.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.18.2.1.2.2;

1.18.2.1.2.2
date	2012.11.17.08.37.13;	author svnexp;	state Exp;
branches;
next	;

1.18.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.18.2.2.2.2;

1.18.2.2.2.2
date	2012.11.17.08.48.04;	author svnexp;	state Exp;
branches;
next	;

1.17.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.17.2.1.2.1
	1.17.2.1.4.1
	1.17.2.1.6.1
	1.17.2.1.8.1;
next	1.17.2.2;

1.17.2.2
date	2012.11.17.10.36.55;	author svnexp;	state Exp;
branches;
next	;

1.17.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.17.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.17.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.17.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.17.2.1.8.2;

1.17.2.1.8.2
date	2012.11.17.08.25.32;	author svnexp;	state Exp;
branches;
next	;

1.10.2.1
date	2008.04.18.02.45.38;	author kmacy;	state Exp;
branches;
next	1.10.2.2;

1.10.2.2
date	2008.07.28.23.37.33;	author kmacy;	state Exp;
branches;
next	1.10.2.3;

1.10.2.3
date	2008.07.31.22.57.52;	author kmacy;	state Exp;
branches;
next	1.10.2.4;

1.10.2.4
date	2008.07.31.23.19.30;	author kmacy;	state Exp;
branches
	1.10.2.4.2.1
	1.10.2.4.4.1
	1.10.2.4.6.1
	1.10.2.4.8.1;
next	1.10.2.5;

1.10.2.5
date	2012.11.17.08.06.45;	author svnexp;	state Exp;
branches;
next	;

1.10.2.4.2.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.10.2.4.4.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.10.2.4.6.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.10.2.4.8.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.10.2.4.8.2;

1.10.2.4.8.2
date	2012.11.17.08.17.26;	author svnexp;	state Exp;
branches;
next	;

1.3.2.1
date	2007.03.15.03.06.32;	author kmacy;	state Exp;
branches;
next	1.3.2.2;

1.3.2.2
date	2007.03.28.20.06.20;	author kmacy;	state Exp;
branches;
next	1.3.2.3;

1.3.2.3
date	2007.05.28.06.26.05;	author kmacy;	state Exp;
branches;
next	1.3.2.4;

1.3.2.4
date	2007.06.17.23.52.16;	author kmacy;	state Exp;
branches;
next	1.3.2.5;

1.3.2.5
date	2007.08.18.09.10.24;	author kmacy;	state Exp;
branches;
next	1.3.2.6;

1.3.2.6
date	2007.11.05.00.55.52;	author kmacy;	state Exp;
branches
	1.3.2.6.4.1;
next	1.3.2.7;

1.3.2.7
date	2012.11.17.07.44.16;	author svnexp;	state Exp;
branches;
next	;

1.3.2.6.4.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;


desc
@@


1.20
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/modules/cxgb/Makefile 237263 2012-06-19 07:34:13Z np $
SUBDIR= cxgb
SUBDIR+= cxgb_t3fw
SUBDIR+= ${_tom}
SUBDIR+= ${_iw_cxgb}

.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
_tom=		tom
_iw_cxgb=	iw_cxgb
.endif

.include <bsd.subdir.mk>
@


1.20.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:05:19 +0000
@
text
@d1 12
@


1.20.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 39
# $FreeBSD: releng/8.4/sys/modules/cxgb/Makefile 186119 2008-12-15 06:10:57Z qingli $
SUBDIR= cxgb
SUBDIR+= ${_toecore}
SUBDIR+= ${_tom}
SUBDIR+= ${_iw_cxgb}
SUBDIR+= cxgb_t3fw

.if defined(SYSDIR)
_sysdir = ${SYSDIR}
.endif

# Based on bsd.kmod.mk but we don't modify SYSDIR in this one.
.for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. \
    /sys /usr/src/sys
.if !defined(_sysdir) && exists(${_dir}/kern/) && exists(${_dir}/conf/kmod.mk)
_sysdir = ${_dir}
.endif
.endfor
.if !defined(_sysdir) || !exists(${_sysdir}/kern/) || \
    !exists(${_sysdir}/conf/kmod.mk)
.error "can't find kernel source tree"
.endif

_toe_header = ${_sysdir}/netinet/toedev.h

.if exists(${_toe_header})
_toecore = toecore
#_tom = tom
.endif

.if ${MACHINE_ARCH} == "i386" && exists(${_toe_header})
_iw_cxgb = iw_cxgb
.endif

.if ${MACHINE_ARCH} == "amd64" && exists(${_toe_header})
_iw_cxgb = iw_cxgb
.endif

.include <bsd.subdir.mk>
@


1.19
log
@SVN rev 237263 on 2012-06-19 07:34:13Z by np

- Updated TOE support in the kernel.

- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs.
  These are available as t3_tom and t4_tom modules that augment cxgb(4)
  and cxgbe(4) respectively.  The cxgb/cxgbe drivers continue to work as
  usual with or without these extra features.

- iWARP driver for Terminator 3 ASIC (kernel verbs).  T4 iWARP in the
  works and will follow soon.

Build-tested with make universe.

30s overview
============
What interfaces support TCP offload?  Look for TOE4 and/or TOE6 in the
capabilities of an interface:
# ifconfig -m | grep TOE

Enable/disable TCP offload on an interface (just like any other ifnet
capability):
# ifconfig cxgbe0 toe
# ifconfig cxgbe0 -toe

Which connections are offloaded?  Look for toe4 and/or toe6 in the
output of netstat and sockstat:
# netstat -np tcp | grep toe
# sockstat -46c | grep toe

Reviewed by:	bz, gnn
Sponsored by:	Chelsio communications.
MFC after:	~3 months (after 9.1, and after ensuring MFC is feasible)
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.18
log
@SVN rev 211690 on 2010-08-23 06:13:29Z by imp

MFtbemd:

Use MACHINE_CPUARCH in preference to MACHINE_ARCH.  The former is the
source code location of the machine, the latter the binary output.  In
general, we want to use MACHINE_CPUARCH instead of MACHINE_ARCH unless
we're tesitng for a specific target.  The isn't even moot for
i386/amd64 where there's momemntum towards a MACHINE_CPUARCH == x86,
although a specific cleanup for that likely would be needed...
@
text
@d3 1
a3 1
SUBDIR+= ${_toecore}
a5 28
SUBDIR+= cxgb_t3fw

.if defined(SYSDIR)
_sysdir = ${SYSDIR}
.endif

# Based on bsd.kmod.mk but we don't modify SYSDIR in this one.
.for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. \
    /sys /usr/src/sys
.if !defined(_sysdir) && exists(${_dir}/kern/) && exists(${_dir}/conf/kmod.mk)
_sysdir = ${_dir}
.endif
.endfor
.if !defined(_sysdir) || !exists(${_sysdir}/kern/) || \
    !exists(${_sysdir}/conf/kmod.mk)
.error "can't find kernel source tree"
.endif

_toe_header = ${_sysdir}/netinet/toedev.h

.if exists(${_toe_header})
_toecore = toecore
#_tom = tom
.endif

.if ${MACHINE_CPUARCH} == "i386" && exists(${_toe_header})
_iw_cxgb = iw_cxgb
.endif
d7 3
a9 2
.if ${MACHINE_CPUARCH} == "amd64" && exists(${_toe_header})
_iw_cxgb = iw_cxgb
@


1.18.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.18.2.2
log
@SVN rev 237920 on 2012-07-01 12:00:36Z by np

Backport just the sys/{dev,modules}/cxgb{,e}/ parts of r237263, and then
disable the TOE and iWARP modules in the Makefiles (they won't compile
without the rest of r237263).

This reduces diffs between the cxgb/cxgbe drivers in head and 9 and
makes it easy to MFC other fixes to 9.
@
text
@d3 3
a6 2
#SUBDIR+= ${_tom}
#SUBDIR+= ${_iw_cxgb}
d8 29
a36 3
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
_tom=		tom
_iw_cxgb=	iw_cxgb
@


1.18.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/modules/cxgb/Makefile 237920 2012-07-01 12:00:36Z np $
@


1.18.2.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/252814
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/modules/cxgb/Makefile 252814 2013-07-05 18:27:38Z np $
d4 1
a4 1
SUBDIR+= ${_tom}
@


1.18.2.2.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.18.2.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/modules/cxgb/Makefile 237920 2012-07-01 12:00:36Z np $
@


1.18.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.18.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/modules/cxgb/Makefile 211690 2010-08-23 06:13:29Z imp $
@


1.17
log
@SVN rev 186119 on 2008-12-15 06:10:57Z by qingli

This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
   possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
  the last piece of the puzzle, Kip has also been conducting
  active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
  provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
  me maintaining that branch before the svn conversion
@
text
@d31 1
a31 1
.if ${MACHINE_ARCH} == "i386" && exists(${_toe_header})
d35 1
a35 1
.if ${MACHINE_ARCH} == "amd64" && exists(${_toe_header})
@


1.17.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.17.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/modules/cxgb/Makefile 186119 2008-12-15 06:10:57Z qingli $
@


1.17.2.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.17.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/modules/cxgb/Makefile 186119 2008-12-15 06:10:57Z qingli $
@


1.17.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.17.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.17.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.16
log
@SVN rev 183321 on 2008-09-24 01:19:08Z by kmacy

- Remove default NIC dependency on ulp headers
- make toe module build dependent on kernel support

Submitted by:	Chelsio Inc.
MFC after:	1 week
@
text
@d28 1
a28 1
_tom = tom
@


1.15
log
@only build iw_cxgb on i386 and amd64
@
text
@d3 2
a4 2
SUBDIR+= toecore
SUBDIR+= tom
d8 24
a31 1
.if ${MACHINE_ARCH} == "i386"
d35 1
a35 1
.if ${MACHINE_ARCH} == "amd64"
@


1.14
log
@add iw_cxgb to the build
@
text
@d5 1
a5 1
SUBDIR+= iw_cxgb
d8 8
@


1.13
log
@Move firmware in to separate module that can be compiled statically in to the kernel
Add utility for converting future firmware revs to a C header file
@
text
@d5 1
a5 1
#SUBDIR+= iw_cxgb
@


1.12
log
@Make TCP offload work on HEAD (modulo negative interaction between sbcompress
and t3_push_frames).
 - Import latest changes to cxgb_main.c and cxgb_sge.c from toestack p4 branch
 - make driver local copy of tcp_subr.c and tcp_usrreq.c and override tcp_usrreqs so
   TOE can also functions on versions with unmodified TCP

- add cxgb back to the build
@
text
@d6 1
@


1.11
log
@Move NIC driver (cxgb) into its own directory. Add toecore to support
registering different TOMs.
@
text
@d4 1
a4 1
#SUBDIR+= tom
@


1.10
log
@ - fix qset to port binding as a proper fix for the problems encountered on the 4-port
 - fix the use after free seen when sending packets small enough to fit as an immediate
   and bpf peers are present
 - update to firmware rev 4.7 along with various small vendor fixes

Supported by: Chelsio
Approved by: re (blanket)
MFC after: 3 days
@
text
@d2 4
d7 1
a7 43
CXGB = ${.CURDIR}/../../dev/cxgb
.PATH: ${CXGB} ${CXGB}/common ${CXGB}/sys

KMOD=	if_cxgb
SRCS=	cxgb_mc5.c cxgb_vsc8211.c cxgb_ael1002.c cxgb_mv88e1xxx.c 
SRCS+=	cxgb_xgmac.c cxgb_vsc7323.c cxgb_t3_hw.c cxgb_main.c 
SRCS+=  cxgb_sge.c cxgb_lro.c cxgb_offload.c cxgb_l2t.c
SRCS+=	device_if.h bus_if.h pci_if.h opt_zero.h 
SRCS+=	uipc_mvec.c

CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DCONFIG_DEFINED -DDEFAULT_JUMBO -I${CXGB}
#CFLAGS+= -DDEBUG -DDEBUG_PRINT
#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS -DWITNESS


.if ${MACHINE_ARCH} != "ia64"
# ld is broken on ia64
t3fw-4.7.0.bin: ${CXGB}/t3fw-4.7.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.7.0.bin.gz.uu \
	| gzip -dc > ${.TARGET}

FIRMWS= t3fw-4.7.0.bin:t3fw470
CLEANFILES+= t3fw-4.7.0.bin

t3b_protocol_sram-1.1.0.bin: ${CXGB}/t3b_protocol_sram-1.1.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3b_protocol_sram-1.1.0.bin.gz.uu \
	| gzip -dc > ${.TARGET}

FIRMWS+= t3b_protocol_sram-1.1.0.bin:t3bps110
CLEANFILES+= t3b_protocol_sram-1.1.0.bin

t3b_tp_eeprom-1.1.0.bin: ${CXGB}/t3b_tp_eeprom-1.1.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3b_tp_eeprom-1.1.0.bin.gz.uu \
	| gzip -dc > ${.TARGET}

FIRMWS+= t3b_tp_eeprom-1.1.0.bin:t3btpe110
CLEANFILES+= t3b_tp_eeprom-1.1.0.bin


.endif


.include <bsd.kmod.mk>
@


1.10.2.1
log
@MFC of 1.133 import and fixes:
- add support for T3C
- add multicast support
- update copyrights
- add infrastructure for multiple transmit queues
- add support for compiling firmware in to the kernel
- add conditional define for enabling link at device attach
- exit tick handler if shutdown is in progress
- add sysctls for dumping transmit queues
- use jumbo clusters for large packets
- add pcpu caching
- add inline mbuf header on receive

- upgrade to version 5.0 of the firmware

Supported by: Chelsio Inc.
@
text
@a1 2
SUBDIR= cxgb
SUBDIR+= cxgb_t3fw
d3 43
a45 1
.include <bsd.subdir.mk>
@


1.10.2.2
log
@SVN rev 180944 on 2008-07-28 23:37:33Z by kmacy

MFC the following:
  - vendor bug fixes
  - driver side of iwarp support
  - driver side of TOE support
  - Makefile cleanup
@
text
@a2 3
#SUBDIR+= toecore
#SUBDIR+= tom
#SUBDIR+= ${_iw_cxgb}
a4 8
.if ${MACHINE_ARCH} == "i386"
_iw_cxgb = iw_cxgb
.endif

.if ${MACHINE_ARCH} == "amd64"
_iw_cxgb = iw_cxgb
.endif

@


1.10.2.3
log
@SVN rev 181082 on 2008-07-31 22:57:52Z by kmacy

add TOE to the build
@
text
@d3 2
a4 2
SUBDIR+= toecore
SUBDIR+= tom
@


1.10.2.4
log
@SVN rev 181086 on 2008-07-31 23:19:30Z by kmacy

enable iwarp driver in the build
@
text
@d5 1
a5 1
SUBDIR+= ${_iw_cxgb}
@


1.10.2.5
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/modules/cxgb/Makefile 181086 2008-07-31 23:19:30Z kmacy $
@


1.10.2.4.8.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.10.2.4.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/modules/cxgb/Makefile 181086 2008-07-31 23:19:30Z kmacy $
@


1.10.2.4.6.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.10.2.4.4.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.10.2.4.2.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.9
log
@- integrate most recent changes from vendor branch and upgrade to firmware revision 4.5.5
	- add filter support
	- further improvements for T304
- recover gracefully from spurious immediate packets

Approved by: re(blanket)
Supported by: Chelsio
MFC after: 3 days
@
text
@d14 3
a16 1
#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS 
d20 2
a21 2
t3fw-4.5.0.bin: ${CXGB}/t3fw-4.5.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.5.0.bin.gz.uu \
d24 2
a25 2
FIRMWS= t3fw-4.5.0.bin:t3fw450
CLEANFILES+= t3fw-4.5.0.bin
@


1.8
log
@- import new common code for the T304
- update to firmware version 4.1.0

- switch over to standard method for initializing cdevs (contributed by scottl@@)
- break out timer_reclaim_task to be per-port
- move msix teardown into separate function
- fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources
  are not corrupted on unload
- handle 10/100/1000 base-T media and auto negotiation
- bind qset to cpu even for singleq case
- white space cleanups
- remove recursive PORT_LOCK
- move mtu setting to separate function
- stop and re-init port when changing mtu
- replace all direct references to m_data with calls to mtod
- handle attach failure better by not trying to de-initialize
  taskqueues when they have not been allocated
- no longer default to jumbo frames

Sponsored by: Chelsio
MFC after: 3 days
@
text
@d18 2
a19 2
t3fw-4.1.0.bin: ${CXGB}/t3fw-4.1.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.1.0.bin.gz.uu \
d22 18
a39 2
FIRMWS= t3fw-4.1.0.bin:t3fw410
CLEANFILES+= t3fw-4.1.0.bin
@


1.7
log
@When building cxgb as a module make include paths relative to the driver's root.
This will make it possible to build the module out of tree against an older src tree.

MFC after: 3 days
@
text
@d8 2
a9 2
SRCS+=	cxgb_xgmac.c cxgb_t3_hw.c cxgb_main.c cxgb_sge.c cxgb_lro.c 
SRCS+=  cxgb_offload.c cxgb_l2t.c
d13 2
a14 2
CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DDEFAULT_JUMBO -DCONFIG_DEFINED -I${CXGB}
#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS -DDEBUG
d18 2
a19 2
t3fw-4.0.0.bin: ${CXGB}/t3fw-4.0.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.0.0.bin.gz.uu \
d22 2
a23 2
FIRMWS= t3fw-4.0.0.bin:t3fw400
CLEANFILES+= t3fw-4.0.0.bin
@


1.6
log
@(MFp4)
        - upgrade to reflect state of 1.0.0.86
        - move from firmware rev 3.2 to 4.0.0
        - import driver bits for offload functionality
	- remove binary distribution clause from top level files as it
	  runs counter to the intent of purely supporting the hardware

MFC after: 3 days
@
text
@d13 1
a13 1
CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DDEFAULT_JUMBO -DCONFIG_DEFINED 
@


1.5
log
@hook uipc_mvec.c into build
@
text
@d9 2
a10 1
SRCS+=	device_if.h bus_if.h pci_if.h
d13 2
a14 1
CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DDEFAULT_JUMBO -DCONFIG_DEFINED
d18 2
a19 2
t3fw-3.2.bin: ${CXGB}/t3fw-3.2.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-3.2.bin.gz.uu \
d22 2
a23 2
FIRMWS= t3fw-3.2.bin:t3fw32
CLEANFILES+= t3fw-3.2.bin
@


1.4
log
@Remove firmware version flags

MFC after: 3 days
@
text
@d4 1
a4 1
.PATH: ${CXGB} ${CXGB}/common
d10 1
@


1.3
log
@Disable linking in of firmware on ia64 to avoid build failures from a
broken ld.
@
text
@a11 1
CFLAGS+= -DCHELSIO_FW_MAJOR=3 -DCHELSIO_FW_MINOR=2
@


1.3.2.1
log
@MFC Chelsio T3 10 Gigabit Ethernet support

Don't hook into build just
@
text
@@


1.3.2.2
log
@Batch MFC the following changes:

- bus_size_t for link_width is a bad cross-architectural type with
  respect to printf, use uint32_t instead
- Increase coalesce_nsecs
- commit fixes for the following coverity warnings: 1765, 1760, 1758, 1756
- Check PCI-e link width to avoid foot shooting with 4x links
- allocate 9 messages in all cases
- move call to t3_prep_adapter earlier in attach before msi-x setup occurs
  (this works around the fact that pci_config_{save,restore} doesn't adequately
  restore state for msi-x)
- make MSI-X the default and allocate up to mp_ncpus queues per port
- Remove firmware version flags
- add support for the T3B2 ASIC rev by synchronizing with version 1.0.071 of
  Chelsio's common code (with the notable exception of improvements for using
  multiple TX queues)
@
text
@d12 1
@


1.3.2.3
log
@- Update to 1.0.0.86 of vendor source
- add some performance improvements for small packet workloads
  - Double the number of descriptors that a single call to send can use
  - Quadruple the number of descriptors that can be reclaimed per pass
  - only run reclaim twice per second
  - increase coalesce timer from 3.5us to 5us
- set OACTIVE so interface doesn't stall when the ring fills

Sponsored by: Chelsio Inc.
@
text
@d4 1
a4 1
.PATH: ${CXGB} ${CXGB}/common ${CXGB}/sys
a8 1
SRCS+=	cxgb_offload.c cxgb_l2t.c
a9 1
SRCS+=  uipc_mvec.c
d15 2
a16 2
t3fw-4.0.0.bin: ${CXGB}/t3fw-4.0.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.0.0.bin.gz.uu \
d19 2
a20 2
FIRMWS= t3fw-4.0.0.bin:t3fw400
CLEANFILES+= t3fw-4.0.0.bin
@


1.3.2.4
log
@MFC:

- switch over to standard method for initializing cdevs (contributed by scottl@@)
 - break out timer_reclaim_task to be per-port
 - move msix teardown into separate function
 - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources
   are not corrupted on unload
 - handle 10/100/1000 base-T media and auto negotiation
 - bind qset to cpu even for singleq case
 - white space cleanups
 - remove recursive PORT_LOCK
 - move mtu setting to separate function
 - stop and re-init port when changing mtu
 - replace all direct references to m_data with calls to mtod
 - handle attach failure better by not trying to de-initialize
   taskqueues when they have not been allocated
 - no longer default to jumbo frames
 - fix gcc-4.2 signedness compile errors

Sponsored by: Chelsio Inc.
@
text
@d7 1
a7 1
SRCS=	cxgb_mc5.c cxgb_vsc8211.c cxgb_vsc7323.c cxgb_ael1002.c  cxgb_mv88e1xxx.c 
d13 1
a13 1
CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DDEFAULT_JUMBO -DCONFIG_DEFINED -I${CXGB}
d17 2
a18 2
t3fw-4.1.0.bin: ${CXGB}/t3fw-4.1.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.1.0.bin.gz.uu \
d21 2
a22 2
FIRMWS= t3fw-4.1.0.bin:t3fw410
CLEANFILES+= t3fw-4.1.0.bin
@


1.3.2.5
log
@Aggregate recent fixes to cxgb in HEAD into MFC:

  - integrate most recent changes from vendor branch and upgrade to firmware revision 4.5.5
          - add filter support
          - further improvements for T304
  - recover gracefully from spurious immediate packets
  - Increase descriptors per call to start
  - enqueue per-txq task
  - fix per-txq task initialization
  - reduce cpu usage by as much as 25% (40% -> 30) by doing txq reclaim more efficiently
     - use mtx_trylock when trying to grab the lock to avoid spinning during long encap loop
     - add per-txq reclaim task
     - if mbufs were successfully re-claimed try another pass
  - track txq overruns with sysctl
  - In all structures other than port info port is a pointer to a port info,
    make the code less confusing by renaming the port number to port_id
RELENG_6 only fix:
  - set cluster refcnt to 1 if it isn't otherwise set to fix memory leak

Supported by: Chelsio
@
text
@d17 2
a18 2
t3fw-4.5.0.bin: ${CXGB}/t3fw-4.5.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.5.0.bin.gz.uu \
d21 2
a22 2
FIRMWS= t3fw-4.5.0.bin:t3fw450
CLEANFILES+= t3fw-4.5.0.bin
@


1.3.2.6
log
@Update to reflect new firmware version
@
text
@d17 2
a18 2
t3fw-4.7.0.bin: ${CXGB}/t3fw-4.7.0.bin.gz.uu
	uudecode -p < ${CXGB}/t3fw-4.7.0.bin.gz.uu \
d21 2
a22 2
FIRMWS= t3fw-4.7.0.bin:t3fw470
CLEANFILES+= t3fw-4.7.0.bin
@


1.3.2.7
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/modules/cxgb/Makefile 173347 2007-11-05 00:55:52Z kmacy $
@


1.3.2.6.4.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.2
log
@no-op cxgb_config.h for the module compilation case
@
text
@d11 5
d22 1
a22 3

CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DDEFAULT_JUMBO -DCONFIG_DEFINED
CFLAGS+= -DCHELSIO_FW_MAJOR=3 -DCHELSIO_FW_MINOR=2
@


1.1
log
@Add modules Makefile for cxgb
@
text
@d18 1
a18 1
CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DDEFAULT_JUMBO 
@

