static void process_rpc_request(uint32_t proc, uint32_t xid, void *data, int len) { uint32_t *x = data; uint32_t cb_id, data_len, pointer; if (0) { int n = len / 4; pr_info("rpc_call proc %d:", proc); while (n--) pr_info(" %08x", be32_to_cpu(*x++)); pr_info("\n"); } if (proc == VOC_PCM_CLIENT_INPUT_PTR) { cb_id = be32_to_cpu(*x++); pointer = be32_to_cpu(*x++); data_len = be32_to_cpu(*x++); put_vocpcm_data(x, cb_id, data_len, snd_ept, xid); rpc_in_ack(snd_ept, xid); } else if (proc == VOC_PCM_CLIENT_OUTPUT_PTR) { cb_id = be32_to_cpu(*x++); data_len = be32_to_cpu(*x++); get_vocpcm_data(x, cb_id, data_len); rpc_ack(snd_ept, xid); } else if (proc == SND_CB_FUNC_PTR_TYPE_PROC) { rpc_ack(snd_ept, xid); } else { pr_err("snd_client: unknown rpc proc %d\n", proc); rpc_ack(snd_ept, xid); } }
static void process_rpc_request(uint32_t proc, uint32_t xid, void *data, int len) { uint32_t *x = data; uint32_t cb_id, data_len, pointer; if (proc == VOC_PCM_CLIENT_INPUT_PTR) { cb_id = be32_to_cpu(*x++); pointer = be32_to_cpu(*x++); data_len = be32_to_cpu(*x++); put_vocpcm_data(x, cb_id, data_len, the_voc.ept, xid); rpc_in_ack(the_voc.ept, xid); } else if (proc == VOC_PCM_CLIENT_OUTPUT_PTR) { cb_id = be32_to_cpu(*x++); data_len = be32_to_cpu(*x++); get_vocpcm_data(x, cb_id, data_len); rpc_ack(the_voc.ept, xid); } else { pr_err("voc_client: unknown rpc proc %d\n", proc); rpc_ack(the_voc.ept, xid); } }