Lines Matching refs:tuple
142 struct pcmcia_tuple tuple; in pcmcia_scan_cis() local
170 PCMCIA_CIS_SIZE, &pcmh, &tuple.ptr, &window)) { in pcmcia_scan_cis()
178 tuple.memt = pcmh.memt; in pcmcia_scan_cis()
179 tuple.memh = pcmh.memh; in pcmcia_scan_cis()
181 DPRINTF(("cis mem map %x\n", (unsigned int) tuple.memh)); in pcmcia_scan_cis()
183 tuple.mult = 2; in pcmcia_scan_cis()
204 if (tuple.mult * tuple.ptr >= PCMCIA_CIS_SIZE - 1 in pcmcia_scan_cis()
207 tuple.code = PCMCIA_CISTPL_END; in pcmcia_scan_cis()
213 tuple.code = pcmcia_cis_read_1(&tuple, tuple.ptr); in pcmcia_scan_cis()
217 if (tuple.code == PCMCIA_CISTPL_NULL) { in pcmcia_scan_cis()
219 tuple.ptr++; in pcmcia_scan_cis()
221 } else if (tuple.code == PCMCIA_CISTPL_END) { in pcmcia_scan_cis()
226 if ((*fct) (&tuple, arg)) { in pcmcia_scan_cis()
232 tuple.ptr++; in pcmcia_scan_cis()
238 tuple.length = pcmcia_cis_read_1(&tuple, tuple.ptr + 1); in pcmcia_scan_cis()
244 DPRINTF((" %02x %02x", tuple.code, in pcmcia_scan_cis()
245 tuple.length)); in pcmcia_scan_cis()
247 for (i = 0; i < tuple.length; i++) { in pcmcia_scan_cis()
249 pcmcia_tuple_read_1(&tuple, i))); in pcmcia_scan_cis()
257 switch (tuple.code) { in pcmcia_scan_cis()
260 if (tuple.length < 4) { in pcmcia_scan_cis()
264 tuple.length)); in pcmcia_scan_cis()
268 longlink_common = (tuple.code == in pcmcia_scan_cis()
270 longlink_addr = pcmcia_tuple_read_4(&tuple, 0); in pcmcia_scan_cis()
280 if (tuple.length < 5) { in pcmcia_scan_cis()
282 "short %d\n", tuple.length)); in pcmcia_scan_cis()
291 pcmcia_tuple_read_2(&tuple, 0); in pcmcia_scan_cis()
292 length = pcmcia_tuple_read_2(&tuple, 2); in pcmcia_scan_cis()
293 cksum = pcmcia_tuple_read_1(&tuple, 4); in pcmcia_scan_cis()
295 addr = tuple.ptr + offset; in pcmcia_scan_cis()
318 bus_space_read_1(tuple.memt, in pcmcia_scan_cis()
319 tuple.memh, in pcmcia_scan_cis()
320 addr + tuple.mult * i); in pcmcia_scan_cis()
339 if (tuple.length < 1) { in pcmcia_scan_cis()
341 "short %d\n", tuple.length)); in pcmcia_scan_cis()
344 if (((tuple.length - 1) % 5) != 0) { in pcmcia_scan_cis()
346 "length %d\n", tuple.length)); in pcmcia_scan_cis()
363 pcmcia_tuple_read_1(&tuple, 0); in pcmcia_scan_cis()
372 if (tuple.length != (tmp_count*5 + 1)) { in pcmcia_scan_cis()
374 tuple.length)); in pcmcia_scan_cis()
393 (pcmcia_tuple_read_1(&tuple, in pcmcia_scan_cis()
398 pcmcia_tuple_read_4(&tuple, in pcmcia_scan_cis()
414 if ((*fct) (&tuple, arg)) { in pcmcia_scan_cis()
424 tuple.ptr += 2 + tuple.length; in pcmcia_scan_cis()
456 &pcmh, &tuple.ptr, &window); in pcmcia_scan_cis()
458 tuple.memt = pcmh.memt; in pcmcia_scan_cis()
459 tuple.memh = pcmh.memh; in pcmcia_scan_cis()
462 tuple.ptr /= 2; in pcmcia_scan_cis()
465 (unsigned int) tuple.memh)); in pcmcia_scan_cis()
467 tuple.mult = longlink_common ? 1 : 2; in pcmcia_scan_cis()
480 &pcmh, &tuple.ptr, &window); in pcmcia_scan_cis()
483 tuple.ptr /= 2; in pcmcia_scan_cis()
486 (unsigned int) tuple.memh)); in pcmcia_scan_cis()
490 tuple.mult = mfc[mfc_index].common ? 1 : 2; in pcmcia_scan_cis()
498 tuple.code = pcmcia_cis_read_1(&tuple, tuple.ptr); in pcmcia_scan_cis()
499 if (tuple.code != PCMCIA_CISTPL_LINKTARGET) { in pcmcia_scan_cis()
501 "code %02x observed\n", tuple.code)); in pcmcia_scan_cis()
504 tuple.length = pcmcia_cis_read_1(&tuple, tuple.ptr + 1); in pcmcia_scan_cis()
505 if (tuple.length < 3) { in pcmcia_scan_cis()
507 tuple.length)); in pcmcia_scan_cis()
510 if ((pcmcia_tuple_read_1(&tuple, 0) != 'C') || in pcmcia_scan_cis()
511 (pcmcia_tuple_read_1(&tuple, 1) != 'I') || in pcmcia_scan_cis()
512 (pcmcia_tuple_read_1(&tuple, 2) != 'S')) { in pcmcia_scan_cis()
515 pcmcia_tuple_read_1(&tuple, 0), in pcmcia_scan_cis()
516 pcmcia_tuple_read_1(&tuple, 1), in pcmcia_scan_cis()
517 pcmcia_tuple_read_1(&tuple, 2))); in pcmcia_scan_cis()
520 tuple.ptr += 2 + tuple.length; in pcmcia_scan_cis()
708 pcmcia_parse_cis_tuple(struct pcmcia_tuple *tuple, void *arg) in pcmcia_parse_cis_tuple() argument
712 switch (tuple->code) { in pcmcia_parse_cis_tuple()
714 decode_end(tuple, state); in pcmcia_parse_cis_tuple()
718 decode_longlink_mfc(tuple, state); in pcmcia_parse_cis_tuple()
723 decode_device(tuple, state); in pcmcia_parse_cis_tuple()
727 decode_vers_1(tuple, state); in pcmcia_parse_cis_tuple()
731 decode_manfid(tuple, state); in pcmcia_parse_cis_tuple()
735 decode_funcid(tuple, state); in pcmcia_parse_cis_tuple()
739 decode_funce(tuple, state); in pcmcia_parse_cis_tuple()
743 decode_config(tuple, state); in pcmcia_parse_cis_tuple()
747 decode_cftable_entry(tuple, state); in pcmcia_parse_cis_tuple()
750 DPRINTF(("unhandled CISTPL %x\n", tuple->code)); in pcmcia_parse_cis_tuple()
758 decode_end(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_end() argument
780 decode_longlink_mfc(struct pcmcia_tuple *tuple, in decode_longlink_mfc() argument
797 decode_device(struct pcmcia_tuple *tuple, in decode_device() argument
803 reg = pcmcia_tuple_read_1(tuple, 0); in decode_device()
808 (tuple->code == PCMCIA_CISTPL_DEVICE) ? "" : "_A")); in decode_device()
873 decode_vers_1(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_vers_1() argument
877 if (tuple->length < 6) { in decode_vers_1()
879 tuple->length)); in decode_vers_1()
882 state->card->cis1_major = pcmcia_tuple_read_1(tuple, 0); in decode_vers_1()
883 state->card->cis1_minor = pcmcia_tuple_read_1(tuple, 1); in decode_vers_1()
887 ch = pcmcia_tuple_read_1(tuple, 2 + i); in decode_vers_1()
908 decode_manfid(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_manfid() argument
910 if (tuple->length < 4) { in decode_manfid()
912 tuple->length)); in decode_manfid()
915 state->card->manufacturer = pcmcia_tuple_read_2(tuple, 0); in decode_manfid()
916 state->card->product = pcmcia_tuple_read_2(tuple, 2); in decode_manfid()
921 decode_funcid(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_funcid() argument
923 if (tuple->length < 1) { in decode_funcid()
925 tuple->length)); in decode_funcid()
943 state->pf->function = pcmcia_tuple_read_1(tuple, 0); in decode_funcid()
949 decode_funce(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_funce() argument
952 int type = pcmcia_tuple_read_1(tuple, 0); in decode_funce()
959 if (tuple->length < 2) in decode_funce()
965 = pcmcia_tuple_read_1(tuple, 1); in decode_funce()
971 int len = pcmcia_tuple_read_1(tuple, 1); in decode_funce()
972 if (tuple->length < 2 + len || len > 8) { in decode_funce()
978 = pcmcia_tuple_read_1(tuple, 2 + i); in decode_funce()
991 decode_config(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_config() argument
1003 if (tuple->length < 3) { in decode_config()
1004 DPRINTF(("CISTPL_CONFIG too short %d\n", tuple->length)); in decode_config()
1007 reg = pcmcia_tuple_read_1(tuple, 0); in decode_config()
1015 if (tuple->length < (rasz + rmsz + rfsz)) { in decode_config()
1017 rasz, rmsz, rfsz, tuple->length)); in decode_config()
1025 pcmcia_tuple_read_1(tuple, 1); in decode_config()
1029 state->pf->ccr_base |= ((pcmcia_tuple_read_1(tuple, 2 + i)) << in decode_config()
1034 state->pf->ccr_mask |= ((pcmcia_tuple_read_1(tuple, in decode_config()
1046 decode_cftable_entry(struct pcmcia_tuple *tuple, struct cis_state *state) in decode_cftable_entry() argument
1056 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1132 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1148 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1162 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1170 reg2 = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1185 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1199 if (tuple->length <= idx) { in decode_cftable_entry()
1204 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1217 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1240 pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1245 pcmcia_tuple_read_2(tuple, idx); in decode_cftable_entry()
1250 pcmcia_tuple_read_4(tuple, idx); in decode_cftable_entry()
1262 pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1267 pcmcia_tuple_read_2(tuple, idx); in decode_cftable_entry()
1272 pcmcia_tuple_read_4(tuple, idx); in decode_cftable_entry()
1286 if (tuple->length <= idx) { in decode_cftable_entry()
1291 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1311 pcmcia_tuple_read_2(tuple, idx); in decode_cftable_entry()
1323 if (tuple->length <= idx) { in decode_cftable_entry()
1338 pcmcia_tuple_read_2(tuple, idx); in decode_cftable_entry()
1347 pcmcia_tuple_read_2(tuple, idx); in decode_cftable_entry()
1350 pcmcia_tuple_read_2(tuple, idx); in decode_cftable_entry()
1357 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1390 pcmcia_tuple_read_n(tuple, in decode_cftable_entry()
1404 pcmcia_tuple_read_n(tuple, in decode_cftable_entry()
1413 pcmcia_tuple_read_n(tuple, in decode_cftable_entry()
1424 if (tuple->length <= idx) { in decode_cftable_entry()
1429 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()
1444 reg = pcmcia_tuple_read_1(tuple, idx); in decode_cftable_entry()