Esempio n. 1
0
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);
	}
}
Esempio n. 2
0
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);
        }
}