History log of /drivers/infiniband/hw/ipath/ipath_eeprom.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9c3da0991754d480328eeaa2b90cb231a1cea9b6 18-Jan-2009 Harvey Harrison <harvey.harrison@gmail.com> IB: Remove __constant_{endian} uses

The base versions handle constant folding just fine, use them
directly. The replacements are OK in the include/ files as they are
not exported to userspace so we don't need the __ prefixed versions.

This patch does not affect code generation at all.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
e7eacd36865ae0707f5efae8e4dda421ffcd1b66 17-Apr-2008 Ralph Campbell <ralph.campbell@qlogic.com> IB/ipath: Update copyright dates for files changed in 2008

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
d84e0b28d3a0b41fc574ea50d60522ae0fba75f4 17-Apr-2008 Michael Albaugh <Michael.Albaugh@qlogic.com> IB/ipath: EEPROM support for 7220 devices, robustness improvements, cleanup

Add support for reading newer card's EEPROMs while continuing to support
older EEPROMs.

Also, add support for the temperature sensor if present.

Signed-off-by: Michael Albaugh <Michael.Albaugh@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
cf9542aa923982428fbf6a6f815c32ae2c3da8c7 25-Jan-2008 Roland Dreier <rolandd@cisco.com> IB/ipath: Fix some sparse warnings about shadowed symbols

There are a few places in the ipath driver where a variable is
re-declared within a block where it is already in scope. Most of these
extra declarations can simply be removed, since the variable from the
outer scope is used in a way so that it does not need to keep its
variable across the block with the re-declaration.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
2c45688faed1b19583c388694025e39001b68c8d 16-Nov-2007 Matthias Kaehlcke <matthias.kaehlcke@gmail.com> IB/ipath: Convert ipath_eep_sem semaphore to a mutex

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Acked-by: Michael Albaugh <Michael.Albaugh@qlogic.com>
Tested-by: Arthur Jones <arthur.jones@qlogic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
627934448ec80f823eafd0a7d4b7541515d543a3 18-Oct-2007 Michael Albaugh <Michael.Albaugh@Qlogic.com> IB/ipath: Limit length checksummed in eeprom

The small eeprom that holds the GUID etc. contains a data-length, but if
the actual eeprom is new or has been erased, that byte will be 0xFF,
which is greater than the maximum physical length of the eeprom, and
more importantly greater than the length of the buffer we vmalloc'd.
Sanity-check the length to avoid the possbility of reading past end of
buffer.

Signed-off-by: Michael Albaugh <Michael.Albaugh@Qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
d29cc6efb9731a415957b8d0ff16e31729ed6837 17-Aug-2007 Dave Olson <dave.olson@qlogic.com> IB/ipath: Future proof eeprom checksum code (contents reading)

In an earlier change, the amount of data read from the flash was
mistakenly limited to the size known to the current driver. This causes
problems when the length is increased, and written with the new longer
version; the checksum would fail because not enough data was read.
Always read the full 128 byte length to prevent this.

Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
da9aec7b627c0369b955f82e855508c6711929ac 18-Jul-2007 Roland Dreier <rolandd@cisco.com> IB/ipath: Make a few functions static

Make some functions that are only used in a single .c file static. In
addition to being a cleanup, this shrinks the generated code. On x86_64:

add/remove: 1/3 grow/shrink: 2/1 up/down: 4777/-4956 (-179)
function old new delta
handle_errors - 3994 +3994
__verbs_timer 42 710 +668
ipath_do_ruc_send 2131 2246 +115
ipath_no_bufs_available 136 - -136
ipath_disarm_senderrbufs 639 - -639
ipath_ib_timer 658 - -658
ipath_intr 5878 2355 -3523

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
87427da55bc03dbce7906a5b09ed50279d654d28 11-Jun-2007 John Gregor <john.gregor@qlogic.com> IB/ipath: Update copyright dates

Now that it's June, it's about time to update
the copyright notices of files that have changed.

Signed-off-by: John Gregor <john.gregor@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
aecd3b5ab19624ca9644b9df9c61615282d8923f 17-May-2007 Michael Albaugh <michael.albaugh@qlogic.com> IB/ipath: Log "active" time and some errors to EEPROM

We currently track various errors, now we enhance that capability by
logging some of them to EEPROM. We also now log a cumulative "active"
time defined by traffic though the InfiniPath HCA beyond the normal SM
traffic.

Signed-off-by: Michael Albaugh <michael.albaugh@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
17b2eb9fe6bfadcb3ece308ed50193d10b71ba6e 17-May-2007 Michael Albaugh <michael.albaugh@qlogic.com> IB/ipath: Lock and always use shadow copies of GPIO register

The new LED blinking interface adds more contention for the
unprotected GPIO pins that were already shared, though not commonly at
the same time. We add locks to the accesses to these pins so that
Read-Modify-Write is now safe. Some of these locks are added at
interrupt context, so we shadow the registers which drive and inspect
these pins to avoid the mmio read/writes. This mitigates the effects
of the locks and hastens us through the interrupt.

Add locking and always use shadows for registers controlling GPIO pins
(ExtCtrl and GPIOout). The use of shadows implies doing less I/O,
which can make I2C operation too fast on some platforms. An explicit
udelay(1) in SCL manipulation fixes that.

Signed-off-by: Michael Albaugh <michael.albaugh@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
9783ab405844202b452ac673677e6c8f8c9a6a99 15-Mar-2007 Bryan O'Sullivan <bos@pathscale.com> IB/ipath: Improve handling and reporting of parity errors

Mostly cleanup.

Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
1a4e74a08788db913486cb9a3dc30984c55e9897 28-Sep-2006 Bryan O'Sullivan <bos@pathscale.com> IB/ipath: Fix EEPROM read when driver is compiled with -Os

The EEPROM is read via programmable I/O pins. When the driver
is compiled -Os, the CPU can speculatively read the I/O
value before it is valid. This patch fixes the problem.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
f62fe77ad26b9c89c2028d96709f0f28793fe6cd 28-Sep-2006 Bryan O'Sullivan <bos@pathscale.com> IB/ipath: Support multiple simultaneous devices of different types

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: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
8307c28eecea917c4754075fbb85eb398a3bc516 01-Jul-2006 Bryan O'Sullivan <bos@pathscale.com> [PATCH] IB/ipath: support more models of InfiniPath hardware

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: Mike Albaugh <mike.albaugh@qlogic.com>
Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
759d57686dab8169ca68bbf938ce8e965d1e107a 01-Jul-2006 Bryan O'Sullivan <bos@pathscale.com> [PATCH] IB/ipath: update copyrights and other strings to reflect new company name

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
f2080fa3c6098dedfb9b599bdaedd07be2ea4646 23-May-2006 Bryan O'Sullivan <bos@pathscale.com> IB/ipath: enable GPIO interrupt on HT-460

This is required for even semi-decent performance on OpenIB.

Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c
108ecf0d90655055d5a7db8d3a7239133b4d52b7 30-Mar-2006 Bryan O'Sullivan <bos@pathscale.com> IB/ipath: misc driver support code

EEPROM support, interrupt handling, statistics gathering, and write
combining management for x86_64.

A note regarding i2c: The Atmel EEPROM hardware we use looks like an
i2c device electrically, but is not i2c compliant at all from a
functional perspective. We tried using the kernel's i2c support to
talk to it, but failed.

Normal i2c devices have a single 7-bit or 10-bit i2c address that they
respond to. Valid 7-bit addresses range from 0x03 to 0x77. Addresses
0x00 to 0x02 and 0x78 to 0x7F are special reserved addresses
(e.g. 0x00 is the "general call" address.) The Atmel device, on the
other hand, responds to ALL addresses. It's designed to be the only
device on a given i2c bus. A given i2c device address corresponds to
the memory address within the i2c device itself.

At least one reason why the linux core i2c stuff won't work for this
is that it prohibits access to reserved addresses like 0x00, which are
really valid addresses on the Atmel devices.

Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/ipath/ipath_eeprom.c