Commit 5ffb76c
authored
[cmis] combine cmis eeprom i2c read (sonic-net#563)
* Refactor cmis eeprom i2c read
Change multiple eeprom i2c reads into a single i2c read across multiple addresses.
1. Update functions get_tx_power_flag, get_tx_bias_flag and get_rx_power_flag.
2. Add dedicated groups:
TX_POWER_ALARM_FLAGS_FIELD, TX_BIAS_ALARM_FLAGS_FIELD, RX_POWER_ALARM_FLAGS_FIELD.
3. Move the MEDIA_TYPE_FIELD read and prefix lookup out of the loop.
4. Performance test result:
Before:
Running performance tests (3000 iterations each)...
get_tx_power_flag: total 32.120s, avg 10.707ms per call
get_tx_bias_flag: total 26.635s, avg 8.878ms per call
get_rx_power_flag: total 32.306s, avg 10.769ms per call
After:
Running performance tests (3000 iterations each)...
get_tx_power_flag: total 8.213s, avg 2.738ms per call
get_tx_bias_flag: total 7.831s, avg 2.610ms per call
get_rx_power_flag: total 9.632s, avg 3.211ms per call
Signed-off-by: Jianyue Wu <[email protected]>
* Refactor CMIS alarm flag parsing into generic helper
Add get_alarm_flags helper consolidating TX_POWER, RX_POWER, TX_BIAS flag logic.
Simplify get_tx_power_flag, get_rx_power_flag, get_tx_bias_flag to call helper.
Signed-off-by: Jianyue Wu <[email protected]>
---------
Signed-off-by: Jianyue Wu <[email protected]>1 parent ca7c79b commit 5ffb76c
File tree
4 files changed
+142
-102
lines changed- sonic_platform_base/sonic_xcvr
- api/public
- fields
- mem_maps/public
- tests/sonic_xcvr
4 files changed
+142
-102
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
643 | 643 | | |
644 | 644 | | |
645 | 645 | | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
646 | 668 | | |
647 | 669 | | |
648 | 670 | | |
649 | 671 | | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
| 672 | + | |
669 | 673 | | |
670 | 674 | | |
671 | 675 | | |
672 | 676 | | |
673 | 677 | | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
| 678 | + | |
693 | 679 | | |
694 | 680 | | |
695 | 681 | | |
696 | 682 | | |
697 | 683 | | |
698 | | - | |
699 | | - | |
700 | | - | |
701 | | - | |
702 | | - | |
703 | | - | |
704 | | - | |
705 | | - | |
706 | | - | |
707 | | - | |
708 | | - | |
709 | | - | |
710 | | - | |
711 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
715 | | - | |
716 | | - | |
| 684 | + | |
717 | 685 | | |
718 | 686 | | |
719 | 687 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
296 | 299 | | |
297 | 300 | | |
298 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
296 | 368 | | |
297 | 369 | | |
298 | 370 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
299 | 295 | | |
300 | | - | |
301 | | - | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
302 | 301 | | |
303 | | - | |
304 | | - | |
| 302 | + | |
| 303 | + | |
305 | 304 | | |
306 | 305 | | |
307 | 306 | | |
308 | | - | |
| 307 | + | |
309 | 308 | | |
310 | 309 | | |
311 | 310 | | |
312 | 311 | | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
323 | 318 | | |
324 | | - | |
325 | | - | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
326 | 324 | | |
327 | | - | |
328 | | - | |
| 325 | + | |
| 326 | + | |
329 | 327 | | |
330 | 328 | | |
331 | 329 | | |
332 | | - | |
| 330 | + | |
333 | 331 | | |
334 | 332 | | |
335 | 333 | | |
336 | 334 | | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
347 | 341 | | |
348 | | - | |
349 | | - | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
350 | 347 | | |
351 | | - | |
352 | | - | |
| 348 | + | |
| 349 | + | |
353 | 350 | | |
354 | 351 | | |
355 | 352 | | |
356 | | - | |
| 353 | + | |
357 | 354 | | |
358 | 355 | | |
359 | 356 | | |
| |||
0 commit comments