Lines Matching refs:cis
342 u8 *cis; in prism2_plx_check_cis() local
347 cis = kmalloc(CIS_MAX_LEN, GFP_KERNEL); in prism2_plx_check_cis()
348 if (cis == NULL) in prism2_plx_check_cis()
353 cis[i] = readb(attr_mem + 2 * i); in prism2_plx_check_cis()
355 dev_info, cis[0], cis[1], cis[2], cis[3], cis[4], cis[5]); in prism2_plx_check_cis()
364 while (pos < CIS_MAX_LEN - 1 && cis[pos] != CISTPL_END) { in prism2_plx_check_cis()
365 if (pos + 2 + cis[pos + 1] > CIS_MAX_LEN) in prism2_plx_check_cis()
368 switch (cis[pos]) { in prism2_plx_check_cis()
370 if (cis[pos + 1] < 2) in prism2_plx_check_cis()
372 rmsz = (cis[pos + 2] & 0x3c) >> 2; in prism2_plx_check_cis()
373 rasz = cis[pos + 2] & 0x03; in prism2_plx_check_cis()
374 if (4 + rasz + rmsz > cis[pos + 1]) in prism2_plx_check_cis()
376 *cor_index = cis[pos + 3] & 0x3F; in prism2_plx_check_cis()
379 *cor_offset += cis[pos + 4 + i] << (8 * i); in prism2_plx_check_cis()
386 kfree(cis); in prism2_plx_check_cis()
392 if (cis[pos + 1] < 4) in prism2_plx_check_cis()
394 manfid1 = cis[pos + 2] + (cis[pos + 3] << 8); in prism2_plx_check_cis()
395 manfid2 = cis[pos + 4] + (cis[pos + 5] << 8); in prism2_plx_check_cis()
401 pos += cis[pos + 1] + 2; in prism2_plx_check_cis()
404 if (pos >= CIS_MAX_LEN || cis[pos] != CISTPL_END) in prism2_plx_check_cis()
409 kfree(cis); in prism2_plx_check_cis()
421 kfree(cis); in prism2_plx_check_cis()