aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ipath/ipath_common.h
diff options
context:
space:
mode:
authorBryan O'Sullivan <bos@pathscale.com>2006-07-01 07:36:13 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-01 12:56:01 -0400
commit8307c28eecea917c4754075fbb85eb398a3bc516 (patch)
tree1e11c5632bf01deed1e14559b9f5a2024fac9d81 /drivers/infiniband/hw/ipath/ipath_common.h
parent46bbeac922906559ec46454cbc76caf03bc57353 (diff)
[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>
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_common.h')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_common.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_common.h b/drivers/infiniband/hw/ipath/ipath_common.h
index 106f8f49cbb1..3130a7ed254b 100644
--- a/drivers/infiniband/hw/ipath/ipath_common.h
+++ b/drivers/infiniband/hw/ipath/ipath_common.h
@@ -476,7 +476,7 @@ struct ipath_sma_pkt
476 * Data layout in I2C flash (for GUID, etc.) 476 * Data layout in I2C flash (for GUID, etc.)
477 * All fields are little-endian binary unless otherwise stated 477 * All fields are little-endian binary unless otherwise stated
478 */ 478 */
479#define IPATH_FLASH_VERSION 1 479#define IPATH_FLASH_VERSION 2
480struct ipath_flash { 480struct ipath_flash {
481 /* flash layout version (IPATH_FLASH_VERSION) */ 481 /* flash layout version (IPATH_FLASH_VERSION) */
482 __u8 if_fversion; 482 __u8 if_fversion;
@@ -484,14 +484,14 @@ struct ipath_flash {
484 __u8 if_csum; 484 __u8 if_csum;
485 /* 485 /*
486 * valid length (in use, protected by if_csum), including 486 * valid length (in use, protected by if_csum), including
487 * if_fversion and if_sum themselves) 487 * if_fversion and if_csum themselves)
488 */ 488 */
489 __u8 if_length; 489 __u8 if_length;
490 /* the GUID, in network order */ 490 /* the GUID, in network order */
491 __u8 if_guid[8]; 491 __u8 if_guid[8];
492 /* number of GUIDs to use, starting from if_guid */ 492 /* number of GUIDs to use, starting from if_guid */
493 __u8 if_numguid; 493 __u8 if_numguid;
494 /* the board serial number, in ASCII */ 494 /* the (last 10 characters of) board serial number, in ASCII */
495 char if_serial[12]; 495 char if_serial[12];
496 /* board mfg date (YYYYMMDD ASCII) */ 496 /* board mfg date (YYYYMMDD ASCII) */
497 char if_mfgdate[8]; 497 char if_mfgdate[8];
@@ -503,8 +503,10 @@ struct ipath_flash {
503 __u8 if_powerhour[2]; 503 __u8 if_powerhour[2];
504 /* ASCII free-form comment field */ 504 /* ASCII free-form comment field */
505 char if_comment[32]; 505 char if_comment[32];
506 /* 78 bytes used, min flash size is 128 bytes */ 506 /* Backwards compatible prefix for longer QLogic Serial Numbers */
507 __u8 if_future[50]; 507 char if_sprefix[4];
508 /* 82 bytes used, min flash size is 128 bytes */
509 __u8 if_future[46];
508}; 510};
509 511
510/* 512/*