Lines Matching +full:func +full:- +full:uart +full:- +full:c
1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 1995 Andrew McRae. All rights reserved.
31 * Code cleanup, bug-fix and extension
67 int func = 0; in dumpcis() local
69 for (tl = tlist; tl; tl = tl->next) in dumpcis()
70 for (tp = tl->tuples; tp; tp = tp->next) { in dumpcis()
72 ++count, tp->code, tuple_name(tp->code), tp->length); in dumpcis()
73 p = tp->data; in dumpcis()
74 sz = tp->length; in dumpcis()
81 sz -= 16; in dumpcis()
85 switch (tp->code) { in dumpcis()
89 dump_device_desc(tp->data, tp->length, "Common"); in dumpcis()
98 dump_longlink_mfc(tp->data, tp->length); in dumpcis()
101 dump_bar(tp->data, tp->length); in dumpcis()
105 tpl16(tp->data), in dumpcis()
106 tpl16(tp->data + 2), in dumpcis()
107 tp->data[4]); in dumpcis()
111 tpl32(tp->data)); in dumpcis()
115 tpl32(tp->data)); in dumpcis()
118 dump_info_v1(tp->data, tp->length); in dumpcis()
123 dump_device_desc(tp->data, tp->length, "Attribute"); in dumpcis()
136 dump_other_cond(tp->data, tp->length); in dumpcis()
140 dump_device_geo(tp->data, tp->length); in dumpcis()
144 tpl16(tp->data), in dumpcis()
145 tpl16(tp->data + 2)); in dumpcis()
148 func = tp->data[0]; in dumpcis()
149 dump_func_id(tp->data); in dumpcis()
152 switch (func) { in dumpcis()
154 dump_serial_ext(tp->data, tp->length); in dumpcis()
157 dump_disk_ext(tp->data, tp->length); in dumpcis()
160 dump_network_ext(tp->data, tp->length); in dumpcis()
165 dump_info_v2(tp->data, tp->length); in dumpcis()
168 dump_org(tp->data, tp->length); in dumpcis()
181 u_char *p = tp->data, x; in dump_config_map()
185 if (tp->code == CIS_CONF_MAP) in dump_config_map()
187 if (tp->length < rlen + mlen + 2) { in dump_config_map()
197 printf("%c", x & *p ? 'X' : '-'); in dump_config_map()
201 i = tp->length - (rlen + mlen + 2); in dump_config_map()
262 * print_ext_speed - Print extended speed.
315 * Print I/O mapping sub-tuple.
322 u_char c; in print_io_map() local
346 /* I/O block sub-tuple exist */ in print_io_map()
350 c = *p++; in print_io_map()
352 j = CIS_IO_ADSZ(c) + CIS_IO_BLKSZ(c); in print_io_map()
353 if (CIS_IO_ADSZ(c) == 3) in print_io_map()
355 if (CIS_IO_BLKSZ(c) == 3) in print_io_map()
357 /* number of I/O block sub-tuples */ in print_io_map()
358 for (i = 0; i <= CIS_IO_BLKS(c); i++) { in print_io_map()
359 if (q - p < j) in print_io_map()
363 p += print_num(CIS_IO_ADSZ(c), in print_io_map()
366 p += print_num(CIS_IO_BLKSZ(c), in print_io_map()
374 printf("\tWrong length for I/O mapping sub-tuple\n"); in print_io_map()
379 * Print IRQ sub-tuple.
386 u_char c; in print_irq_map() local
391 c = ' '; in print_irq_map()
394 c = ','; in print_irq_map()
397 printf("%c Pulse", c); in print_irq_map()
398 c = ','; in print_irq_map()
401 printf("%c Shared", c); in print_irq_map()
406 if (q - p < 3) in print_irq_map()
430 printf("\tWrong length for IRQ sub-tuple\n"); in print_irq_map()
435 * Print memory map sub-tuple.
442 u_char c; in print_mem_map() local
449 if (q - p < 2) in print_mem_map()
455 if (q - p < 4) in print_mem_map()
464 c = *p++; in print_mem_map()
466 j = CIS_MEM_LENSZ(c) + CIS_MEM_ADDRSZ(c); in print_mem_map()
467 if (c & CIS_MEM_HOST) in print_mem_map()
468 j += CIS_MEM_ADDRSZ(c); in print_mem_map()
470 for (i = 0; i < CIS_MEM_WINS(c); i++) { in print_mem_map()
471 if (q - p < j) in print_mem_map()
475 p += print_num(CIS_MEM_LENSZ(c) | 0x10, in print_mem_map()
478 p += print_num(CIS_MEM_ADDRSZ(c) | 0x10, in print_mem_map()
480 if (c & CIS_MEM_HOST) /* Host address value exist */ in print_mem_map()
481 p += print_num(CIS_MEM_ADDRSZ(c) | 0x10, in print_mem_map()
490 printf("\tWrong length for memory mapping sub-tuple\n"); in print_mem_map()
503 char c; in dump_cis_config() local
505 p = tp->data; in dump_cis_config()
506 q = p + tp->length; in dump_cis_config()
511 if (tp->code == CIS_CONFIG && (*p & 0x80)) { in dump_cis_config()
532 c = ' '; in dump_cis_config()
535 c = ','; in dump_cis_config()
538 printf("%c card WP active", c); /* Write protect */ in dump_cis_config()
539 c = ','; in dump_cis_config()
542 printf("%c +RDY/-BSY active", c); in dump_cis_config()
543 c = ','; in dump_cis_config()
546 printf("%c wait signal supported", c); in dump_cis_config()
554 /* Power structure sub-tuple */ in dump_cis_config()
555 switch (CIS_FEAT_POWER(feat)) { /* Power sub-tuple(s) exists */ in dump_cis_config()
578 /* Timing sub-tuple */ in dump_cis_config()
579 if (tp->code == CIS_CONFIG && in dump_cis_config()
580 (feat & CIS_FEAT_TIMING)) { /* Timing sub-tuple exists */ in dump_cis_config()
602 /* I/O mapping sub-tuple */ in dump_cis_config()
603 if (feat & CIS_FEAT_I_O) { /* I/O space sub-tuple exists */ in dump_cis_config()
604 if (tp->code == CIS_CONFIG) in dump_cis_config()
616 /* IRQ descriptor sub-tuple */ in dump_cis_config()
617 if (feat & CIS_FEAT_IRQ) /* IRQ sub-tuple exists */ in dump_cis_config()
620 /* Memory map sub-tuple */ in dump_cis_config()
621 if (CIS_FEAT_MEMORY(feat)) { /* Memory space sub-tuple(s) exists */ in dump_cis_config()
622 if (tp->code == CIS_CONFIG) in dump_cis_config()
634 /* Misc sub-tuple */ in dump_cis_config()
635 if (feat & CIS_FEAT_MISC) { /* Miscellaneous sub-tuple exists */ in dump_cis_config()
636 if (tp->code == CIS_CONFIG) { in dump_cis_config()
639 (*p & 8) ? " (Audio-BVD2)" : "", in dump_cis_config()
640 (*p & 0x10) ? " (Read-only)" : "", in dump_cis_config()
712 len -= 2; in dump_device_desc()
718 len--; in dump_device_desc()
724 len--; in dump_device_desc()
737 * CIS_INFO_V1: Print version-1 info
743 printf("\tWrong length for version-1 info tuple\n"); in dump_info_v1()
748 len -= 2; in dump_info_v1()
751 while (*p++ && --len > 0); in dump_info_v1()
755 while (*p++ && --len > 0); in dump_info_v1()
757 printf("\n\tWrong length for version-1 info tuple\n"); in dump_info_v1()
763 while (*p++ && --len > 0); in dump_info_v1()
791 (p[1] & 1) ? " - POST initialize" : "", in dump_func_id()
792 (p[1] & 2) ? " - Card has ROM" : ""); in dump_func_id()
822 printf("\t\t8250 UART"); in dump_serial_ext()
825 printf("\t\t16450 UART"); in dump_serial_ext()
828 printf("\t\t16550 UART"); in dump_serial_ext()
831 printf(", Parity - %s%s%s%s\n", in dump_serial_ext()
836 printf("\t\tData bit - %s%s%s%s Stop bit - %s%s%s\n", in dump_serial_ext()
989 --len; in dump_longlink_mfc()
998 len -= 5; in dump_longlink_mfc()
1012 p[0], 1 << (p[1] - 1), in dump_device_geo()
1013 1 << (p[2] - 1), 1 << (p[3] - 1), in dump_device_geo()
1014 1 << (p[4] - 1), 1 << (p[5] - 1)); in dump_device_geo()
1015 len -= 6; in dump_device_geo()
1020 * CIS_INFO_V2: Print version-2 info
1026 printf("\tWrong length for version-2 info tuple\n"); in dump_info_v2()
1034 len -= 9; in dump_info_v2()
1038 while (*p++ && --len > 0); in dump_info_v2()
1071 printf(" [%.*s]\n", len - 1, p + 1); in dump_org()