Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 34296
b: refs/heads/master
c: b1c1b6a
h: refs/heads/master
v: v3
  • Loading branch information
Bryan O'Sullivan authored and Roland Dreier committed Sep 22, 2006
1 parent 2190c10 commit 295ff75
Show file tree
Hide file tree
Showing 11 changed files with 63 additions and 293 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 367fe711c5dc85dbc3265cf01e34d4d6fbd55f06
refs/heads/master: b1c1b6a30eac88665a35a207cc5e6233090b9d65
2 changes: 1 addition & 1 deletion trunk/drivers/infiniband/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
obj-$(CONFIG_INFINIBAND) += core/
obj-$(CONFIG_INFINIBAND_MTHCA) += hw/mthca/
obj-$(CONFIG_IPATH_CORE) += hw/ipath/
obj-$(CONFIG_INFINIBAND_IPATH) += hw/ipath/
obj-$(CONFIG_INFINIBAND_EHCA) += hw/ehca/
obj-$(CONFIG_INFINIBAND_IPOIB) += ulp/ipoib/
obj-$(CONFIG_INFINIBAND_SRP) += ulp/srp/
Expand Down
21 changes: 7 additions & 14 deletions trunk/drivers/infiniband/hw/ipath/Kconfig
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
config IPATH_CORE
tristate "QLogic InfiniPath Driver"
depends on 64BIT && PCI_MSI && NET
---help---
This is a low-level driver for QLogic InfiniPath host channel
adapters (HCAs) based on the HT-400 and PE-800 chips.

config INFINIBAND_IPATH
tristate "QLogic InfiniPath Verbs Driver"
depends on IPATH_CORE && INFINIBAND
tristate "QLogic InfiniPath Driver"
depends on PCI_MSI && 64BIT && INFINIBAND
---help---
This is a driver that provides InfiniBand verbs support for
QLogic InfiniPath host channel adapters (HCAs). This
allows these devices to be used with both kernel upper level
protocols such as IP-over-InfiniBand as well as with userspace
applications (in conjunction with InfiniBand userspace access).
This is a driver for QLogic InfiniPath host channel adapters,
including InfiniBand verbs support. This driver allows these
devices to be used with both kernel upper level protocols such
as IP-over-InfiniBand as well as with userspace applications
(in conjunction with InfiniBand userspace access).
27 changes: 12 additions & 15 deletions trunk/drivers/infiniband/hw/ipath/Makefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
EXTRA_CFLAGS += -DIPATH_IDSTR='"QLogic kernel.org driver"' \
-DIPATH_KERN_TYPE=0

obj-$(CONFIG_IPATH_CORE) += ipath_core.o
obj-$(CONFIG_INFINIBAND_IPATH) += ib_ipath.o

ipath_core-y := \
ib_ipath-y := \
ipath_cq.o \
ipath_diag.o \
ipath_driver.o \
ipath_eeprom.o \
Expand All @@ -13,26 +13,23 @@ ipath_core-y := \
ipath_ht400.o \
ipath_init_chip.o \
ipath_intr.o \
ipath_layer.o \
ipath_pe800.o \
ipath_stats.o \
ipath_sysfs.o \
ipath_user_pages.o

ipath_core-$(CONFIG_X86_64) += ipath_wc_x86_64.o
ipath_core-$(CONFIG_PPC64) += ipath_wc_ppc64.o

ib_ipath-y := \
ipath_cq.o \
ipath_keys.o \
ipath_layer.o \
ipath_mad.o \
ipath_mmap.o \
ipath_mr.o \
ipath_pe800.o \
ipath_qp.o \
ipath_rc.o \
ipath_ruc.o \
ipath_srq.o \
ipath_stats.o \
ipath_sysfs.o \
ipath_uc.o \
ipath_ud.o \
ipath_verbs.o \
ipath_verbs_mcast.o
ipath_user_pages.o \
ipath_verbs_mcast.o \
ipath_verbs.o

ib_ipath-$(CONFIG_X86_64) += ipath_wc_x86_64.o
ib_ipath-$(CONFIG_PPC64) += ipath_wc_ppc64.o
13 changes: 5 additions & 8 deletions trunk/drivers/infiniband/hw/ipath/ipath_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@

#include "ipath_kernel.h"
#include "ipath_layer.h"
#include "ipath_verbs.h"
#include "ipath_common.h"

static void ipath_update_pio_bufs(struct ipath_devdata *);
Expand All @@ -51,8 +52,6 @@ const char *ipath_get_unit_name(int unit)
return iname;
}

EXPORT_SYMBOL_GPL(ipath_get_unit_name);

#define DRIVER_LOAD_MSG "QLogic " IPATH_DRV_NAME " loaded: "
#define PFX IPATH_DRV_NAME ": "

Expand Down Expand Up @@ -510,6 +509,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
ipath_user_add(dd);
ipath_diag_add(dd);
ipath_layer_add(dd);
ipath_register_ib_device(dd);

goto bail;

Expand Down Expand Up @@ -538,6 +538,7 @@ static void __devexit ipath_remove_one(struct pci_dev *pdev)
return;

dd = pci_get_drvdata(pdev);
ipath_unregister_ib_device(dd->verbs_dev);
ipath_layer_remove(dd);
ipath_diag_remove(dd);
ipath_user_remove(dd);
Expand Down Expand Up @@ -978,12 +979,8 @@ void ipath_kreceive(struct ipath_devdata *dd)
if (unlikely(eflags))
ipath_rcv_hdrerr(dd, eflags, l, etail, rc);
else if (etype == RCVHQ_RCV_TYPE_NON_KD) {
int ret = __ipath_verbs_rcv(dd, rc + 1,
ebuf, tlen);
if (ret == -ENODEV)
ipath_cdbg(VERBOSE,
"received IB packet, "
"not SMA (QP=%x)\n", qp);
ipath_ib_rcv(dd->verbs_dev, rc + 1, ebuf,
tlen);
if (dd->ipath_lli_counter)
dd->ipath_lli_counter--;

Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/infiniband/hw/ipath/ipath_intr.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

#include "ipath_kernel.h"
#include "ipath_layer.h"
#include "ipath_verbs.h"
#include "ipath_common.h"

/* These are all rcv-related errors which we want to count for stats */
Expand Down Expand Up @@ -712,7 +713,7 @@ static void handle_layer_pioavail(struct ipath_devdata *dd)
if (ret > 0)
goto set;

ret = __ipath_verbs_piobufavail(dd);
ret = ipath_ib_piobufavail(dd->verbs_dev);
if (ret > 0)
goto set;

Expand Down
11 changes: 2 additions & 9 deletions trunk/drivers/infiniband/hw/ipath/ipath_kernel.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,6 @@ struct _ipath_layer {
void *l_arg;
};

/* Verbs layer interface */
struct _verbs_layer {
void *l_arg;
struct timer_list l_timer;
};

struct ipath_devdata {
struct list_head ipath_list;

Expand Down Expand Up @@ -198,7 +192,8 @@ struct ipath_devdata {
void (*ipath_f_setextled)(struct ipath_devdata *, u64, u64);
/* fill out chip-specific fields */
int (*ipath_f_get_base_info)(struct ipath_portdata *, void *);
struct _verbs_layer verbs_layer;
struct ipath_ibdev *verbs_dev;
struct timer_list verbs_timer;
/* total dwords sent (summed from counter) */
u64 ipath_sword;
/* total dwords rcvd (summed from counter) */
Expand Down Expand Up @@ -529,8 +524,6 @@ extern int ipath_layer_intr(struct ipath_devdata *, u32);
extern int __ipath_layer_rcv(struct ipath_devdata *, void *,
struct sk_buff *);
extern int __ipath_layer_rcv_lid(struct ipath_devdata *, void *);
extern int __ipath_verbs_piobufavail(struct ipath_devdata *);
extern int __ipath_verbs_rcv(struct ipath_devdata *, void *, void *, u32);

void ipath_layer_add(struct ipath_devdata *);
void ipath_layer_remove(struct ipath_devdata *);
Expand Down
Loading

0 comments on commit 295ff75

Please sign in to comment.