* [GIT PULL] please pull infiniband.git
@ 2008-04-17 14:53 Roland Dreier
2008-04-19 8:16 ` Ingo Molnar
0 siblings, 1 reply; 9+ messages in thread
From: Roland Dreier @ 2008-04-17 14:53 UTC (permalink / raw)
To: torvalds, akpm; +Cc: general, linux-kernel
Linus, please pull from
master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git for-linus
This tree is also available from kernel.org mirrors at:
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git for-linus
This will get the first batch of things queued for 2.6.26: sparse
cleanups, new HW support for the ipath driver, IPoIB updates, and
miscellaneous fixes all over.
Arthur Jones (7):
IB/ipath: Fix sparse warning about pointer signedness
IB/ipath: Misc sparse warning cleanup
IB/ipath: Provide I/O bus speeds for diagnostic purposes
IB/ipath: Fix link up LED display
IB/ipath: User mode send DMA header file
IB/ipath: User mode send DMA
IB/ipath: Misc changes to prepare for IB7220 introduction
Dave Olson (10):
IB/ipath: Make some constants chip-specific, related cleanup
IB/ipath: Shared context code needs to be sure device is usable
IB/ipath: Enable 4KB MTU
IB/ipath: HW workaround for case where chip can send but not receive
IB/ipath: Make link state transition code ignore (transient) link recovery
IB/ipath: Add support for IBTA 1.2 Heartbeat
IB/ipath: Set LID filtering for HCAs that support it.
IB/ipath: Enable reduced PIO update for HCAs that support it.
IB/ipath: Fix check for no interrupts to reliably fallback to INTx
IB/ipath: add calls to new 7220 code and enable in build
David Dillow (1):
IB/srp: Enforce protocol limit on srp_sg_tablesize
Dotan Barak (3):
IB/core: Check optional verbs before using them
IB/mthca: Update QP state if query QP succeeds
IB/mlx4: Update QP state if query QP succeeds
Eli Cohen (13):
IPoIB: Use checksum offload support if available
IB/mlx4: Add IPoIB checksum offload support
IB/mthca: Add IPoIB checksum offload support
IB/core: Add creation flags to struct ib_qp_init_attr
IB/core: Add IPoIB UD LSO support
IPoIB: Add LSO support
IB/mlx4: Add IPoIB LSO support
IPoIB: Add basic ethtool support
IB/core: Add support for modify CQ
IPoIB: Support modifying IPoIB CQ event moderation
IB/mlx4: Add support for modifying CQ moderation parameters
IB/mlx4: Fix race when detaching a QP from a multicast group
IB/mlx4: Fix incorrect comment
Erez Zilber (2):
IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event
IB/iser: Don't change itt endianness
Harvey Harrison (1):
IB: Replace remaining __FUNCTION__ occurrences with __func__
Hoang-Nam Nguyen (1):
IB/ehca: Remove tgid checking
Jack Morgenstein (3):
mlx4_core: Increase max number of QPs to 128K
IB/mthca: Update module version and release date
IB/mlx4: Update module version and release date
John Gregor (2):
IB/ipath: Head of Line blocking vs forward progress of user apps
IB/ipath: Add code for IBA7220 send DMA
Julia Lawall (1):
RDMA/iwcm: Test rdma_create_id() for IS_ERR rather than 0
Michael Albaugh (5):
IB/ipath: Prevent link-recovery code from negating admin disable
IB/ipath: EEPROM support for 7220 devices, robustness improvements, cleanup
IB/ipath: Allow old and new diagnostic packet formats
IB/ipath: Isolate 7220-specific content
IB/ipath: Support for SerDes portion of IBA7220
Ralph Campbell (18):
IB/ipath: Fix byte order of pioavail in handle_errors()
IB/ipath: Fix error recovery for send buffer status after chip freeze mode
IB/ipath: Don't try to handle freeze mode HW errors if diagnostic mode
IB/ipath: Make debug error message match the constraint that is checked for
IB/ipath: Add code to support multiple link speeds and widths
IB/ipath: Remove useless comments
IB/ipath: Fix sanity checks on QP number of WRs and SGEs
IB/ipath: Change the module author
IB/ipath: Remove some useless (void) casts
IB/ipath: Make send buffers available for kernel if not allocated to user
IB/ipath: Use PIO buffer for RC ACKs
IB/ipath: Fix some white space and code style issues
IB/ipath: Add support for 7220 receive queue changes
IB/ipath: Fix up error handling
IB/ipath: Header file changes to support IBA7220
IB/ipath: HCA-specific code to support IBA7220
IB/ipath: Add IBA7220-specific SERDES initialization data
IB/ipath: Update copyright dates for files changed in 2008
Robert P. J. Day (3):
IB: Use shorter list_splice_init() for brevity
RDMA/nes: Use more concise list_for_each_entry()
IB/ipath: Fix time comparison to use time_after_eq()
Roland Dreier (31):
IB/mthca: Formatting cleanups
IB/mlx4: Convert "if(foo)" to "if (foo)"
mlx4_core: Move opening brace of function onto a new line
RDMA/amso1100: Don't use 0UL as a NULL pointer
RDMA/cxgb3: IDR IDs are signed
IB: Make struct ib_uobject.id a signed int
IB/ipath: Fix sparse warning about shadowed symbol
IB/mlx4: Endianness annotations
IB/cm: Endianness annotations
RDMA/ucma: Endian annotation
RDMA/nes: Trivial endianness annotations
RDMA/nes: Delete unused variables
RDMA/amso1100: Start of endianness annotation
RDMA/amso1100: Endian annotate mqsq allocator
mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums
IB/uverbs: Don't store struct file * for event files
IB/uverbs: Use alloc_file() instead of get_empty_filp()
RDMA/nes: Remove redundant NULL check in nes_unregister_ofa_device()
RDMA/nes: Remove unused nes_netdev_exit() function
RDMA/nes: Use proper format and cast to print dma_addr_t
RDMA/nes: Make symbols used only in a single source file static
IB/ehca: Make symbols used only in a single source file static
IB/mthca: Avoid integer overflow when dealing with profile size
IB/mthca: Avoid integer overflow when allocating huge ICM table
IB/ipath: Fix PCI config write size used to clear linkctrl error bits
RDMA/nes: Remove session_id from nes_cm stuff
IB/mlx4: Micro-optimize mlx4_ib_post_send()
IB/core: Add support for "send with invalidate" work requests
RDMA/amso1100: Add support for "send with invalidate" work requests
RDMA/nes: Free IRQ before killing tasklet
IPoIB: Handle case when P_Key is deleted and re-added at same index
Stefan Roscher (1):
IB/ehca: Support all ibv_devinfo values in query_device() and query_port()
Tom Tucker (1):
RDMA/amso1100: Add check for NULL reply_msg in c2_intr()
Vladimir Sokolovsky (1):
IB/mlx4: Add support for resizing CQs
drivers/infiniband/core/cm.c | 63 +-
drivers/infiniband/core/cma.c | 2 +-
drivers/infiniband/core/fmr_pool.c | 3 +-
drivers/infiniband/core/ucma.c | 2 +-
drivers/infiniband/core/uverbs.h | 4 +-
drivers/infiniband/core/uverbs_cmd.c | 14 +-
drivers/infiniband/core/uverbs_main.c | 28 +-
drivers/infiniband/core/verbs.c | 14 +-
drivers/infiniband/hw/amso1100/c2.c | 80 +-
drivers/infiniband/hw/amso1100/c2.h | 16 +-
drivers/infiniband/hw/amso1100/c2_ae.c | 10 +-
drivers/infiniband/hw/amso1100/c2_alloc.c | 12 +-
drivers/infiniband/hw/amso1100/c2_cq.c | 4 +-
drivers/infiniband/hw/amso1100/c2_intr.c | 6 +-
drivers/infiniband/hw/amso1100/c2_mm.c | 2 +-
drivers/infiniband/hw/amso1100/c2_mq.c | 4 +-
drivers/infiniband/hw/amso1100/c2_mq.h | 2 +-
drivers/infiniband/hw/amso1100/c2_provider.c | 85 +-
drivers/infiniband/hw/amso1100/c2_qp.c | 30 +-
drivers/infiniband/hw/amso1100/c2_rnic.c | 31 +-
drivers/infiniband/hw/amso1100/c2_vq.c | 2 +-
drivers/infiniband/hw/amso1100/c2_wr.h | 212 +-
drivers/infiniband/hw/cxgb3/cxio_dbg.c | 24 +-
drivers/infiniband/hw/cxgb3/cxio_hal.c | 84 +-
drivers/infiniband/hw/cxgb3/cxio_resource.c | 12 +-
drivers/infiniband/hw/cxgb3/iwch.c | 6 +-
drivers/infiniband/hw/cxgb3/iwch.h | 2 +-
drivers/infiniband/hw/cxgb3/iwch_cm.c | 166 +-
drivers/infiniband/hw/cxgb3/iwch_cm.h | 4 +-
drivers/infiniband/hw/cxgb3/iwch_cq.c | 4 +-
drivers/infiniband/hw/cxgb3/iwch_ev.c | 12 +-
drivers/infiniband/hw/cxgb3/iwch_mem.c | 6 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 79 +-
drivers/infiniband/hw/cxgb3/iwch_provider.h | 4 +-
drivers/infiniband/hw/cxgb3/iwch_qp.c | 42 +-
drivers/infiniband/hw/ehca/ehca_av.c | 31 -
drivers/infiniband/hw/ehca/ehca_classes.h | 2 -
drivers/infiniband/hw/ehca/ehca_cq.c | 19 -
drivers/infiniband/hw/ehca/ehca_hca.c | 129 +-
drivers/infiniband/hw/ehca/ehca_main.c | 19 +-
drivers/infiniband/hw/ehca/ehca_mrmw.c | 42 +-
drivers/infiniband/hw/ehca/ehca_pd.c | 11 -
drivers/infiniband/hw/ehca/ehca_qp.c | 51 +-
drivers/infiniband/hw/ehca/ehca_reqs.c | 2 +-
drivers/infiniband/hw/ehca/ehca_tools.h | 16 +-
drivers/infiniband/hw/ehca/ehca_uverbs.c | 19 -
drivers/infiniband/hw/ipath/Makefile | 3 +
drivers/infiniband/hw/ipath/ipath_7220.h | 57 +
drivers/infiniband/hw/ipath/ipath_common.h | 54 +-
drivers/infiniband/hw/ipath/ipath_debug.h | 2 +
drivers/infiniband/hw/ipath/ipath_diag.c | 35 +-
drivers/infiniband/hw/ipath/ipath_driver.c | 1041 +++++++---
drivers/infiniband/hw/ipath/ipath_eeprom.c | 428 ++++-
drivers/infiniband/hw/ipath/ipath_file_ops.c | 176 ++-
drivers/infiniband/hw/ipath/ipath_iba6110.c | 51 +-
drivers/infiniband/hw/ipath/ipath_iba6120.c | 203 ++-
drivers/infiniband/hw/ipath/ipath_iba7220.c | 2571 ++++++++++++++++++++++++
drivers/infiniband/hw/ipath/ipath_init_chip.c | 312 ++--
drivers/infiniband/hw/ipath/ipath_intr.c | 656 ++++---
drivers/infiniband/hw/ipath/ipath_kernel.h | 304 +++-
drivers/infiniband/hw/ipath/ipath_mad.c | 110 +-
drivers/infiniband/hw/ipath/ipath_qp.c | 59 +-
drivers/infiniband/hw/ipath/ipath_rc.c | 67 +-
drivers/infiniband/hw/ipath/ipath_registers.h | 168 +-
drivers/infiniband/hw/ipath/ipath_ruc.c | 22 +-
drivers/infiniband/hw/ipath/ipath_sd7220.c | 1462 ++++++++++++++
drivers/infiniband/hw/ipath/ipath_sd7220_img.c | 1082 ++++++++++
drivers/infiniband/hw/ipath/ipath_sdma.c | 790 ++++++++
drivers/infiniband/hw/ipath/ipath_srq.c | 5 +-
drivers/infiniband/hw/ipath/ipath_stats.c | 33 +-
drivers/infiniband/hw/ipath/ipath_sysfs.c | 104 +-
drivers/infiniband/hw/ipath/ipath_uc.c | 8 +-
drivers/infiniband/hw/ipath/ipath_ud.c | 7 +-
drivers/infiniband/hw/ipath/ipath_user_sdma.c | 879 ++++++++
drivers/infiniband/hw/ipath/ipath_user_sdma.h | 54 +
drivers/infiniband/hw/ipath/ipath_verbs.c | 413 ++++-
drivers/infiniband/hw/ipath/ipath_verbs.h | 32 +-
drivers/infiniband/hw/mlx4/cq.c | 319 +++-
drivers/infiniband/hw/mlx4/mad.c | 2 +-
drivers/infiniband/hw/mlx4/main.c | 25 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 15 +
drivers/infiniband/hw/mlx4/qp.c | 117 +-
drivers/infiniband/hw/mthca/mthca_cmd.c | 6 +-
drivers/infiniband/hw/mthca/mthca_cmd.h | 1 +
drivers/infiniband/hw/mthca/mthca_cq.c | 14 +-
drivers/infiniband/hw/mthca/mthca_dev.h | 14 +-
drivers/infiniband/hw/mthca/mthca_eq.c | 4 +-
drivers/infiniband/hw/mthca/mthca_mad.c | 2 +-
drivers/infiniband/hw/mthca/mthca_main.c | 15 +-
drivers/infiniband/hw/mthca/mthca_memfree.c | 6 +-
drivers/infiniband/hw/mthca/mthca_profile.c | 4 +-
drivers/infiniband/hw/mthca/mthca_profile.h | 2 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 5 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 28 +-
drivers/infiniband/hw/mthca/mthca_wqe.h | 16 +-
drivers/infiniband/hw/nes/nes.c | 15 +-
drivers/infiniband/hw/nes/nes.h | 32 +-
drivers/infiniband/hw/nes/nes_cm.c | 131 +-
drivers/infiniband/hw/nes/nes_cm.h | 35 -
drivers/infiniband/hw/nes/nes_hw.c | 49 +-
drivers/infiniband/hw/nes/nes_nic.c | 26 +-
drivers/infiniband/hw/nes/nes_utils.c | 2 +-
drivers/infiniband/hw/nes/nes_verbs.c | 29 +-
drivers/infiniband/ulp/ipoib/Makefile | 3 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 10 +
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 15 +-
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 99 +
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 126 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 33 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 3 +
drivers/infiniband/ulp/iser/iser_initiator.c | 4 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 5 +-
drivers/infiniband/ulp/srp/ib_srp.c | 7 +-
drivers/net/mlx4/catas.c | 2 +-
drivers/net/mlx4/cmd.c | 3 +-
drivers/net/mlx4/cq.c | 72 +-
drivers/net/mlx4/eq.c | 5 +-
drivers/net/mlx4/fw.c | 13 +
drivers/net/mlx4/fw.h | 1 +
drivers/net/mlx4/intf.c | 8 +-
drivers/net/mlx4/main.c | 6 +-
drivers/net/mlx4/mcg.c | 12 +-
drivers/net/mlx4/mlx4.h | 4 +-
include/linux/mlx4/cmd.h | 2 +-
include/linux/mlx4/cq.h | 19 +-
include/linux/mlx4/device.h | 1 +
include/linux/mlx4/driver.h | 3 +-
include/linux/mlx4/qp.h | 15 +-
include/rdma/ib_user_verbs.h | 5 +-
include/rdma/ib_verbs.h | 35 +-
net/sunrpc/xprtrdma/verbs.c | 1 -
131 files changed, 11739 insertions(+), 2287 deletions(-)
create mode 100644 drivers/infiniband/hw/ipath/ipath_7220.h
create mode 100644 drivers/infiniband/hw/ipath/ipath_iba7220.c
create mode 100644 drivers/infiniband/hw/ipath/ipath_sd7220.c
create mode 100644 drivers/infiniband/hw/ipath/ipath_sd7220_img.c
create mode 100644 drivers/infiniband/hw/ipath/ipath_sdma.c
create mode 100644 drivers/infiniband/hw/ipath/ipath_user_sdma.c
create mode 100644 drivers/infiniband/hw/ipath/ipath_user_sdma.h
create mode 100644 drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] please pull infiniband.git
2008-04-17 14:53 [GIT PULL] please pull infiniband.git Roland Dreier
@ 2008-04-19 8:16 ` Ingo Molnar
2008-04-19 14:11 ` [ofa-general] " Roland Dreier
0 siblings, 1 reply; 9+ messages in thread
From: Ingo Molnar @ 2008-04-19 8:16 UTC (permalink / raw)
To: Roland Dreier; +Cc: torvalds, akpm, general, linux-kernel
* Roland Dreier <rdreier@cisco.com> wrote:
> IB/ipath: Misc changes to prepare for IB7220 introduction
> IB/ipath: add calls to new 7220 code and enable in build
x86.git auto-testing found that these changes broke the -git build, with
this config:
http://redhat.com/~mingo/misc/config-Sat_Apr_19_09_55_05_CEST_2008.bad
the failure is a link failure:
drivers/built-in.o: In function `ipath_init_one':
ipath_driver.c:(.devinit.text+0x1e5bc): undefined reference to `ipath_init_iba7220_funcs'
disabling CONFIG_INFINIBAND_IPATH=y works this around.
Ingo
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-19 8:16 ` Ingo Molnar
@ 2008-04-19 14:11 ` Roland Dreier
2008-04-19 14:18 ` Roland Dreier
2008-04-19 15:20 ` Dave Olson
0 siblings, 2 replies; 9+ messages in thread
From: Roland Dreier @ 2008-04-19 14:11 UTC (permalink / raw)
To: Ingo Molnar, Ralph Campbell, Dave Olson
Cc: akpm, torvalds, linux-kernel, general
> x86.git auto-testing found that these changes broke the -git build, with
> this config:
>
> http://redhat.com/~mingo/misc/config-Sat_Apr_19_09_55_05_CEST_2008.bad
>
> the failure is a link failure:
>
> drivers/built-in.o: In function `ipath_init_one':
> ipath_driver.c:(.devinit.text+0x1e5bc): undefined reference to `ipath_init_iba7220_funcs'
Thanks. The relevant parts of the config are
# CONFIG_PCI_MSI is not set
CONFIG_HT_IRQ=y
CONFIG_INFINIBAND_IPATH=y
The problem is that the iba7220 files don't get built in that case, but
the main driver file tries to call ipath_init_iba7220 anyway.
This is fixed by the patch below, which makes the iba7220 file build
unconditionally.
I also removed the dependency on HT_IRQ || PCI_MSI in the Kconfig, since
the iba7220 support should work without it. I know we discussed this
before, but looking closer at the code, the dependency seems pointless
to me, since it's still possible to build a driver that doesn't work if
a particular system needs, say HT_IRQ, and the user selects PCI_MSI.
And since iba7220 doesn't need either, we might as well let people build
that.
If this is OK with everyone, I will merge this with a proper changelog.
- R.
diff --git a/drivers/infiniband/hw/ipath/Kconfig b/drivers/infiniband/hw/ipath/Kconfig
index 044da58..3c7968f 100644
--- a/drivers/infiniband/hw/ipath/Kconfig
+++ b/drivers/infiniband/hw/ipath/Kconfig
@@ -1,6 +1,6 @@
config INFINIBAND_IPATH
tristate "QLogic InfiniPath Driver"
- depends on (PCI_MSI || HT_IRQ) && 64BIT && NET
+ depends on 64BIT && NET
---help---
This is a driver for QLogic InfiniPath host channel adapters,
including InfiniBand verbs support. This driver allows these
diff --git a/drivers/infiniband/hw/ipath/Makefile b/drivers/infiniband/hw/ipath/Makefile
index 75a6c91..bf94500 100644
--- a/drivers/infiniband/hw/ipath/Makefile
+++ b/drivers/infiniband/hw/ipath/Makefile
@@ -29,11 +29,13 @@ ib_ipath-y := \
ipath_user_pages.o \
ipath_user_sdma.o \
ipath_verbs_mcast.o \
- ipath_verbs.o
+ ipath_verbs.o \
+ ipath_iba7220.o \
+ ipath_sd7220.o \
+ ipath_sd7220_img.o
ib_ipath-$(CONFIG_HT_IRQ) += ipath_iba6110.o
ib_ipath-$(CONFIG_PCI_MSI) += ipath_iba6120.o
-ib_ipath-$(CONFIG_PCI_MSI) += ipath_iba7220.o ipath_sd7220.o ipath_sd7220_img.o
ib_ipath-$(CONFIG_X86_64) += ipath_wc_x86_64.o
ib_ipath-$(CONFIG_PPC64) += ipath_wc_ppc64.o
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-19 14:11 ` [ofa-general] " Roland Dreier
@ 2008-04-19 14:18 ` Roland Dreier
2008-04-19 15:20 ` Dave Olson
1 sibling, 0 replies; 9+ messages in thread
From: Roland Dreier @ 2008-04-19 14:18 UTC (permalink / raw)
To: Ingo Molnar
Cc: Ralph Campbell, Dave Olson, akpm, torvalds, linux-kernel, general
By the way (only peripherally related), it seems all the #ifdef
CONFIG_PCI_MSI tests in ipath_iba7220.c can be removed, since the code
should work fine even if PCI_MSI is not set...
- R.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-19 14:11 ` [ofa-general] " Roland Dreier
2008-04-19 14:18 ` Roland Dreier
@ 2008-04-19 15:20 ` Dave Olson
2008-04-19 16:12 ` Roland Dreier
1 sibling, 1 reply; 9+ messages in thread
From: Dave Olson @ 2008-04-19 15:20 UTC (permalink / raw)
To: Roland Dreier
Cc: Ingo Molnar, Ralph Campbell, akpm, torvalds, linux-kernel, general
On Sat, 19 Apr 2008, Roland Dreier wrote:
| > drivers/built-in.o: In function `ipath_init_one':
| > ipath_driver.c:(.devinit.text+0x1e5bc): undefined reference to `ipath_init_iba7220_funcs'
Yes, that issue should be fixed. Our preference was to not build
if it wouldn't work. We'd have to add the conditional check at
the function setup routines.
| I also removed the dependency on HT_IRQ || PCI_MSI in the Kconfig, since
| the iba7220 support should work without it. I know we discussed this
| before, but looking closer at the code, the dependency seems pointless
| to me, since it's still possible to build a driver that doesn't work if
| a particular system needs, say HT_IRQ, and the user selects PCI_MSI.
| And since iba7220 doesn't need either, we might as well let people build
| that.
|
| If this is OK with everyone, I will merge this with a proper changelog.
At this point, I guess I'd agree. We've added checks for "no interrupt"
after the driver is loaded, so I guess that covers the issue well
enough.
Dave Olson
dave.olson@qlogic.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-19 15:20 ` Dave Olson
@ 2008-04-19 16:12 ` Roland Dreier
2008-04-20 14:47 ` Dave Olson
0 siblings, 1 reply; 9+ messages in thread
From: Roland Dreier @ 2008-04-19 16:12 UTC (permalink / raw)
To: Dave Olson
Cc: Ingo Molnar, Ralph Campbell, akpm, torvalds, linux-kernel, general
> | > drivers/built-in.o: In function `ipath_init_one':
> | > ipath_driver.c:(.devinit.text+0x1e5bc): undefined reference to `ipath_init_iba7220_funcs'
>
> Yes, that issue should be fixed. Our preference was to not build
> if it wouldn't work. We'd have to add the conditional check at
> the function setup routines.
Not sure I really follow this response... ipath_driver.c has
case PCI_DEVICE_ID_INFINIPATH_7220:
#ifndef CONFIG_PCI_MSI
ipath_dbg("CONFIG_PCI_MSI is not enabled, "
"using IntX for unit %u\n", dd->ipath_unit);
#endif
ipath_init_iba7220_funcs(dd);
break;
so clearly ipath_init_iba7220_funcs() was intended to be built and used
even if CONFIG_PCI_MSI was not defined. From the code it looks like all
should work fine if PCI_MSI is not set, so I don't know what you mean
about conditional checks.
(BTW since I'm looking at this code, "IntX" should probably be
capitalized as "INTx" to match what the PCI specs say)
- R.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-19 16:12 ` Roland Dreier
@ 2008-04-20 14:47 ` Dave Olson
2008-04-21 1:55 ` Roland Dreier
0 siblings, 1 reply; 9+ messages in thread
From: Dave Olson @ 2008-04-20 14:47 UTC (permalink / raw)
To: Roland Dreier
Cc: Ingo Molnar, Ralph Campbell, akpm, torvalds, linux-kernel, general
On Sat, 19 Apr 2008, Roland Dreier wrote:
| Not sure I really follow this response... ipath_driver.c has
|
| case PCI_DEVICE_ID_INFINIPATH_7220:
| #ifndef CONFIG_PCI_MSI
| ipath_dbg("CONFIG_PCI_MSI is not enabled, "
| "using IntX for unit %u\n", dd->ipath_unit);
| #endif
| ipath_init_iba7220_funcs(dd);
| break;
|
| so clearly ipath_init_iba7220_funcs() was intended to be built and used
| even if CONFIG_PCI_MSI was not defined. From the code it looks like all
| should work fine if PCI_MSI is not set, so I don't know what you mean
| about conditional checks.
Actually, it wasn't. It was a late cleanup for another problem, and
we didn't worry about the other issue, and should have.
| (BTW since I'm looking at this code, "IntX" should probably be
| capitalized as "INTx" to match what the PCI specs say)
True.
Dave Olson
dave.olson@qlogic.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-20 14:47 ` Dave Olson
@ 2008-04-21 1:55 ` Roland Dreier
2008-04-21 2:35 ` Dave Olson
0 siblings, 1 reply; 9+ messages in thread
From: Roland Dreier @ 2008-04-21 1:55 UTC (permalink / raw)
To: Dave Olson
Cc: Ingo Molnar, Ralph Campbell, akpm, torvalds, linux-kernel, general
> | Not sure I really follow this response... ipath_driver.c has
> |
> | case PCI_DEVICE_ID_INFINIPATH_7220:
> | #ifndef CONFIG_PCI_MSI
> | ipath_dbg("CONFIG_PCI_MSI is not enabled, "
> | "using IntX for unit %u\n", dd->ipath_unit);
> | #endif
> | ipath_init_iba7220_funcs(dd);
> | break;
> |
> | so clearly ipath_init_iba7220_funcs() was intended to be built and used
> | even if CONFIG_PCI_MSI was not defined. From the code it looks like all
> | should work fine if PCI_MSI is not set, so I don't know what you mean
> | about conditional checks.
>
> Actually, it wasn't. It was a late cleanup for another problem, and
> we didn't worry about the other issue, and should have.
Sorry, I still don't follow. What is the antecedent of "it"? What was
"the other issue"?
I'm not sure I know the right fix for the build breakage. It seems
there are two possibilities:
- build the iba7220 support unconditionally (the patch I posted).
- change the case statement I quoted above so that the
ipath_init_iba7220_funcs() call is inside the #ifdef block (and add
an error message if CONFIG_PCI_MSI is not defined, as for the 6120
block in the same case statement).
Since it seems iba7220 works with INTx interrupts, the first choice
makes the most sense to me.
And since all the pci_msi functions have stubs that just fail
unconditionally if CONFIG_PCI_MSI is not defined, it seems we can remove
the #ifdef CONFIG_PCI_MSI from the iba7220 files.
And given that at least some device support works even if neither
PCI_MSI nor HT_IRQ is defined, then it makes sense to me to remove that
Kconfig dependency.
If I have something wrong, please let me know.
- R.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
2008-04-21 1:55 ` Roland Dreier
@ 2008-04-21 2:35 ` Dave Olson
0 siblings, 0 replies; 9+ messages in thread
From: Dave Olson @ 2008-04-21 2:35 UTC (permalink / raw)
To: Roland Dreier
Cc: Ingo Molnar, Ralph Campbell, akpm, torvalds, linux-kernel, general
On Sun, 20 Apr 2008, Roland Dreier wrote:
| > | so clearly ipath_init_iba7220_funcs() was intended to be built and used
| > | even if CONFIG_PCI_MSI was not defined. From the code it looks like all
| > | should work fine if PCI_MSI is not set, so I don't know what you mean
| > | about conditional checks.
| >
| > Actually, it wasn't. It was a late cleanup for another problem, and
| > we didn't worry about the other issue, and should have.
|
| Sorry, I still don't follow. What is the antecedent of "it"? What was
| "the other issue"?
The CONFIG_PCI_MSI check where init_iba7220 is called.
| I'm not sure I know the right fix for the build breakage. It seems
| there are two possibilities:
|
| - build the iba7220 support unconditionally (the patch I posted).
Yep; I already said I was OK with that. It's simplest, let's go with it.
| And given that at least some device support works even if neither
| PCI_MSI nor HT_IRQ is defined, then it makes sense to me to remove that
| Kconfig dependency.
Go ahead.
Dave Olson
dave.olson@qlogic.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-04-21 2:35 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-17 14:53 [GIT PULL] please pull infiniband.git Roland Dreier
2008-04-19 8:16 ` Ingo Molnar
2008-04-19 14:11 ` [ofa-general] " Roland Dreier
2008-04-19 14:18 ` Roland Dreier
2008-04-19 15:20 ` Dave Olson
2008-04-19 16:12 ` Roland Dreier
2008-04-20 14:47 ` Dave Olson
2008-04-21 1:55 ` Roland Dreier
2008-04-21 2:35 ` Dave Olson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).