| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- #define DFT_TAG "[CONN_MD_EXP]"
- #include "conn_md_log.h"
- #include "conn_md_exp.h"
- #include "conn_md.h"
- CONN_MD_BRIDGE_OPS g_ops;
- static int conn_md_test_rx_cb(ipc_ilm_t *ilm);
- 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;
- }
- static int conn_md_test_rx_cb(ipc_ilm_t *ilm)
- {
- int i = 0;
- pr_warn("%s, ilm:0x%p\n", __func__, ilm);
- pr_warn("%s, ilm:src_id(%d), dst_id(%d), msg_id(%d)\n", __func__,
- ilm->src_mod_id, ilm->dest_mod_id, ilm->msg_id);
- pr_warn("%s, local_para_ptr:0x%p, msg_len:%d\n", __func__, ilm->local_para_ptr,
- ilm->local_para_ptr->msg_len);
- for (i = 0; i < ilm->local_para_ptr->msg_len; i++) {
- pr_warn("%d ", ilm->local_para_ptr->data[i]);
- if ((0 != i) && (((1 + i) % 8) == 0))
- pr_warn("\n");
- }
- return 0;
- }
|