Skip to content

Commit

Permalink
DellEMC: Z9332f platform API changes (sonic-net#8258)
Browse files Browse the repository at this point in the history
Why I did it
platform test suite failed for few API's in DellEMC Z9332f platform.

How I did it
Modified the API's to return the expected values in the script.

How to verify it
Run platform test suite after making the changes.
  • Loading branch information
aravindmani-1 authored and Carl Keene committed Aug 7, 2021
1 parent 06f756d commit 1942bda
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 13 deletions.
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

0 comments on commit 1942bda

Please sign in to comment.