]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx4: Fix EEPROM dump support
authorVladyslav Tarasiuk <vladyslavt@nvidia.com>
Sun, 9 May 2021 06:43:18 +0000 (09:43 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 May 2021 21:34:39 +0000 (14:34 -0700)
commitdb825feefc6868896fed5e361787ba3bee2fd906
treef7eb110d81bee67b40df0bc9a462e6e3b5891668
parenta269333fa5c0c8e53c92b5a28a6076a28cde3e83
net/mlx4: Fix EEPROM dump support

Fix SFP and QSFP* EEPROM queries by setting i2c_address, offset and page
number correctly. For SFP set the following params:
- I2C address for offsets 0-255 is 0x50. For 256-511 - 0x51.
- Page number is zero.
- Offset is 0-255.

At the same time, QSFP* parameters are different:
- I2C address is always 0x50.
- Page number is not limited to zero.
- Offset is 0-255 for page zero and 128-255 for others.

To set parameters accordingly to cable used, implement function to query
module ID and implement respective helper functions to set parameters
correctly.

Fixes: 135dd9594f12 ("net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query")
Signed-off-by: Vladyslav Tarasiuk <vladyslavt@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
drivers/net/ethernet/mellanox/mlx4/port.c