Lines Matching refs:ul_adb
709 struct mux_adb *ul_adb, u32 type) in ipc_mux_ul_skb_alloc() argument
712 struct sk_buff *skb = skb_dequeue(&ul_adb->free_list); in ipc_mux_ul_skb_alloc()
727 ul_adb->dest_skb = skb; in ipc_mux_ul_skb_alloc()
728 ul_adb->buf = skb->data; in ipc_mux_ul_skb_alloc()
729 ul_adb->size = IPC_MEM_MAX_ADB_BUF_SIZE; in ipc_mux_ul_skb_alloc()
732 ul_adb->if_cnt = 0; in ipc_mux_ul_skb_alloc()
733 ul_adb->payload_size = 0; in ipc_mux_ul_skb_alloc()
734 ul_adb->dg_cnt_total = 0; in ipc_mux_ul_skb_alloc()
737 ul_adb->adbh = (struct mux_adbh *)ul_adb->buf; in ipc_mux_ul_skb_alloc()
738 memset(ul_adb->adbh, 0, sizeof(struct mux_adbh)); in ipc_mux_ul_skb_alloc()
739 ul_adb->adbh->signature = cpu_to_le32(IOSM_AGGR_MUX_SIG_ADBH); in ipc_mux_ul_skb_alloc()
740 ul_adb->adbh->block_length = in ipc_mux_ul_skb_alloc()
742 next_tb_id = (unsigned int *)&ul_adb->adbh->first_table_index; in ipc_mux_ul_skb_alloc()
743 ul_adb->next_table_index = next_tb_id; in ipc_mux_ul_skb_alloc()
746 memset(ul_adb->dg, 0, sizeof(ul_adb->dg)); in ipc_mux_ul_skb_alloc()
750 ul_adb->dg_count[if_id] = 0; in ipc_mux_ul_skb_alloc()
751 ul_adb->qlt_updated[if_id] = 0; in ipc_mux_ul_skb_alloc()
757 ul_adb->dest_skb = skb; in ipc_mux_ul_skb_alloc()
758 ul_adb->buf = skb->data; in ipc_mux_ul_skb_alloc()
759 ul_adb->size = IPC_MEM_MAX_DL_MUX_LITE_BUF_SIZE; in ipc_mux_ul_skb_alloc()
761 ul_adb->if_cnt = 0; in ipc_mux_ul_skb_alloc()
762 ul_adb->payload_size = 0; in ipc_mux_ul_skb_alloc()
763 ul_adb->dg_cnt_total = 0; in ipc_mux_ul_skb_alloc()
765 ul_adb->adgh = (struct mux_adgh *)skb->data; in ipc_mux_ul_skb_alloc()
766 memset(ul_adb->adgh, 0, sizeof(struct mux_adgh)); in ipc_mux_ul_skb_alloc()
780 ul_adb->qlth_skb = skb; in ipc_mux_ul_skb_alloc()
781 memset((ul_adb->qlth_skb)->data, 0, qlt_size); in ipc_mux_ul_skb_alloc()
791 struct mux_adb *ul_adb = &ipc_mux->ul_adb; in ipc_mux_ul_adgh_finish() local
796 if (!ul_adb->dest_skb) { in ipc_mux_ul_adgh_finish()
801 adgh_len = le16_to_cpu(ul_adb->adgh->length); in ipc_mux_ul_adgh_finish()
802 skb_put(ul_adb->dest_skb, adgh_len); in ipc_mux_ul_adgh_finish()
803 skb_queue_tail(&ipc_mux->channel->ul_list, ul_adb->dest_skb); in ipc_mux_ul_adgh_finish()
804 ul_adb->dest_skb = NULL; in ipc_mux_ul_adgh_finish()
809 session = &ipc_mux->session[ul_adb->adgh->if_id]; in ipc_mux_ul_adgh_finish()
821 adgh_len, ul_adb->adgh->if_id, ul_adb->payload_size, in ipc_mux_ul_adgh_finish()
826 struct mux_adb *ul_adb, int *out_offset) in ipc_mux_ul_encode_adth() argument
839 if (ul_adb->dg_count[i] > 0) { in ipc_mux_ul_encode_adth()
841 ul_adb->dg_count[i] * sizeof(*dg); in ipc_mux_ul_encode_adth()
843 *ul_adb->next_table_index = offset; in ipc_mux_ul_encode_adth()
844 adth = (struct mux_adth *)&ul_adb->buf[offset]; in ipc_mux_ul_encode_adth()
846 ul_adb->next_table_index = next_tb_id; in ipc_mux_ul_encode_adth()
852 memcpy(&adth->dg, ul_adb->dg[i], adth_dg_size); in ipc_mux_ul_encode_adth()
853 ul_adb->if_cnt++; in ipc_mux_ul_encode_adth()
856 if (ul_adb->qlt_updated[i]) { in ipc_mux_ul_encode_adth()
857 *ul_adb->next_table_index = offset; in ipc_mux_ul_encode_adth()
858 p_adb_qlt = (struct mux_qlth *)&ul_adb->buf[offset]; in ipc_mux_ul_encode_adth()
859 ul_adb->next_table_index = in ipc_mux_ul_encode_adth()
861 memcpy(p_adb_qlt, ul_adb->pp_qlt[i], qlt_size); in ipc_mux_ul_encode_adth()
875 struct mux_adb *ul_adb; in ipc_mux_ul_adb_finish() local
879 ul_adb = &ipc_mux->ul_adb; in ipc_mux_ul_adb_finish()
880 if (!ul_adb->dest_skb) in ipc_mux_ul_adb_finish()
883 offset = *ul_adb->next_table_index; in ipc_mux_ul_adb_finish()
884 ipc_mux_ul_encode_adth(ipc_mux, ul_adb, &offset); in ipc_mux_ul_adb_finish()
885 ul_adb->adbh->block_length = cpu_to_le32(offset); in ipc_mux_ul_adb_finish()
887 if (le32_to_cpu(ul_adb->adbh->block_length) > ul_adb->size) { in ipc_mux_ul_adb_finish()
888 ul_adb->dest_skb = NULL; in ipc_mux_ul_adb_finish()
892 *ul_adb->next_table_index = 0; in ipc_mux_ul_adb_finish()
893 ul_adb->adbh->sequence_nr = cpu_to_le16(ipc_mux->adb_tx_sequence_nr++); in ipc_mux_ul_adb_finish()
894 skb_put(ul_adb->dest_skb, le32_to_cpu(ul_adb->adbh->block_length)); in ipc_mux_ul_adb_finish()
897 __skb_queue_tail(&ipc_mux->channel->ul_list, ul_adb->dest_skb); in ipc_mux_ul_adb_finish()
900 ul_adb->dest_skb = NULL; in ipc_mux_ul_adb_finish()
908 ipc_mux->acc_adb_size += le32_to_cpu(ul_adb->adbh->block_length); in ipc_mux_ul_adb_finish()
909 ipc_mux->acc_payload_size += ul_adb->payload_size; in ipc_mux_ul_adb_finish()
910 ipc_mux->ul_data_pend_bytes += ul_adb->payload_size; in ipc_mux_ul_adb_finish()
976 if (ipc_mux_ul_skb_alloc(ipc_mux, &ipc_mux->ul_adb, in ipc_mux_lite_send_qlt()
984 qlt = (struct ipc_mem_lite_gen_tbl *)(ipc_mux->ul_adb.qlth_skb) in ipc_mux_lite_send_qlt()
997 ipc_mux->ul_adb.qlth_skb); in ipc_mux_lite_send_qlt()
1000 ipc_mux->ul_adb.qlth_skb = NULL; in ipc_mux_lite_send_qlt()
1392 &ipc_mux->ul_adb, in ipc_mux_ul_data_encode()
1397 &ipc_mux->ul_adb, in ipc_mux_ul_data_encode()
1480 skb_queue_tail((&ipc_mux->ul_adb.free_list), skb); in ipc_mux_ul_encoded_process()