Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DellEMC: Z9332f platform API changes #8258

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,12 @@ class Component(ComponentBase):
],

['Switch CPLD 1',
'Used for managing QSFP28/SFP port transceivers ',
'Used for managing QSFP-DD/QSFP28/SFP port transceivers ',
get_cpld1_version
],

['Switch CPLD 2',
'Used for managing QSFP28/SFP port transceivers',
'Used for managing QSFP-DD/QSFP28/SFP port transceivers',
get_cpld2_version
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1073,8 +1073,13 @@ def get_tx_bias(self):
try:
offset = QSFP_DD_PAGE17
if self.sfp_type == 'QSFP_DD':
if self.qsfp_dd_DomInfo is None or not self.qsfp_dd_txbias_supported:
if self.qsfp_dd_DomInfo is None:
return None
if not self.qsfp_dd_txbias_supported:
for lane in range(0, 8):
tx_bias_list.append("N/A")
return tx_bias_list

tx_bias_data_raw = self._read_eeprom_bytes(self.eeprom_path, offset + QSFP_DD_TXBIAS_OFFSET, QSFP_DD_TXBIAS_WIDTH)
tx_bias_data = self.qsfp_dd_DomInfo.parse_dom_tx_bias(tx_bias_data_raw, 0)

Expand All @@ -1093,8 +1098,6 @@ def get_tx_bias(self):
if tx_bias_data is not None:
tx1_bias = self._strip_unit_from_str(tx_bias_data['data']['TXBias']['value'])
tx_bias_list.append(tx1_bias)
else:
tx_bias_list.append(0.0)

except (TypeError, ValueError):
return None
Expand All @@ -1107,8 +1110,12 @@ def get_rx_power(self):
rx_power_list = []
try:
if self.sfp_type == 'QSFP_DD':
if self.qsfp_dd_DomInfo is None or not self.qsfp_dd_rxpower_supported:
if self.qsfp_dd_DomInfo is None:
return None
if not self.qsfp_dd_rxpower_supported:
for lane in range(0, 8):
rx_power_list.append("N/A")
return rx_power_list

offset = QSFP_DD_PAGE17
rx_power_data_raw = self._read_eeprom_bytes(self.eeprom_path, offset + QSFP_DD_RXPOWER_OFFSET, QSFP_DD_TXPOWER_WIDTH)
Expand All @@ -1128,9 +1135,7 @@ def get_rx_power(self):
rx_power_data = self._get_eeprom_data('ChannelMonitor')
if rx_power_data is not None:
rx1_pw = self._strip_unit_from_str(rx_power_data['data']['RXPower']['value'])
else:
rx1_pw = 0.0
rx_power_list.append(rx1_pw)
rx_power_list.append(rx1_pw)
except (TypeError, ValueError):
return None
return rx_power_list
Expand All @@ -1142,8 +1147,12 @@ def get_tx_power(self):
tx_power_list = []
try:
if self.sfp_type == 'QSFP_DD':
if self.qsfp_dd_DomInfo is None or not self.qsfp_dd_txpower_supported:
if self.qsfp_dd_DomInfo is None:
return None
if not self.qsfp_dd_txpower_supported:
for lane in range(0, 8):
tx_power_list.append("N/A")
return tx_power_list

offset = QSFP_DD_PAGE17
tx_power_data_raw = self._read_eeprom_bytes(self.eeprom_path, offset + QSFP_DD_TXPOWER_OFFSET,
Expand Down Expand Up @@ -1177,9 +1186,7 @@ def get_tx_power(self):
channel_monitor_data = self._get_eeprom_data('ChannelMonitor')
if channel_monitor_data is not None:
tx1_pw = self._strip_unit_from_str(channel_monitor_data['data']['TXPower']['value'])
else:
tx1_pw = 0.0
tx_power_list.append(tx1_pw)
tx_power_list.append(tx1_pw)
except (TypeError, ValueError):
return None
return tx_power_list
Expand Down Expand Up @@ -1212,6 +1219,8 @@ def reset(self):

# Convert our register value back to a hex string and write back
self.pci_set_value(self.BASE_RES_PATH, reg_value, port_offset)
else:
return False
except ValueError:
return False
return True
Expand Down