diff options
| author | Shannon Nelson <shannon.nelson@amd.com> | 2025-04-15 16:13:15 -0700 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2025-04-22 12:27:30 +0200 |
| commit | 9c2e17d30b65a940e7d72ce67f2102d0084a93bf (patch) | |
| tree | f1e003c4de667aebe057e68634c8b0e58712f088 /drivers/net/ethernet/pensando/ionic/ionic_if.h | |
| parent | c51ab838f5323a375b7f7334644456b23e7532ca (diff) | |
| download | linux-next-9c2e17d30b65a940e7d72ce67f2102d0084a93bf.tar.gz linux-next-9c2e17d30b65a940e7d72ce67f2102d0084a93bf.zip | |
ionic: support ethtool get_module_eeprom_by_page
Add support for the newer get_module_eeprom_by_page interface.
Only the upper half of the 256 byte page is available for
reading, and the firmware puts the two sections into the
extended sprom buffer, so a union is used over the extended
sprom buffer to make clear which page is to be accessed.
With get_module_eeprom_by_page implemented there is no need
for the older get_module_info or git_module_eeprom interfaces,
so remove them.
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250415231317.40616-3-shannon.nelson@amd.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/ethernet/pensando/ionic/ionic_if.h')
| -rw-r--r-- | drivers/net/ethernet/pensando/ionic/ionic_if.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_if.h b/drivers/net/ethernet/pensando/ionic/ionic_if.h index 4943ebb27ab3..23218208b711 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_if.h +++ b/drivers/net/ethernet/pensando/ionic/ionic_if.h @@ -2839,7 +2839,9 @@ union ionic_port_identity { * @status: Port status data * @stats: Port statistics data * @mgmt_stats: Port management statistics data - * @sprom_epage: Extended Transceiver sprom, high page 1 and 2 + * @sprom_epage: Extended Transceiver sprom + * @sprom_page1: Extended Transceiver sprom, page 1 + * @sprom_page2: Extended Transceiver sprom, page 2 * @rsvd: reserved byte(s) * @pb_stats: uplink pb drop stats */ @@ -2850,7 +2852,13 @@ struct ionic_port_info { struct ionic_port_stats stats; struct ionic_mgmt_port_stats mgmt_stats; }; - u8 sprom_epage[256]; + union { + u8 sprom_epage[256]; + struct { + u8 sprom_page1[128]; + u8 sprom_page2[128]; + }; + }; u8 rsvd[504]; /* pb_stats must start at 2k offset */ |
