diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-02 15:51:22 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-02 15:51:22 -0400 |
| commit | cd5e25d93e6efeb93db7b6731b0a674495270621 (patch) | |
| tree | 82b38420e37cf3cc71ddbd85b53e874a1f0c2299 | |
| parent | 86dca4f8e6ab1fd8a3fb5838163fc9d7990f416e (diff) | |
| parent | 77d8798b554c856e21400bc8e761bc1b2ded8967 (diff) | |
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/ipath: kbuild infrastructure
IB/ipath: infiniband verbs support
IB/ipath: misc infiniband code, part 2
IB/ipath: misc infiniband code, part 1
IB/ipath: infiniband RC protocol support
IB/ipath: infiniband UC and UD protocol support
IB/ipath: infiniband header files
IB/ipath: layering interfaces used by higher-level driver code
IB/ipath: support for userspace apps using core driver
IB/ipath: sysfs and ipathfs support for core driver
IB/ipath: misc driver support code
IB/ipath: chip initialisation code, and diag support
IB/ipath: support for PCI Express devices
IB/ipath: support for HyperTransport devices
IB/ipath: core driver header files
IB/ipath: core device driver
40 files changed, 25108 insertions, 0 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index c9465811ad..f97657b7e2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -1451,6 +1451,12 @@ P: Juanjo Ciarlante | |||
| 1451 | M: jjciarla@raiz.uncu.edu.ar | 1451 | M: jjciarla@raiz.uncu.edu.ar |
| 1452 | S: Maintained | 1452 | S: Maintained |
| 1453 | 1453 | ||
| 1454 | IPATH DRIVER: | ||
| 1455 | P: Bryan O'Sullivan | ||
| 1456 | M: support@pathscale.com | ||
| 1457 | L: openib-general@openib.org | ||
| 1458 | S: Supported | ||
| 1459 | |||
| 1454 | IPX NETWORK LAYER | 1460 | IPX NETWORK LAYER |
| 1455 | P: Arnaldo Carvalho de Melo | 1461 | P: Arnaldo Carvalho de Melo |
| 1456 | M: acme@conectiva.com.br | 1462 | M: acme@conectiva.com.br |
diff --git a/drivers/Makefile b/drivers/Makefile index 55205c8d23..447d8e6888 100644 --- a/drivers/Makefile +++ b/drivers/Makefile | |||
| @@ -69,6 +69,7 @@ obj-$(CONFIG_CPU_FREQ) += cpufreq/ | |||
| 69 | obj-$(CONFIG_MMC) += mmc/ | 69 | obj-$(CONFIG_MMC) += mmc/ |
| 70 | obj-$(CONFIG_NEW_LEDS) += leds/ | 70 | obj-$(CONFIG_NEW_LEDS) += leds/ |
| 71 | obj-$(CONFIG_INFINIBAND) += infiniband/ | 71 | obj-$(CONFIG_INFINIBAND) += infiniband/ |
| 72 | obj-$(CONFIG_IPATH_CORE) += infiniband/ | ||
| 72 | obj-$(CONFIG_SGI_SN) += sn/ | 73 | obj-$(CONFIG_SGI_SN) += sn/ |
| 73 | obj-y += firmware/ | 74 | obj-y += firmware/ |
| 74 | obj-$(CONFIG_CRYPTO) += crypto/ | 75 | obj-$(CONFIG_CRYPTO) += crypto/ |
diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig index bdf0891a92..afc612b857 100644 --- a/drivers/infiniband/Kconfig +++ b/drivers/infiniband/Kconfig | |||
| @@ -30,6 +30,7 @@ config INFINIBAND_USER_ACCESS | |||
| 30 | <http://www.openib.org>. | 30 | <http://www.openib.org>. |
| 31 | 31 | ||
| 32 | source "drivers/infiniband/hw/mthca/Kconfig" | 32 | source "drivers/infiniband/hw/mthca/Kconfig" |
| 33 | source "drivers/infiniband/hw/ipath/Kconfig" | ||
| 33 | 34 | ||
| 34 | source "drivers/infiniband/ulp/ipoib/Kconfig" | 35 | source "drivers/infiniband/ulp/ipoib/Kconfig" |
| 35 | 36 | ||
diff --git a/drivers/infiniband/Makefile b/drivers/infiniband/Makefile index a43fb34cca..eea27322a2 100644 --- a/drivers/infiniband/Makefile +++ b/drivers/infiniband/Makefile | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | obj-$(CONFIG_INFINIBAND) += core/ | 1 | obj-$(CONFIG_INFINIBAND) += core/ |
| 2 | obj-$(CONFIG_INFINIBAND_MTHCA) += hw/mthca/ | 2 | obj-$(CONFIG_INFINIBAND_MTHCA) += hw/mthca/ |
| 3 | obj-$(CONFIG_IPATH_CORE) += hw/ipath/ | ||
| 3 | obj-$(CONFIG_INFINIBAND_IPOIB) += ulp/ipoib/ | 4 | obj-$(CONFIG_INFINIBAND_IPOIB) += ulp/ipoib/ |
| 4 | obj-$(CONFIG_INFINIBAND_SRP) += ulp/srp/ | 5 | obj-$(CONFIG_INFINIBAND_SRP) += ulp/srp/ |
diff --git a/drivers/infiniband/hw/ipath/Kconfig b/drivers/infiniband/hw/ipath/Kconfig new file mode 100644 index 0000000000..9ea67c409b --- /dev/null +++ b/drivers/infiniband/hw/ipath/Kconfig | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | config IPATH_CORE | ||
| 2 | tristate "PathScale InfiniPath Driver" | ||
| 3 | depends on 64BIT && PCI_MSI && NET | ||
| 4 | ---help--- | ||
| 5 | This is a low-level driver for PathScale InfiniPath host channel | ||
| 6 | adapters (HCAs) based on the HT-400 and PE-800 chips. | ||
| 7 | |||
| 8 | config INFINIBAND_IPATH | ||
| 9 | tristate "PathScale InfiniPath Verbs Driver" | ||
| 10 | depends on IPATH_CORE && INFINIBAND | ||
| 11 | ---help--- | ||
| 12 | This is a driver that provides InfiniBand verbs support for | ||
| 13 | PathScale InfiniPath host channel adapters (HCAs). This | ||
| 14 | allows these devices to be used with both kernel upper level | ||
| 15 | protocols such as IP-over-InfiniBand as well as with userspace | ||
| 16 | applications (in conjunction with InfiniBand userspace access). | ||
diff --git a/drivers/infiniband/hw/ipath/Makefile b/drivers/infiniband/hw/ipath/Makefile new file mode 100644 index 0000000000..b4d084abfd --- /dev/null +++ b/drivers/infiniband/hw/ipath/Makefile | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | EXTRA_CFLAGS += -DIPATH_IDSTR='"PathScale kernel.org driver"' \ | ||
| 2 | -DIPATH_KERN_TYPE=0 | ||
| 3 | |||
| 4 | obj-$(CONFIG_IPATH_CORE) += ipath_core.o | ||
| 5 | obj-$(CONFIG_INFINIBAND_IPATH) += ib_ipath.o | ||
| 6 | |||
| 7 | ipath_core-y := \ | ||
| 8 | ipath_diag.o \ | ||
| 9 | ipath_driver.o \ | ||
| 10 | ipath_eeprom.o \ | ||
| 11 | ipath_file_ops.o \ | ||
| 12 | ipath_fs.o \ | ||
| 13 | ipath_ht400.o \ | ||
| 14 | ipath_init_chip.o \ | ||
| 15 | ipath_intr.o \ | ||
| 16 | ipath_layer.o \ | ||
| 17 | ipath_pe800.o \ | ||
| 18 | ipath_stats.o \ | ||
| 19 | ipath_sysfs.o \ | ||
| 20 | ipath_user_pages.o | ||
| 21 | |||
| 22 | ipath_core-$(CONFIG_X86_64) += ipath_wc_x86_64.o | ||
| 23 | |||
| 24 | ib_ipath-y := \ | ||
| 25 | ipath_cq.o \ | ||
| 26 | ipath_keys.o \ | ||
| 27 | ipath_mad.o \ | ||
| 28 | ipath_mr.o \ | ||
| 29 | ipath_qp.o \ | ||
| 30 | ipath_rc.o \ | ||
| 31 | ipath_ruc.o \ | ||
| 32 | ipath_srq.o \ | ||
| 33 | ipath_uc.o \ | ||
| 34 | ipath_ud.o \ | ||
| 35 | ipath_verbs.o \ | ||
| 36 | ipath_verbs_mcast.o | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_common.h b/drivers/infiniband/hw/ipath/ipath_common.h new file mode 100644 index 0000000000..48a55247b8 --- /dev/null +++ b/drivers/infiniband/hw/ipath/ipath_common.h | |||
| @@ -0,0 +1,616 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2003, 2004, 2005, 2006 PathScale, Inc. All rights reserved. | ||
| 3 | * | ||
| 4 | * This software is available to you under a choice of one of two | ||
| 5 | * licenses. You may choose to be licensed under the terms of the GNU | ||
| 6 | * General Public License (GPL) Version 2, available from the file | ||
| 7 | * COPYING in the main directory of this source tree, or the | ||
| 8 | * OpenIB.org BSD license below: | ||
| 9 | * | ||
| 10 | * Redistribution and use in source and binary forms, with or | ||
| 11 | * without modification, are permitted provided that the following | ||
| 12 | * conditions are met: | ||
| 13 | * | ||
| 14 | * - Redistributions of source code must retain the above | ||
| 15 | * copyright notice, this list of conditions and the following | ||
| 16 | * disclaimer. | ||
| 17 | * | ||
| 18 | * - Redistributions in binary form must reproduce the above | ||
| 19 | * copyright notice, this list of conditions and the following | ||
| 20 | * disclaimer in the documentation and/or other materials | ||
| 21 | * provided with the distribution. | ||
| 22 | * | ||
| 23 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 24 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 25 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| 26 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
| 27 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
| 28 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 30 | * SOFTWARE. | ||
| 31 | */ | ||
| 32 | |||
| 33 | #ifndef _IPATH_COMMON_H | ||
| 34 | #define _IPATH_COMMON_H | ||
| 35 | |||
| 36 | /* | ||
