Skip to content

Commit f366cd2

Browse files
mellanoxbmcJakub Kicinski
authored andcommitted
mlxsw: reg: Add macro for getting QSFP module EEPROM page number
Provide a macro for getting QSFP module EEPROM page number from the optional upper page number row offset, specified in request. Signed-off-by: Vadim Pasternak <[email protected]> Acked-by: Jiri Pirko <[email protected]> Signed-off-by: Ido Schimmel <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 2ac061c commit f366cd2

File tree

1 file changed

+9
-0
lines changed
  • drivers/net/ethernet/mellanox/mlxsw

1 file changed

+9
-0
lines changed

drivers/net/ethernet/mellanox/mlxsw/reg.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8412,6 +8412,7 @@ MLXSW_ITEM32(reg, mcia, device_address, 0x04, 0, 16);
84128412
MLXSW_ITEM32(reg, mcia, size, 0x08, 0, 16);
84138413

84148414
#define MLXSW_REG_MCIA_EEPROM_PAGE_LENGTH 256
8415+
#define MLXSW_REG_MCIA_EEPROM_UP_PAGE_LENGTH 128
84158416
#define MLXSW_REG_MCIA_EEPROM_SIZE 48
84168417
#define MLXSW_REG_MCIA_I2C_ADDR_LOW 0x50
84178418
#define MLXSW_REG_MCIA_I2C_ADDR_HIGH 0x51
@@ -8447,6 +8448,14 @@ enum mlxsw_reg_mcia_eeprom_module_info {
84478448
*/
84488449
MLXSW_ITEM_BUF(reg, mcia, eeprom, 0x10, MLXSW_REG_MCIA_EEPROM_SIZE);
84498450

8451+
/* This is used to access the optional upper pages (1-3) in the QSFP+
8452+
* memory map. Page 1 is available on offset 256 through 383, page 2 -
8453+
* on offset 384 through 511, page 3 - on offset 512 through 639.
8454+
*/
8455+
#define MLXSW_REG_MCIA_PAGE_GET(off) (((off) - \
8456+
MLXSW_REG_MCIA_EEPROM_PAGE_LENGTH) / \
8457+
MLXSW_REG_MCIA_EEPROM_UP_PAGE_LENGTH + 1)
8458+
84508459
static inline void mlxsw_reg_mcia_pack(char *payload, u8 module, u8 lock,
84518460
u8 page_number, u16 device_addr,
84528461
u8 size, u8 i2c_device_addr)

0 commit comments

Comments
 (0)