Lines Matching refs:data
162 uint8_t data[CDC_NCM_SEND_NTB_MAX_SIZE]; member
170 uint8_t data[CDC_NCM_RECV_NTB_MAX_SIZE]; member
238 static uint8_t cdc_ncm_get_ctrl_if(struct cdc_ncm_eth_data *const data) in cdc_ncm_get_ctrl_if() argument
240 struct usbd_cdc_ncm_desc *desc = data->desc; in cdc_ncm_get_ctrl_if()
249 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_get_int_in() local
250 struct usbd_cdc_ncm_desc *desc = data->desc; in cdc_ncm_get_int_in()
264 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_get_bulk_in() local
265 struct usbd_cdc_ncm_desc *desc = data->desc; in cdc_ncm_get_bulk_in()
291 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_get_bulk_out() local
292 struct usbd_cdc_ncm_desc *desc = data->desc; in cdc_ncm_get_bulk_out()
321 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_out_start() local
326 if (atomic_test_and_set_bit(&data->state, CDC_NCM_OUT_ENGAGED)) { in cdc_ncm_out_start()
347 static int verify_nth16(struct cdc_ncm_eth_data *const data, in verify_nth16() argument
370 if (sys_le16_to_cpu(nthdr16->wSequence) != data->rx_seq) { in verify_nth16()
372 sys_le16_to_cpu(nthdr16->wSequence), data->rx_seq); in verify_nth16()
373 data->rx_seq = sys_le16_to_cpu(nthdr16->wSequence); in verify_nth16()
376 data->rx_seq++; in verify_nth16()
404 ndphdr16 = (const struct ndp16 *)(ntb->data + in verify_nth16()
430 static int check_frame(struct cdc_ncm_eth_data *data, struct net_buf *const buf) in check_frame() argument
432 const union recv_ntb *ntb = (union recv_ntb *)buf->data; in check_frame()
442 ret = verify_nth16(data, ntb, len); in check_frame()
449 (ntb->data + sys_le16_to_cpu(nthdr16->wNdpIndex) + in check_frame()
452 ndptr16 = (const struct ndp16 *)(ntb->data + sys_le16_to_cpu(nthdr16->wNdpIndex)); in check_frame()
498 LOG_HEXDUMP_DBG(ntb->data, len, "NTB"); in check_frame()
510 const union recv_ntb *ntb = (union recv_ntb *)buf->data; in cdc_ncm_acl_out_cb()
511 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_acl_out_cb() local
528 ret = check_frame(data, buf); in cdc_ncm_acl_out_cb()
553 ndp = (const struct ndp16 *)(ntb->data + sys_le16_to_cpu(nthdr16->wNdpIndex)); in cdc_ncm_acl_out_cb()
574 pkt = net_pkt_rx_alloc_with_buffer(data->iface, len, AF_UNSPEC, 0, K_FOREVER); in cdc_ncm_acl_out_cb()
598 if (net_recv_data(data->iface, pkt) < 0) { in cdc_ncm_acl_out_cb()
611 atomic_clear_bit(&data->state, CDC_NCM_OUT_ENGAGED); in cdc_ncm_acl_out_cb()
612 if (atomic_test_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED)) { in cdc_ncm_acl_out_cb()
621 struct cdc_ncm_eth_data *data = dev->data; in ncm_handle_notifications() local
626 data->if_state = IF_STATE_INIT; in ncm_handle_notifications()
629 if (data->if_state == IF_STATE_SPEED_CHANGE_SUBMITTED) { in ncm_handle_notifications()
630 data->if_state = IF_STATE_SPEED_CHANGE_SENT; in ncm_handle_notifications()
632 (void)k_work_reschedule(&data->notif_work, K_MSEC(1)); in ncm_handle_notifications()
635 if (data->if_state == IF_STATE_CONNECTION_STATUS_SUBMITTED) { in ncm_handle_notifications()
636 data->if_state = IF_STATE_CONNECTION_STATUS_SENT; in ncm_handle_notifications()
646 struct cdc_ncm_eth_data *data = dev->data; in usbd_cdc_ncm_request() local
657 k_sem_give(&data->sync_sem); in usbd_cdc_ncm_request()
673 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_send_notification() local
674 struct usbd_class_data *c_data = data->c_data; in cdc_ncm_send_notification()
679 if (!atomic_test_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED)) { in cdc_ncm_send_notification()
684 if (atomic_test_bit(&data->state, CDC_NCM_CLASS_SUSPENDED)) { in cdc_ncm_send_notification()
710 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_send_connected() local
719 .wIndex = sys_cpu_to_le16(cdc_ncm_get_ctrl_if(data)), in cdc_ncm_send_connected()
736 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_send_speed_change() local
737 struct usbd_class_data *c_data = data->c_data; in cdc_ncm_send_speed_change()
750 .wIndex = sys_cpu_to_le16(cdc_ncm_get_ctrl_if(data)), in cdc_ncm_send_speed_change()
771 struct cdc_ncm_eth_data *data = dev->data; in ncm_send_notification_sequence() local
775 if (data->if_state == IF_STATE_INIT) { in ncm_send_notification_sequence()
783 data->if_state = IF_STATE_SPEED_CHANGE_SUBMITTED; in ncm_send_notification_sequence()
787 if (data->if_state == IF_STATE_SPEED_CHANGE_SENT) { in ncm_send_notification_sequence()
795 data->if_state = IF_STATE_CONNECTION_STATUS_SUBMITTED; in ncm_send_notification_sequence()
799 if (data->if_state == IF_STATE_CONNECTION_STATUS_SENT) { in ncm_send_notification_sequence()
801 data->if_state = IF_STATE_DONE; in ncm_send_notification_sequence()
810 struct cdc_ncm_eth_data *data; in send_notification_work() local
814 data = CONTAINER_OF(notif_work, struct cdc_ncm_eth_data, notif_work); in send_notification_work()
815 dev = usbd_class_get_private(data->c_data); in send_notification_work()
817 if (atomic_test_bit(&data->state, CDC_NCM_IFACE_UP)) { in send_notification_work()
820 data->if_state = IF_STATE_INIT; in send_notification_work()
825 (void)k_work_reschedule(&data->notif_work, K_MSEC(100)); in send_notification_work()
833 struct cdc_ncm_eth_data *data = dev->data; in usbd_cdc_ncm_update() local
834 struct usbd_cdc_ncm_desc *desc = data->desc; in usbd_cdc_ncm_update()
842 atomic_clear_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED); in usbd_cdc_ncm_update()
843 data->tx_seq = 0; in usbd_cdc_ncm_update()
844 data->rx_seq = 0; in usbd_cdc_ncm_update()
848 atomic_set_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED); in usbd_cdc_ncm_update()
849 data->if_state = IF_STATE_INIT; in usbd_cdc_ncm_update()
850 (void)k_work_reschedule(&data->notif_work, K_MSEC(100)); in usbd_cdc_ncm_update()
866 struct cdc_ncm_eth_data *data = dev->data; in usbd_cdc_ncm_disable() local
868 atomic_clear_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED); in usbd_cdc_ncm_disable()
869 atomic_clear_bit(&data->state, CDC_NCM_CLASS_SUSPENDED); in usbd_cdc_ncm_disable()
877 struct cdc_ncm_eth_data *data = dev->data; in usbd_cdc_ncm_suspended() local
879 atomic_set_bit(&data->state, CDC_NCM_CLASS_SUSPENDED); in usbd_cdc_ncm_suspended()
885 struct cdc_ncm_eth_data *data = dev->data; in usbd_cdc_ncm_resumed() local
887 atomic_clear_bit(&data->state, CDC_NCM_CLASS_SUSPENDED); in usbd_cdc_ncm_resumed()
981 struct cdc_ncm_eth_data *const data = dev->data; in usbd_cdc_ncm_init() local
982 struct usbd_cdc_ncm_desc *desc = data->desc; in usbd_cdc_ncm_init()
992 if (usbd_add_descriptor(uds_ctx, data->mac_desc_data)) { in usbd_cdc_ncm_init()
995 desc->if0_ecm.iMACAddress = usbd_str_desc_get_idx(data->mac_desc_data); in usbd_cdc_ncm_init()
1004 struct cdc_ncm_eth_data *const data = dev->data; in usbd_cdc_ncm_shutdown() local
1005 struct usbd_cdc_ncm_desc *desc = data->desc; in usbd_cdc_ncm_shutdown()
1008 sys_dlist_remove(&data->mac_desc_data->node); in usbd_cdc_ncm_shutdown()
1015 struct cdc_ncm_eth_data *const data = dev->data; in usbd_cdc_ncm_get_desc() local
1018 return data->hs_desc; in usbd_cdc_ncm_get_desc()
1021 return data->fs_desc; in usbd_cdc_ncm_get_desc()
1026 struct cdc_ncm_eth_data *const data = dev->data; in cdc_ncm_send() local
1027 struct usbd_class_data *c_data = data->c_data; in cdc_ncm_send()
1037 if (!atomic_test_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED) || in cdc_ncm_send()
1038 !atomic_test_bit(&data->state, CDC_NCM_IFACE_UP)) { in cdc_ncm_send()
1040 atomic_test_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED), in cdc_ncm_send()
1041 atomic_test_bit(&data->state, CDC_NCM_IFACE_UP)); in cdc_ncm_send()
1051 ntb = (union send_ntb *)buf->data; in cdc_ncm_send()
1055 ntb->nth.wSequence = sys_cpu_to_le16(++data->tx_seq); in cdc_ncm_send()
1073 if (net_pkt_read(pkt, buf->data + buf->len, len)) { in cdc_ncm_send()
1087 k_sem_take(&data->sync_sem, K_FOREVER); in cdc_ncm_send()
1098 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_set_config() local
1101 memcpy(data->mac_addr, config->mac_address.addr, in cdc_ncm_set_config()
1102 sizeof(data->mac_addr)); in cdc_ncm_set_config()
1119 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_iface_start() local
1121 LOG_DBG("Start interface %d", net_if_get_by_iface(data->iface)); in cdc_ncm_iface_start()
1123 atomic_set_bit(&data->state, CDC_NCM_IFACE_UP); in cdc_ncm_iface_start()
1124 net_if_carrier_on(data->iface); in cdc_ncm_iface_start()
1126 if (atomic_test_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED)) { in cdc_ncm_iface_start()
1127 (void)k_work_reschedule(&data->notif_work, K_MSEC(1)); in cdc_ncm_iface_start()
1135 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_iface_stop() local
1137 LOG_DBG("Stop interface %d", net_if_get_by_iface(data->iface)); in cdc_ncm_iface_stop()
1139 atomic_clear_bit(&data->state, CDC_NCM_IFACE_UP); in cdc_ncm_iface_stop()
1141 if (atomic_test_bit(&data->state, CDC_NCM_DATA_IFACE_ENABLED)) { in cdc_ncm_iface_stop()
1142 (void)k_work_reschedule(&data->notif_work, K_MSEC(1)); in cdc_ncm_iface_stop()
1151 struct cdc_ncm_eth_data *data = dev->data; in cdc_ncm_iface_init() local
1153 data->iface = iface; in cdc_ncm_iface_init()
1155 net_if_set_link_addr(iface, data->mac_addr, in cdc_ncm_iface_init()
1156 sizeof(data->mac_addr), in cdc_ncm_iface_init()
1166 struct cdc_ncm_eth_data *data = dev->data; in usbd_cdc_ncm_preinit() local
1168 k_work_init_delayable(&data->notif_work, send_notification_work); in usbd_cdc_ncm_preinit()
1170 if (sys_get_le48(data->mac_addr) == sys_cpu_to_le48(0)) { in usbd_cdc_ncm_preinit()
1171 gen_random_mac(data->mac_addr, 0, 0, 0); in usbd_cdc_ncm_preinit()