MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sff_8636_show_ext_identifier

Function sff_8636_show_ext_identifier

dpdk/lib/ethdev/sff_8636.c:172–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172static void sff_8636_show_ext_identifier(const uint8_t *data, struct rte_tel_data *d)
173{
174 static const char *name = "Extended identifier description";
175 char val_string[SFF_ITEM_VAL_COMPOSE_SIZE];
176 snprintf(val_string, sizeof(val_string), "0x%02x", data[SFF_8636_EXT_ID_OFFSET]);
177 ssf_add_dict_string(d, "Extended identifier", val_string);
178
179 switch (data[SFF_8636_EXT_ID_OFFSET] & SFF_8636_EXT_ID_PWR_CLASS_MASK) {
180 case SFF_8636_EXT_ID_PWR_CLASS_1:
181 ssf_add_dict_string(d, name, "1.5W max. Power consumption");
182 break;
183 case SFF_8636_EXT_ID_PWR_CLASS_2:
184 ssf_add_dict_string(d, name, "2.0W max. Power consumption");
185 break;
186 case SFF_8636_EXT_ID_PWR_CLASS_3:
187 ssf_add_dict_string(d, name, "2.5W max. Power consumption");
188 break;
189 case SFF_8636_EXT_ID_PWR_CLASS_4:
190 ssf_add_dict_string(d, name, "3.5W max. Power consumption");
191 break;
192 }
193
194 if (data[SFF_8636_EXT_ID_OFFSET] & SFF_8636_EXT_ID_CDR_TX_MASK)
195 ssf_add_dict_string(d, name, "CDR present in TX");
196 else
197 ssf_add_dict_string(d, name, "No CDR in TX");
198
199 if (data[SFF_8636_EXT_ID_OFFSET] & SFF_8636_EXT_ID_CDR_RX_MASK)
200 ssf_add_dict_string(d, name, "CDR present in RX");
201 else
202 ssf_add_dict_string(d, name, "No CDR in RX");
203
204 switch (data[SFF_8636_EXT_ID_OFFSET] & SFF_8636_EXT_ID_EPWR_CLASS_MASK) {
205 case SFF_8636_EXT_ID_PWR_CLASS_LEGACY:
206 snprintf(val_string, sizeof(val_string), "%s", "");
207 break;
208 case SFF_8636_EXT_ID_PWR_CLASS_5:
209 snprintf(val_string, sizeof(val_string), "%s", "4.0W max. Power consumption, ");
210 break;
211 case SFF_8636_EXT_ID_PWR_CLASS_6:
212 snprintf(val_string, sizeof(val_string), "%s", "4.5W max. Power consumption, ");
213 break;
214 case SFF_8636_EXT_ID_PWR_CLASS_7:
215 snprintf(val_string, sizeof(val_string), "%s", "5.0W max. Power consumption, ");
216 break;
217 }
218
219 if (data[SFF_8636_PWR_MODE_OFFSET] & SFF_8636_HIGH_PWR_ENABLE)
220 strlcat(val_string, "High Power Class (> 3.5 W) enabled", sizeof(val_string));
221 else
222 strlcat(val_string, "High Power Class (> 3.5 W) not enabled", sizeof(val_string));
223
224 ssf_add_dict_string(d, name, val_string);
225}
226
227static void sff_8636_show_connector(const uint8_t *data, struct rte_tel_data *d)
228{

Callers 1

sff_8636_show_allFunction · 0.85

Calls 3

snprintfFunction · 0.85
ssf_add_dict_stringFunction · 0.85
strlcatFunction · 0.50

Tested by

no test coverage detected