• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sbin/ifconfig/

Lines Matching refs:ii

59 static int read_i2c(struct i2c_info *ii, uint8_t addr, uint8_t off,
61 static void dump_i2c_data(struct i2c_info *ii, uint8_t addr, uint8_t off,
373 get_sfp_identifier(struct i2c_info *ii, char *buf, size_t size)
377 read_i2c(ii, SFF_8472_BASE, SFF_8472_ID, 1, &data);
382 get_sfp_connector(struct i2c_info *ii, char *buf, size_t size)
386 read_i2c(ii, SFF_8472_BASE, SFF_8472_CONNECTOR, 1, &data);
391 get_qsfp_identifier(struct i2c_info *ii, char *buf, size_t size)
395 read_i2c(ii, SFF_8436_BASE, SFF_8436_ID, 1, &data);
400 get_qsfp_connector(struct i2c_info *ii, char *buf, size_t size)
404 read_i2c(ii, SFF_8436_BASE, SFF_8436_CONNECTOR, 1, &data);
409 printf_sfp_transceiver_descr(struct i2c_info *ii, char *buf, size_t size)
421 read_i2c(ii, SFF_8472_BASE, SFF_8472_TRANS_START, 8, &xbuf[3]);
443 get_sfp_transceiver_class(struct i2c_info *ii, char *buf, size_t size)
449 read_i2c(ii, SFF_8472_BASE, SFF_8472_TRANS, 1, &code);
454 read_i2c(ii, SFF_8472_BASE, SFF_8472_TRANS_START, 1, &code);
458 read_i2c(ii, SFF_8472_BASE, SFF_8472_TRANS_START + 3,
471 get_qsfp_transceiver_class(struct i2c_info *ii, char *buf, size_t size)
476 read_i2c(ii, SFF_8436_BASE, SFF_8436_CODE_E1040100G, 1, &code);
480 read_i2c(ii, SFF_8436_BASE, SFF_8436_OPTIONS_START, 1, &code);
516 get_sfp_vendor_name(struct i2c_info *ii, char *buf, size_t size)
521 read_i2c(ii, SFF_8472_BASE, SFF_8472_VENDOR_START, 16, (uint8_t *)xbuf);
526 get_sfp_vendor_pn(struct i2c_info *ii, char *buf, size_t size)
531 read_i2c(ii, SFF_8472_BASE, SFF_8472_PN_START, 16, (uint8_t *)xbuf);
536 get_sfp_vendor_sn(struct i2c_info *ii, char *buf, size_t size)
541 read_i2c(ii, SFF_8472_BASE, SFF_8472_SN_START, 16, (uint8_t *)xbuf);
546 get_sfp_vendor_date(struct i2c_info *ii, char *buf, size_t size)
552 read_i2c(ii, SFF_8472_BASE, SFF_8472_DATE_START, 6, (uint8_t *)xbuf);
557 get_qsfp_vendor_name(struct i2c_info *ii, char *buf, size_t size)
562 read_i2c(ii, SFF_8436_BASE, SFF_8436_VENDOR_START, 16, (uint8_t *)xbuf);
567 get_qsfp_vendor_pn(struct i2c_info *ii, char *buf, size_t size)
572 read_i2c(ii, SFF_8436_BASE, SFF_8436_PN_START, 16, (uint8_t *)xbuf);
577 get_qsfp_vendor_sn(struct i2c_info *ii, char *buf, size_t size)
582 read_i2c(ii, SFF_8436_BASE, SFF_8436_SN_START, 16, (uint8_t *)xbuf);
587 get_qsfp_vendor_date(struct i2c_info *ii, char *buf, size_t size)
592 read_i2c(ii, SFF_8436_BASE, SFF_8436_DATE_START, 6, (uint8_t *)xbuf);
597 print_sfp_vendor(struct i2c_info *ii, char *buf, size_t size)
602 if (ii->qsfp != 0) {
603 get_qsfp_vendor_name(ii, xbuf, 20);
604 get_qsfp_vendor_pn(ii, &xbuf[20], 20);
605 get_qsfp_vendor_sn(ii, &xbuf[40], 20);
606 get_qsfp_vendor_date(ii, &xbuf[60], 20);
608 get_sfp_vendor_name(ii, xbuf, 20);
609 get_sfp_vendor_pn(ii, &xbuf[20], 20);
610 get_sfp_vendor_sn(ii, &xbuf[40], 20);
611 get_sfp_vendor_date(ii, &xbuf[60], 20);
657 convert_sff_power(struct i2c_info *ii, char *buf, size_t size, uint8_t *xbuf)
679 get_sfp_temp(struct i2c_info *ii, char *buf, size_t size)
684 read_i2c(ii, SFF_8472_DIAG, SFF_8472_TEMP, 2, xbuf);
689 get_sfp_voltage(struct i2c_info *ii, char *buf, size_t size)
694 read_i2c(ii, SFF_8472_DIAG, SFF_8472_VCC, 2, xbuf);
699 get_qsfp_temp(struct i2c_info *ii, char *buf, size_t size)
704 read_i2c(ii, SFF_8436_BASE, SFF_8436_TEMP, 2, xbuf);
712 get_qsfp_voltage(struct i2c_info *ii, char *buf, size_t size)
717 read_i2c(ii, SFF_8436_BASE, SFF_8436_VCC, 2, xbuf);
722 get_sfp_rx_power(struct i2c_info *ii, char *buf, size_t size)
727 read_i2c(ii, SFF_8472_DIAG, SFF_8472_RX_POWER, 2, xbuf);
728 convert_sff_power(ii, buf, size, xbuf);
732 get_sfp_tx_power(struct i2c_info *ii, char *buf, size_t size)
737 read_i2c(ii, SFF_8472_DIAG, SFF_8472_TX_POWER, 2, xbuf);
738 convert_sff_power(ii, buf, size, xbuf);
742 get_qsfp_rx_power(struct i2c_info *ii, char *buf, size_t size, int chan)
747 read_i2c(ii, SFF_8436_BASE, SFF_8436_RX_CH1_MSB + (chan-1)*2, 2, xbuf);
748 convert_sff_power(ii, buf, size, xbuf);
752 get_qsfp_tx_power(struct i2c_info *ii, char *buf, size_t size, int chan)
757 read_i2c(ii, SFF_8436_BASE, SFF_8436_TX_CH1_MSB + (chan-1)*2, 2, xbuf);
758 convert_sff_power(ii, buf, size, xbuf);
762 get_qsfp_rev_compliance(struct i2c_info *ii, char *buf, size_t size)
767 read_i2c(ii, SFF_8436_BASE, SFF_8436_STATUS, 1, &xbuf);
772 get_qsfp_br(struct i2c_info *ii)
778 read_i2c(ii, SFF_8436_BASE, SFF_8436_BITRATE, 1, &xbuf);
781 read_i2c(ii, SFF_8436_BASE, SFF_8636_BITRATE, 1, &xbuf);
792 read_i2c(struct i2c_info *ii, uint8_t addr, uint8_t off, uint8_t len,
798 if (ii->error != 0)
799 return (ii->error);
801 ii->ifr->ifr_data = (caddr_t)&req;
813 if (ioctl(ii->fd, SIOCGI2C, ii->ifr) != 0) {
814 ii->error = errno;
828 dump_i2c_data(struct i2c_info *ii, uint8_t addr, uint8_t off, uint8_t len)
836 read_i2c(ii, addr, off, read, buf);
837 if (ii->error != 0) {
852 print_qsfp_status(struct i2c_info *ii, int verbose)
858 ii->qsfp = 1;
861 get_qsfp_identifier(ii, buf, sizeof(buf));
862 get_qsfp_transceiver_class(ii, buf2, sizeof(buf2));
863 get_qsfp_connector(ii, buf3, sizeof(buf3));
864 if (ii->error == 0)
866 print_sfp_vendor(ii, buf, sizeof(buf));
867 if (ii->error == 0)
871 get_qsfp_rev_compliance(ii, buf, sizeof(buf));
872 if (ii->error == 0)
875 bitrate = get_qsfp_br(ii);
876 if (ii->error == 0 && bitrate > 0)
886 if (get_qsfp_temp(ii, buf, sizeof(buf)) == 0) {
887 get_qsfp_voltage(ii, buf2, sizeof(buf2));
890 get_qsfp_rx_power(ii, buf, sizeof(buf), i);
891 get_qsfp_tx_power(ii, buf2, sizeof(buf2), i);
898 dump_i2c_data(ii, SFF_8436_BASE, 128, 128);
900 dump_i2c_data(ii, SFF_8436_BASE, 0, 82);
905 print_sfp_status(struct i2c_info *ii, int verbose)
911 read_i2c(ii, SFF_8472_BASE, SFF_8472_DIAG_TYPE, 1, (caddr_t)&diag_type);
912 if (ii->error != 0)
921 ii->do_diag = 1;
924 get_sfp_identifier(ii, buf, sizeof(buf));
925 get_sfp_transceiver_class(ii, buf2, sizeof(buf2));
926 get_sfp_connector(ii, buf3, sizeof(buf3));
927 if (ii->error == 0)
929 print_sfp_vendor(ii, buf, sizeof(buf));
930 if (ii->error == 0)
934 printf_sfp_transceiver_descr(ii, buf, sizeof(buf));
938 if (ii->do_diag != 0) {
939 get_sfp_temp(ii, buf, sizeof(buf));
940 get_sfp_voltage(ii, buf2, sizeof(buf2));
942 get_sfp_rx_power(ii, buf, sizeof(buf));
943 get_sfp_tx_power(ii, buf2, sizeof(buf2));
949 dump_i2c_data(ii, SFF_8472_BASE, 0, 128);
956 struct i2c_info ii;
960 memset(&ii, 0, sizeof(ii));
961 ii.fd = s;
962 ii.ifr = ifr;
972 read_i2c(&ii, SFF_8472_BASE, SFF_8472_ID, 1, (caddr_t)&id_byte);
973 if (ii.error != 0 || id_byte == 0)
980 print_qsfp_status(&ii, verbose);
983 print_sfp_status(&ii, verbose);