Lines Matching refs:desc

367 	struct ican3_new_desc desc;  in ican3_init_new_host_interface()  local
384 desc.control = DESC_INTERRUPT | DESC_LEN(1); /* I L=1 */ in ican3_init_new_host_interface()
385 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
389 desc.control |= DESC_WRAP; in ican3_init_new_host_interface()
391 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
392 dst += sizeof(desc); in ican3_init_new_host_interface()
405 desc.control = DESC_VALID | DESC_LEN(1); /* V L=1 */ in ican3_init_new_host_interface()
406 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
410 desc.control |= DESC_WRAP; in ican3_init_new_host_interface()
412 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
413 dst += sizeof(desc); in ican3_init_new_host_interface()
422 desc.control = DESC_VALID | DESC_WRAP | DESC_LEN(1); /* VW L=1 */ in ican3_init_new_host_interface()
423 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
424 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
432 desc.control = DESC_VALID | DESC_WRAP | DESC_LEN(1); /* VW L=1 */ in ican3_init_new_host_interface()
433 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
434 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
446 struct ican3_fast_desc desc; in ican3_init_fast_host_interface() local
459 memset(&desc, 0, sizeof(desc)); in ican3_init_fast_host_interface()
460 desc.control = 0x00; in ican3_init_fast_host_interface()
461 desc.command = 1; in ican3_init_fast_host_interface()
469 desc.control |= DESC_WRAP; in ican3_init_fast_host_interface()
476 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_fast_host_interface()
477 addr += sizeof(desc); in ican3_init_fast_host_interface()
495 memset(&desc, 0, sizeof(desc)); in ican3_init_fast_host_interface()
496 desc.control = DESC_VALID; in ican3_init_fast_host_interface()
497 desc.command = 1; in ican3_init_fast_host_interface()
505 desc.control |= DESC_WRAP; in ican3_init_fast_host_interface()
512 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_fast_host_interface()
513 addr += sizeof(desc); in ican3_init_fast_host_interface()
534 struct ican3_new_desc desc; in ican3_new_send_msg() local
535 void __iomem *desc_addr = mod->dpm + (mod->tx_num * sizeof(desc)); in ican3_new_send_msg()
539 memcpy_fromio(&desc, desc_addr, sizeof(desc)); in ican3_new_send_msg()
541 if (!(desc.control & DESC_VALID)) { in ican3_new_send_msg()
547 ican3_set_page(mod, desc.pointer); in ican3_new_send_msg()
552 desc.control ^= DESC_VALID; in ican3_new_send_msg()
553 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_new_send_msg()
556 mod->tx_num = (desc.control & DESC_WRAP) ? 0 : (mod->tx_num + 1); in ican3_new_send_msg()
565 struct ican3_new_desc desc; in ican3_new_recv_msg() local
566 void __iomem *desc_addr = mod->dpm + (mod->rx_num * sizeof(desc)); in ican3_new_recv_msg()
570 memcpy_fromio(&desc, desc_addr, sizeof(desc)); in ican3_new_recv_msg()
572 if (!(desc.control & DESC_VALID)) { in ican3_new_recv_msg()
578 ican3_set_page(mod, desc.pointer); in ican3_new_recv_msg()
583 desc.control ^= DESC_VALID; in ican3_new_recv_msg()
584 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_new_recv_msg()
587 mod->rx_num = (desc.control & DESC_WRAP) ? 0 : (mod->rx_num + 1); in ican3_new_recv_msg()
806 struct ican3_fast_desc *desc, in ican3_to_can_frame() argument
809 if ((desc->command & ICAN3_CAN_TYPE_MASK) == ICAN3_CAN_TYPE_SFF) { in ican3_to_can_frame()
810 if (desc->data[1] & ICAN3_SFF_RTR) in ican3_to_can_frame()
813 cf->can_id |= desc->data[0] << 3; in ican3_to_can_frame()
814 cf->can_id |= (desc->data[1] & 0xe0) >> 5; in ican3_to_can_frame()
815 cf->can_dlc = get_can_dlc(desc->data[1] & ICAN3_CAN_DLC_MASK); in ican3_to_can_frame()
816 memcpy(cf->data, &desc->data[2], cf->can_dlc); in ican3_to_can_frame()
818 cf->can_dlc = get_can_dlc(desc->data[0] & ICAN3_CAN_DLC_MASK); in ican3_to_can_frame()
819 if (desc->data[0] & ICAN3_EFF_RTR) in ican3_to_can_frame()
822 if (desc->data[0] & ICAN3_EFF) { in ican3_to_can_frame()
824 cf->can_id |= desc->data[2] << 21; /* 28-21 */ in ican3_to_can_frame()
825 cf->can_id |= desc->data[3] << 13; /* 20-13 */ in ican3_to_can_frame()
826 cf->can_id |= desc->data[4] << 5; /* 12-5 */ in ican3_to_can_frame()
827 cf->can_id |= (desc->data[5] & 0xf8) >> 3; in ican3_to_can_frame()
829 cf->can_id |= desc->data[2] << 3; /* 10-3 */ in ican3_to_can_frame()
830 cf->can_id |= desc->data[3] >> 5; /* 2-0 */ in ican3_to_can_frame()
833 memcpy(cf->data, &desc->data[6], cf->can_dlc); in ican3_to_can_frame()
839 struct ican3_fast_desc *desc) in can_frame_to_ican3() argument
842 memset(desc->data, 0, sizeof(desc->data)); in can_frame_to_ican3()
845 desc->command = ICAN3_CAN_TYPE_EFF; in can_frame_to_ican3()
846 desc->data[0] |= cf->can_dlc; in can_frame_to_ican3()
847 desc->data[1] |= ICAN3_ECHO; in can_frame_to_ican3()
851 desc->data[1] |= ICAN3_SNGL; in can_frame_to_ican3()
854 desc->data[0] |= ICAN3_EFF_RTR; in can_frame_to_ican3()
858 desc->data[0] |= ICAN3_EFF; in can_frame_to_ican3()
859 desc->data[2] = (cf->can_id & 0x1fe00000) >> 21; /* 28-21 */ in can_frame_to_ican3()
860 desc->data[3] = (cf->can_id & 0x001fe000) >> 13; /* 20-13 */ in can_frame_to_ican3()
861 desc->data[4] = (cf->can_id & 0x00001fe0) >> 5; /* 12-5 */ in can_frame_to_ican3()
862 desc->data[5] = (cf->can_id & 0x0000001f) << 3; /* 4-0 */ in can_frame_to_ican3()
864 desc->data[2] = (cf->can_id & 0x7F8) >> 3; /* bits 10-3 */ in can_frame_to_ican3()
865 desc->data[3] = (cf->can_id & 0x007) << 5; /* bits 2-0 */ in can_frame_to_ican3()
869 memcpy(&desc->data[6], cf->data, cf->can_dlc); in can_frame_to_ican3()
1207 struct ican3_fast_desc __iomem *desc; in ican3_txok() local
1216 desc = mod->dpm + ((mod->fasttx_num % 16) * sizeof(*desc)); in ican3_txok()
1217 control = ioread8(&desc->control); in ican3_txok()
1235 struct ican3_fast_desc desc; in ican3_recv_skb() local
1245 desc_addr = mod->dpm + ((mod->fastrx_num % 16) * sizeof(desc)); in ican3_recv_skb()
1246 memcpy_fromio(&desc, desc_addr, sizeof(desc)); in ican3_recv_skb()
1251 if (!(desc.control & DESC_VALID)) in ican3_recv_skb()
1262 ican3_to_can_frame(mod, &desc, cf); in ican3_recv_skb()
1288 desc.control ^= DESC_VALID; in ican3_recv_skb()
1293 memcpy_toio(desc_addr, &desc, 1); in ican3_recv_skb()
1296 mod->fastrx_num = (desc.control & DESC_WRAP) ? 0 in ican3_recv_skb()
1535 struct ican3_fast_desc desc; in ican3_xmit() local
1553 desc_addr = mod->dpm + ((mod->fasttx_num % 16) * sizeof(desc)); in ican3_xmit()
1554 memset(&desc, 0, sizeof(desc)); in ican3_xmit()
1555 memcpy_fromio(&desc, desc_addr, 1); in ican3_xmit()
1558 can_frame_to_ican3(mod, cf, &desc); in ican3_xmit()
1573 desc.control |= DESC_IVALID; in ican3_xmit()
1574 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_xmit()
1579 desc.control ^= DESC_VALID; in ican3_xmit()
1580 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_xmit()
1583 mod->fasttx_num = (desc.control & DESC_WRAP) ? 0 in ican3_xmit()