Lines Matching refs:desc

379 	struct ican3_new_desc desc;  in ican3_init_new_host_interface()  local
396 desc.control = DESC_INTERRUPT | DESC_LEN(1); /* I L=1 */ in ican3_init_new_host_interface()
397 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
401 desc.control |= DESC_WRAP; in ican3_init_new_host_interface()
403 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
404 dst += sizeof(desc); in ican3_init_new_host_interface()
417 desc.control = DESC_VALID | DESC_LEN(1); /* V L=1 */ in ican3_init_new_host_interface()
418 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
422 desc.control |= DESC_WRAP; in ican3_init_new_host_interface()
424 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
425 dst += sizeof(desc); in ican3_init_new_host_interface()
434 desc.control = DESC_VALID | DESC_WRAP | DESC_LEN(1); /* VW L=1 */ in ican3_init_new_host_interface()
435 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
436 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
444 desc.control = DESC_VALID | DESC_WRAP | DESC_LEN(1); /* VW L=1 */ in ican3_init_new_host_interface()
445 desc.pointer = mod->free_page; in ican3_init_new_host_interface()
446 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_new_host_interface()
458 struct ican3_fast_desc desc; in ican3_init_fast_host_interface() local
471 memset(&desc, 0, sizeof(desc)); in ican3_init_fast_host_interface()
472 desc.control = 0x00; in ican3_init_fast_host_interface()
473 desc.command = 1; in ican3_init_fast_host_interface()
481 desc.control |= DESC_WRAP; in ican3_init_fast_host_interface()
488 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_fast_host_interface()
489 addr += sizeof(desc); in ican3_init_fast_host_interface()
507 memset(&desc, 0, sizeof(desc)); in ican3_init_fast_host_interface()
508 desc.control = DESC_VALID; in ican3_init_fast_host_interface()
509 desc.command = 1; in ican3_init_fast_host_interface()
517 desc.control |= DESC_WRAP; in ican3_init_fast_host_interface()
524 memcpy_toio(dst, &desc, sizeof(desc)); in ican3_init_fast_host_interface()
525 addr += sizeof(desc); in ican3_init_fast_host_interface()
546 struct ican3_new_desc desc; in ican3_new_send_msg() local
547 void __iomem *desc_addr = mod->dpm + (mod->tx_num * sizeof(desc)); in ican3_new_send_msg()
551 memcpy_fromio(&desc, desc_addr, sizeof(desc)); in ican3_new_send_msg()
553 if (!(desc.control & DESC_VALID)) { in ican3_new_send_msg()
559 ican3_set_page(mod, desc.pointer); in ican3_new_send_msg()
564 desc.control ^= DESC_VALID; in ican3_new_send_msg()
565 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_new_send_msg()
568 mod->tx_num = (desc.control & DESC_WRAP) ? 0 : (mod->tx_num + 1); in ican3_new_send_msg()
577 struct ican3_new_desc desc; in ican3_new_recv_msg() local
578 void __iomem *desc_addr = mod->dpm + (mod->rx_num * sizeof(desc)); in ican3_new_recv_msg()
582 memcpy_fromio(&desc, desc_addr, sizeof(desc)); in ican3_new_recv_msg()
584 if (!(desc.control & DESC_VALID)) { in ican3_new_recv_msg()
590 ican3_set_page(mod, desc.pointer); in ican3_new_recv_msg()
595 desc.control ^= DESC_VALID; in ican3_new_recv_msg()
596 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_new_recv_msg()
599 mod->rx_num = (desc.control & DESC_WRAP) ? 0 : (mod->rx_num + 1); in ican3_new_recv_msg()
866 struct ican3_fast_desc *desc, in ican3_to_can_frame() argument
869 if ((desc->command & ICAN3_CAN_TYPE_MASK) == ICAN3_CAN_TYPE_SFF) { in ican3_to_can_frame()
870 if (desc->data[1] & ICAN3_SFF_RTR) in ican3_to_can_frame()
873 cf->can_id |= desc->data[0] << 3; in ican3_to_can_frame()
874 cf->can_id |= (desc->data[1] & 0xe0) >> 5; in ican3_to_can_frame()
875 cf->can_dlc = get_can_dlc(desc->data[1] & ICAN3_CAN_DLC_MASK); in ican3_to_can_frame()
876 memcpy(cf->data, &desc->data[2], cf->can_dlc); in ican3_to_can_frame()
878 cf->can_dlc = get_can_dlc(desc->data[0] & ICAN3_CAN_DLC_MASK); in ican3_to_can_frame()
879 if (desc->data[0] & ICAN3_EFF_RTR) in ican3_to_can_frame()
882 if (desc->data[0] & ICAN3_EFF) { in ican3_to_can_frame()
884 cf->can_id |= desc->data[2] << 21; /* 28-21 */ in ican3_to_can_frame()
885 cf->can_id |= desc->data[3] << 13; /* 20-13 */ in ican3_to_can_frame()
886 cf->can_id |= desc->data[4] << 5; /* 12-5 */ in ican3_to_can_frame()
887 cf->can_id |= (desc->data[5] & 0xf8) >> 3; in ican3_to_can_frame()
889 cf->can_id |= desc->data[2] << 3; /* 10-3 */ in ican3_to_can_frame()
890 cf->can_id |= desc->data[3] >> 5; /* 2-0 */ in ican3_to_can_frame()
893 memcpy(cf->data, &desc->data[6], cf->can_dlc); in ican3_to_can_frame()
899 struct ican3_fast_desc *desc) in can_frame_to_ican3() argument
902 memset(desc->data, 0, sizeof(desc->data)); in can_frame_to_ican3()
905 desc->command = ICAN3_CAN_TYPE_EFF; in can_frame_to_ican3()
906 desc->data[0] |= cf->can_dlc; in can_frame_to_ican3()
907 desc->data[1] |= ICAN3_ECHO; in can_frame_to_ican3()
911 desc->data[1] |= ICAN3_SNGL; in can_frame_to_ican3()
914 desc->data[0] |= ICAN3_EFF_RTR; in can_frame_to_ican3()
918 desc->data[0] |= ICAN3_EFF; in can_frame_to_ican3()
919 desc->data[2] = (cf->can_id & 0x1fe00000) >> 21; /* 28-21 */ in can_frame_to_ican3()
920 desc->data[3] = (cf->can_id & 0x001fe000) >> 13; /* 20-13 */ in can_frame_to_ican3()
921 desc->data[4] = (cf->can_id & 0x00001fe0) >> 5; /* 12-5 */ in can_frame_to_ican3()
922 desc->data[5] = (cf->can_id & 0x0000001f) << 3; /* 4-0 */ in can_frame_to_ican3()
924 desc->data[2] = (cf->can_id & 0x7F8) >> 3; /* bits 10-3 */ in can_frame_to_ican3()
925 desc->data[3] = (cf->can_id & 0x007) << 5; /* bits 2-0 */ in can_frame_to_ican3()
929 memcpy(&desc->data[6], cf->data, cf->can_dlc); in can_frame_to_ican3()
1266 struct ican3_fast_desc __iomem *desc; in ican3_txok() local
1275 desc = mod->dpm + ((mod->fasttx_num % 16) * sizeof(*desc)); in ican3_txok()
1276 control = ioread8(&desc->control); in ican3_txok()
1294 struct ican3_fast_desc desc; in ican3_recv_skb() local
1304 desc_addr = mod->dpm + ((mod->fastrx_num % 16) * sizeof(desc)); in ican3_recv_skb()
1305 memcpy_fromio(&desc, desc_addr, sizeof(desc)); in ican3_recv_skb()
1310 if (!(desc.control & DESC_VALID)) in ican3_recv_skb()
1321 ican3_to_can_frame(mod, &desc, cf); in ican3_recv_skb()
1347 desc.control ^= DESC_VALID; in ican3_recv_skb()
1352 memcpy_toio(desc_addr, &desc, 1); in ican3_recv_skb()
1355 mod->fastrx_num = (desc.control & DESC_WRAP) ? 0 in ican3_recv_skb()
1605 struct ican3_fast_desc desc; in ican3_xmit() local
1623 desc_addr = mod->dpm + ((mod->fasttx_num % 16) * sizeof(desc)); in ican3_xmit()
1624 memset(&desc, 0, sizeof(desc)); in ican3_xmit()
1625 memcpy_fromio(&desc, desc_addr, 1); in ican3_xmit()
1628 can_frame_to_ican3(mod, cf, &desc); in ican3_xmit()
1643 desc.control |= DESC_IVALID; in ican3_xmit()
1644 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_xmit()
1649 desc.control ^= DESC_VALID; in ican3_xmit()
1650 memcpy_toio(desc_addr, &desc, sizeof(desc)); in ican3_xmit()
1653 mod->fasttx_num = (desc.control & DESC_WRAP) ? 0 in ican3_xmit()