[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160611.155134.1474324006340328110.davem@davemloft.net>
Date: Sat, 11 Jun 2016 15:51:34 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: vidya@...ulusnetworks.com
Cc: bwh@...nel.org, netdev@...r.kernel.org, roopa@...ulusnetworks.com
Subject: Re: [PATCH net-next] ethtool: Macro definition for SFF-8436/8636
Memory map max sizes
From: vidya@...ulusnetworks.com
Date: Mon, 6 Jun 2016 22:55:26 -0700
> From: Vidya Sagar Ravipati <vidya@...ulusnetworks.com>
>
> This patch provides macro definitions for maximum possible
> memory map size of QSFP+/QSFP28 EEPROMs as per SFF-8436/SFF-8636
>
> According to SFF-8436/SFF-8636 specs, the common memory map for
> managing external cable interfaces is arranged into a single
> lower page address space of 128 bytes and multiple upper address pages
> of 128 bytes each. The total size of memory map is up to 5 128 byte pages
> defined by a "pages valid" register and switched via a "page select"
> register for "optional pages". Memory of 256 bytes can be memory mapped
> at a time and QSFP+/QSFP28 drivers can export upto 5*128 bytes of
> eeprom dump.
>
> QSFP+/QSFP28 Memory layout
> 2-Wire Serial Address: 1010000x
> Lower Page 00h (128 bytes)
> ======================
> |Page Select Byte(127)|
> ======================
> |
> V
> ----------------------------------------
> | | | |
> V V V V
> ---------- ---------- --------- ------------
> | Upper | | Upper | | Upper | | Upper |
> | Page 00h | | Page 01h | | Page 02h | | Page 03h |
> | | |(Optional)| |(Optional)| | (Optional) |
> | ID | | AST | | User | | For |
> | Fields | | Table | | EEPROM | | Cable |
> ----------- ----------- ---------- --------------
>
> Signed-off-by: Vidya Sagar Ravipati <vidya@...ulusnetworks.com>
Why do we need these values in the header file at all?
The application can probe the size by repeated eeprom calls, increasing
the buffer size each time as needed until success.
Powered by blists - more mailing lists