aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Merge branch 'for-linus' of ↵Linus Torvalds2007-05-07
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IPoIB: Convert to NAPI IB: Return "maybe missed event" hint from ib_req_notify_cq() IB: Add CQ comp_vector support IB/ipath: Fix a race condition when generating ACKs IB/ipath: Fix two more spin lock problems IB/fmr_pool: Add prefix to all printks IB/srp: Set proc_name IB/srp: Add orig_dgid sysfs attribute to scsi_host IPoIB/cm: Don't crash if remote side uses one QP for both directions RDMA/cxgb3: Support for new abort logic RDMA/cxgb3: Initialize cpu_idx field in cpl_close_listserv_req message RDMA/cxgb3: Fail qp creation if the requested max_inline is too large RDMA/cxgb3: Fix TERM codes IPoIB/cm: Fix error handling in ipoib_cm_dev_open() IB/ipath: Don't corrupt pending mmap list when unmapped objects are freed IB/mthca: Work around kernel QP starvation IB/ipath: Don't put QP in timeout queue if waiting to send IB/ipath: Don't call spin_lock_irq() from interrupt context
| * IPoIB: Convert to NAPIRoland Dreier2007-05-07
| | | | | | | | | | | | | | | | | | Convert the IP-over-InfiniBand network device driver over to using NAPI to handle completions for the main CQ. This covers all receives as well as datagram mode sends; send completions for connected mode connections are still handled from interrupt context. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB: Return "maybe missed event" hint from ib_req_notify_cq()Roland Dreier2007-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The semantics defined by the InfiniBand specification say that completion events are only generated when a completions is added to a completion queue (CQ) after completion notification is requested. In other words, this means that the following race is possible: while (CQ is not empty) ib_poll_cq(CQ); // new completion is added after while loop is exited ib_req_notify_cq(CQ); // no event is generated for the existing completion To close this race, the IB spec recommends doing another poll of the CQ after requesting notification. However, it is not always possible to arrange code this way (for example, we have found that NAPI for IPoIB cannot poll after requesting notification). Also, some hardware (eg Mellanox HCAs) actually will generate an event for completions added before the call to ib_req_notify_cq() -- which is allowed by the spec, since there's no way for any upper-layer consumer to know exactly when a completion was really added -- so the extra poll of the CQ is just a waste. Motivated by this, we add a new flag "IB_CQ_REPORT_MISSED_EVENTS" for ib_req_notify_cq() so that it can return a hint about whether the a completion may have been added before the request for notification. The return value of ib_req_notify_cq() is extended so: < 0 means an error occurred while requesting notification == 0 means notification was requested successfully, and if IB_CQ_REPORT_MISSED_EVENTS was passed in, then no events were missed and it is safe to wait for another event. > 0 is only returned if IB_CQ_REPORT_MISSED_EVENTS was passed in. It means that the consumer must poll the CQ again to make sure it is empty to avoid the race described above. We add a flag to enable this behavior rather than turning it on unconditionally, because checking for missed events may incur significant overhead for some low-level drivers, and consumers that don't care about the results of this test shouldn't be forced to pay for the test. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB: Add CQ comp_vector supportMichael S. Tsirkin2007-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a num_comp_vectors member to struct ib_device and extend ib_create_cq() to pass in a comp_vector parameter -- this parallels the userspace libibverbs API. Update all hardware drivers to set num_comp_vectors to 1 and have all ULPs pass 0 for the comp_vector value. Pass the value of num_comp_vectors to userspace rather than hard-coding a value of 1. We want multiple CQ event vector support (via MSI-X or similar for adapters that can generate multiple interrupts), but it's not clear how many vectors we want, or how we want to deal with policy issues such as how to decide which vector to use or how to set up interrupt affinity. This patch is useful for experimenting, since no core changes will be necessary when updating a driver to support multiple vectors, and we know that we want to make at least these changes anyway. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ipath: Fix a race condition when generating ACKsRalph Campbell2007-05-07
| | | | | | | | | | | | | | | | | | Fix a problem where simple ACKs can be sent ahead of RDMA read responses thus implicitly NAKing the RDMA read. Signed-off-by: Ralph Campbell <ralph.cambpell@qlogic.com> Signed-off-by: Robert Walsh <robert.walsh@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ipath: Fix two more spin lock problemsRalph Campbell2007-05-07
| | | | | | | | | | | | | | | | Fix a missing unlock in ipath_rc_rcv_resp() and remove an extra unlock from ipath_rc_rcv_error(). Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/fmr_pool: Add prefix to all printksRoland Dreier2007-05-07
| | | | | | | | Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/srp: Set proc_nameRoland Dreier2007-05-07
| | | | | | | | Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/srp: Add orig_dgid sysfs attribute to scsi_hostIshai Rabinovitz2007-05-07
| | | | | | | | | | | | | | | | | | | | Add an orig_dgid attribute in sysfs for SRP scsi_hosts, so that userspace can tell what the original dgid value written to the add_target file was, even if the connection is redirected to a different port while connecting. Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IPoIB/cm: Don't crash if remote side uses one QP for both directionsMichael S. Tsirkin2007-05-07
| | | | | | | | | | | | | | | | | | | | | | | | The IPoIB CM spec allows the use of a single connection in both active->passive and passive->active directions. The current Linux code uses one connection for both directions, but if another node only uses one connection for both directions, we oops when we try to look up the passive connection. Fix by checking that qp_context is non-NULL before dereferencing it. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
| * RDMA/cxgb3: Support for new abort logicSteve Wise2007-05-07
| | | | | | | | | | | | | | | | | | | | The HW now posts 2 ABORT_RPL and/or PEER_ABORT_REQ messages. We need to handle them by silenty dropping the 1st but mark that we're ready for the final message. This plugs some close races between the uP and HW. Also update the minimum required firmware version. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * RDMA/cxgb3: Initialize cpu_idx field in cpl_close_listserv_req messageSteve Wise2007-04-30
| | | | | | | | | | Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * RDMA/cxgb3: Fail qp creation if the requested max_inline is too largeSteve Wise2007-04-30
| | | | | | | | | | Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * RDMA/cxgb3: Fix TERM codesSteve Wise2007-04-30
| | | | | | | | | | | | | | | | Fix TERMINATE layer, type, and ecode values based on conformance testing. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IPoIB/cm: Fix error handling in ipoib_cm_dev_open()Michael S. Tsirkin2007-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If skb allocation fails when we start the device, we call ipoib_cm_dev_stop() even though ipoib_cm_dev_open() did not run to completion, so we pass an invalid pointer to ib_destroy_cm_id and get an oops. Fix by clearing cm.id on error, and testing it in cm_dev_stop(). This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=561> Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ipath: Don't corrupt pending mmap list when unmapped objects are freedRobert Walsh2007-04-30
| | | | | | | | | | | | | | | | | | | | | | | | Fix the pending mmap code so it doesn't corrupt the list of pending mmaps and crash the machine when pending mmaps are destroyed without first being mapped. Also, remove an unused variable, and use standard kernel lists instead of our own homebrewed linked list implementation to keep the pending mmap list. Signed-off-by: Robert Walsh <robert.walsh@qlogic.com> Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/mthca: Work around kernel QP starvationMichael S. Tsirkin2007-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With mthca, RC QPs can starve each other and even UD QPs on the same hardware schedule queue. As a result, userspace MPI can starve e.g. IPoIB traffic, with netdev watchdog warnings getting printed out, and TCP connections getting stuck or failing. Reduce the chance of this happening by using three separate hardware schedule queues: one for userspace RC QPs, one for kernel RC QPs, and one for all other QPs. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ipath: Don't put QP in timeout queue if waiting to sendRalph Campbell2007-04-30
| | | | | | | | | | | | | | | | This fixes a problem which causes too many RC timeouts and retransmits. Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ipath: Don't call spin_lock_irq() from interrupt contextRalph Campbell2007-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the problem reported by Bernd Schubert <bs@q-leap.de> with kernel debug options enabled: BUG: at kernel/lockdep.c:1860 trace_hardirqs_on() This was caused by using spin_lock_irq()/spin_unlock_irq() from interrupt context. Fix all the places that might be called from interrupts to use spin_lock_irqsave()/spin_unlock_irqrestore(). Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2007-05-07
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (38 commits) sh: R7785RP board updates. sh: Update r7780rp defconfig. sh: Add die chain notifiers. sh: Fix APM emulation on hp6xx. sh: Wire up more IRQs for SH7709. sh: Solution Engine 7722 board support. sh: Fix r7780rp build. sh: kdump support. sh: Move clock reporting to its own proc entry. sh: Solution Engine SH7705 board and CPU updates. serial: sh-sci: Fix module clock refcount for serial console. serial: sh-sci: Fix module clock refcounting. sh: SH7722 clock framework support. sh: hp6xx pata_platform support. sh: Obey CONFIG_HZ for HZ definition. sh: Fix fstatat64() syscall. sh: se7780 PCI support. sh: SH7780 Solution Engine board support. sh: Add a dummy SH-4 PCIC fixup. sh: Tidy up L-BOX area5 addresses. ...
| * | sh: R7785RP board updates.Ryusuke Sakato2007-05-06
| | | | | | | | | | | | | | | | | | | | | Some fixups for the R7785RP board. Gets iVDR working. Signed-off-by: Ryusuke Sakato <sakato.ryusuke@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Update r7780rp defconfig.Paul Mundt2007-05-06
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add die chain notifiers.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | Add the atomic die chains in, kprobes needs these. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Fix APM emulation on hp6xx.Kristoffer Ericson2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | With the shared APM emulation code being introduced, hp6xx was missed in the conversion. Get it building again. Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Wire up more IRQs for SH7709.Takashi YOSHII2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | hp6xx requires some additional IRQs that aren't currently enabled in the SH7709 setup code. Wire them up. Signed-off-by: Takashi YOSHII <takashi.yoshii.ze@hitachi.com> Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Solution Engine 7722 board support.Ryusuke Sakato2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds more full-featured support for the SH7722 Solution Engine. Previously this was using the generic board, and lacked most of the peripheral support. Signed-off-by: Ryusuke Sakato <sakato.ryusuke@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Fix r7780rp build.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | With the addition of the R7780MP and R7785RP, the R7780RP build ended up breaking. Trivial compile fix. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: kdump support.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | This adds support for kexec based crash dumps. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Move clock reporting to its own proc entry.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | Previously this was done in cpuinfo, but with the number of clocks growing, it makes more sense to place this in a different proc entry. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Solution Engine SH7705 board and CPU updates.Nobuhiro Iwamatsu2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | This fixes up SH7705 CPU support and the SE7705 board for some of the recent changes. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.zh@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | serial: sh-sci: Fix module clock refcount for serial console.Paul Mundt2007-05-06
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | serial: sh-sci: Fix module clock refcounting.dmitry pervushin2007-05-06
| | | | | | | | | | | | | | | | | | | | | This adds the enable/disable hooks for the port clock to sh-sci. Signed-off-by: dmitry pervushin <dimka@nomadgs.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: SH7722 clock framework support.dmitry pervushin2007-05-06
| | | | | | | | | | | | | | | | | | | | | This adds support for the SH7722 (MobileR) to the clock framework. Signed-off-by: dmitry pervushin <dimka@nomadgs.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: hp6xx pata_platform support.Kristoffer Ericson2007-05-06
| | | | | | | | | | | | | | | | | | | | | Drop the hd64461 I/O ops and wire up pata_platform for MMIO. Signed-off-by: Kristoffer Ericson <Kristoffer_e1@hotmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Obey CONFIG_HZ for HZ definition.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | This wasn't being set before, so now it's set for when it makes sense. The shwdt case still requires HZ to be fixed at 1000 for the WOVF period, so this is still preserved. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Fix fstatat64() syscall.SUGIOKA Toshinobu2007-05-06
| | | | | | | | | | | | | | | Signed-off-by: SUGIOKA Toshinobu <sugioka@itonet.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: se7780 PCI support.Nobuhiro Iwamatsu2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | Add support for the SH7780 PCIC on the Solution Engine 7780, missing from the previous board-support patch. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.zh@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: SH7780 Solution Engine board support.Nobuhiro Iwamatsu2007-05-06
| | | | | | | | | | | | | | | | | | | | | This adds support for the SH7780-based Solution Engine reference board. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.zh@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add a dummy SH-4 PCIC fixup.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | By default we don't have anything to fix up for the SH-4 PCIC, boards can overload this as necessary. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Tidy up L-BOX area5 addresses.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | L-BOX can use the normal PA_AREA5_IO, there's no reason for it to reproduce it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add defconfig for se7722.Paul Mundt2007-05-06
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Kill off udivdi3 div64_32 wrapping.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we've been handling udivdi3 references and wrapping them in to div64_32() automatically. This doesn't get a lot of use, however, and as akpm noted in the recent thread on l-k: http://lkml.org/lkml/2007/2/27/241 we're better off simply ripping it out and going the do_div() route if there happen to be any places that need it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: bootmem tidying for discontig/sparsemem preparation.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reworks some of the node 0 bootmem initialization in preparation for discontigmem and sparsemem support. ARCH_POPULATES_NODE_MAP is switched to as a result of this. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add defconfig for se7712.Nobuhiro Iwamatsu2007-05-06
| | | | | | | | | | | | | | | Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.zh@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: MS7712SE01 board support.Nobuhiro Iwamatsu2007-05-06
| | | | | | | | | | | | | | | | | | | | | Support the SH7712 (SH3-DSP) Solution Engine reference board. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: L-BOX RE2 support.Nobuhiro Iwamatsu2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the L-BOX RE2 router. http://www.nttcom.co.jp/l-box/ L-BOX RE2 is a SH7751R-based router. It has CF, Cardbus, serial, and LAN x2. This is one of the very few SH boards that a general person can obtain now. The L-BOX shipped with a 2.4.28 kernel, this is a rewritten patch adding it to current git. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: landisk updates.kogiidena2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates for the landisk board: - The push_switch framework was used. - landisk_pwb.c was divided into psw.c and gio.c. - pata_platform was supported in USL-5P. - irq.c was rewritten. - io.c was replaced with generic I/O routines. Signed-off-by: kogiidena <kogiidena@eggplant.ddo.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: hp6xx driver compile fixes.Kristoffer Ericson2007-05-06
| | | | | | | | | | | | | | | | | | | | | Trivial compilation fixes for the hp6xx drivers. Signed-off-by: Kristoffer Ericson <Kristoffer_e1@hotmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | doc: Update sysrq doc for sh kgdb trigger.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | sh uses the same sysrq trigger as ppc, update the documentation to reflect that. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | serial: sh-sci: Kill off breakpoint in break IRQ.Paul Mundt2007-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the GDB stub being entered via a special sysrq trigger, we don't want to hit it directly from sci_br_interrupt(). Without this, there is access to the other sysrq triggers when kgdb is enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>