Ejemplo n.º 1
0
INT32 wmt_idc_init(VOID)
{
	INT32 iRet;

	osal_memset(&gWmtIdcInfo, 0, osal_sizeof(gWmtIdcInfo));
	gWmtIdcInfo.iit.src_mod_id = AP_MOD_WMT;
	gWmtIdcInfo.iit.dest_mod_id = MD_MOD_EL1;
	gWmtIdcInfo.iit.sap_id = 0;
	gWmtIdcInfo.ops.rx_cb = wmt_idc_msg_from_lte_handing;

	iRet = mtk_conn_md_bridge_reg(gWmtIdcInfo.iit.src_mod_id, &gWmtIdcInfo.ops);
	if (iRet) {
		WMT_ERR_FUNC("mtk_conn_md_bridge_reg fail(%d)\n", iRet);
		return -1;
	}
	/* mtk_wcn_stp_flush_rx_queue(COEX_TASK_INDX); */
	return 0;

}
Ejemplo n.º 2
0
int conn_md_test(void)
{
#define PACKAGE_SIZE 100

    ipc_ilm_t ilm;
    local_para_struct *p_buf_str;
    int i =0;
    int msg_len = 0;
    p_buf_str = kmalloc (sizeof (local_para_struct) + PACKAGE_SIZE, GFP_ATOMIC);
    if (NULL == p_buf_str)
    {
        CONN_MD_ERR_FUNC("kmalloc for local para ptr structure failed.\n");
        return -1;
    }
    p_buf_str->msg_len = PACKAGE_SIZE;
    for (i = 0; i < PACKAGE_SIZE; i++)
        p_buf_str->data[i] = i;

    ilm.local_para_ptr = p_buf_str;

    g_ops.rx_cb = conn_md_test_rx_cb;


    mtk_conn_md_bridge_reg (0x800001, &g_ops);
    mtk_conn_md_bridge_reg (0x800005, &g_ops);
    mtk_conn_md_bridge_reg (0x800009, &g_ops);

    ilm.dest_mod_id = 0x800005;
    ilm.src_mod_id = 0x800001;
    ilm.msg_id = 0;

    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x800005;
    ilm.src_mod_id = 0x800009;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x800001;
    ilm.src_mod_id = 0x800009;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x80000a;
    ilm.src_mod_id = 0x800009;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x800009;
    ilm.src_mod_id = 0x80000a;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x800005;
    ilm.src_mod_id = 0x800001;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x800001;
    ilm.src_mod_id = 0x800005;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    ilm.dest_mod_id = 0x800001;
    ilm.src_mod_id = 0x80000a;
    ilm.msg_id++;
    msg_len += 10;
    msg_len = msg_len >= PACKAGE_SIZE ? PACKAGE_SIZE : msg_len;
    ilm.local_para_ptr->msg_len = msg_len;
    mtk_conn_md_bridge_send_msg (&ilm);

    kfree(p_buf_str);
    p_buf_str = NULL;

    conn_md_dmp_msg_queued(0, 0x80000a);

    mtk_conn_md_bridge_unreg(0x800001);
    conn_md_dmp_msg_queued(0, 0);
    conn_md_dmp_msg_active(0, 0);

    mtk_conn_md_bridge_unreg(0x800009);

    mtk_conn_md_bridge_unreg(0x80000a);
    conn_md_dmp_msg_queued(0, 0);
    conn_md_dmp_msg_active(0, 0);

    conn_md_dmp_msg_logged(0x800009, 0x800001);
    conn_md_dmp_msg_logged(0x800009, 0);
    conn_md_dmp_msg_logged(0, 0);
    conn_md_dmp_msg_logged(0x80000a, 0);


    return 0;
}