- 17 10月, 2006 1 次提交
-
-
由 Robert Walsh 提交于
Don't attempt to set up the diagpkt device in the module init code. Instead, wait until a piece of hardware is initialized. Fixes a problem when loading the ib_ipath module when no InfiniPath hardware is present: modprobe would go into the D state and stay there. Signed-off-by: NRobert Walsh <robert.walsh@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 29 9月, 2006 7 次提交
-
-
由 Bryan O'Sullivan 提交于
We can sometimes trigger parity errors due to processor speculative reads to our write-combined memory (mostly seen on Woodcrest). Add a stats counter for these. Factored out the sendbuffererror buffer cancellation code so it can be used in the new handling; suppress likely subsequent error messages if within two jiffies of the cancellation. Also restore 2 dropped TXE lines on hwe_bitsextant noticed while debugging. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
We were passing 0 for base and length, which worked on older kernels, but it doesn't seem to any longer. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
Prior to this change, the driver was not able to support a HT and PCIE card simultaneously present in the same machine. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
This also entailed a little GPIO-interrupt general cleanup. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
This allows multiple userspace processes to share a single hardware context in a master/slave arrangement. It is backwards binary compatible with existing userspace. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 23 9月, 2006 8 次提交
-
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
This patch only renames files, fixes product names, and updates comments. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
When we first submitted a userspace subnet management agent, it was rejected, so we left it out of the final driver submission. This patch removes a number of vestigial references to it. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
A lot of ipath layer code was only called in one place. Now that the ipath_core and ib_ipath drivers are merged, it's more sensible to simply inline the simple stuff that the layer code was doing. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bryan O'Sullivan 提交于
There is little point in keeping the two drivers separate, so we are merging them. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 02 7月, 2006 9 次提交
-
-
由 Bryan O'Sullivan 提交于
We can't tell for sure if any packets are in the infinipath receive buffer when we shut down a chip port. Normally this is taken care of by orderly shutdown, but when processes are terminated, or sending process has a bug, we can continue to receive packets. So rather than writing zero to the address registers for the closing port, we point it at a dummy memory. Signed-off-by: NDave Olson <dave.olson@qlogic.com> Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
We do a few more explicit checks for specific models, and now also support the old PathScale serial number style, or new QLogic style. This is backwards compatible with previous versions of software and hardware. That is, older software will see a plausible serial number and correct GUID when used with a new board, while newer software will correctly handle an older board. Signed-off-by: NMike Albaugh <mike.albaugh@qlogic.com> Signed-off-by: NDave Olson <dave.olson@qlogic.com> Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
This patch fixes some problems uncovered during IB compliance testing to return the right values for error counters returned by the Performance Get Counters packet. Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com> Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
Made in-memory rcvhdrq tail update be in dma_alloc'ed memory, not random user or special kernel (needed for ppc, also "just the right thing to do"). Some cleanups to make unexpected link transitions less likely to produce complaints about packet errors, and also to not leave SMA packets stuck and unable to go out. A few other random debug and comment cleanups. Always init rcvhdrq head/tail registers to 0, to avoid race conditions (should have been that way some time ago). Signed-off-by: NDave Olson <dave.olson@qlogic.com> Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
This is not a DMA target, so no need to use dma_alloc_coherent on it. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NDave Olson <dave.olson@qlogic.com> Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NRobert Walsh <robert.walsh@qlogic.com> Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
There is no longer a /dev/ipath_diag file; instead, there's /dev/ipath_diag0, 1, etc. It's still not possible to have diags run on more than one unit at a time, but that's easy to fix at some point. Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Bryan O'Sullivan 提交于
Signed-off-by: NBryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 24 5月, 2006 1 次提交
-
-
由 Bryan O'Sullivan 提交于
This is required for even semi-decent performance on OpenIB. Signed-off-by: NBryan O'Sullivan <bos@pathscale.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 02 5月, 2006 1 次提交
-
-
由 Bryan O'Sullivan 提交于
The reset code now turns off the PRESENT flag during a reset, so that other code won't attempt to access a device that's in mid-reset. Signed-off-by: NBryan O'Sullivan <bos@pathscale.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 20 4月, 2006 1 次提交
-
-
由 Roland Dreier 提交于
Make symbols that are only used in a single source file static. Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 01 4月, 2006 1 次提交
-
-
由 Bryan O'Sullivan 提交于
ipath_common.h and ips_common.h contain definitions shared between userspace and the kernel. ipath_kernel.h is the core driver header file. ipath_debug.h contains mask values used for controlling driver debugging. ipath_registers.h contains bitmask definitions used in chip registers. Signed-off-by: NBryan O'Sullivan <bos@pathscale.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-