summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/pensando/ionic/ionic_if.h
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@amd.com>2025-04-15 16:13:15 -0700
committerPaolo Abeni <pabeni@redhat.com>2025-04-22 12:27:30 +0200
commit9c2e17d30b65a940e7d72ce67f2102d0084a93bf (patch)
treef1e003c4de667aebe057e68634c8b0e58712f088 /drivers/net/ethernet/pensando/ionic/ionic_if.h
parentc51ab838f5323a375b7f7334644456b23e7532ca (diff)
downloadlinux-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.h12
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 */