|
@@ -1485,9 +1485,9 @@ void __dsp_cvp_sess_create(struct cvp_dsp_cmd_msg *cmd)
|
|
|
|
|
|
inst->task = task;
|
|
|
dprintk(CVP_DSP,
|
|
|
- "%s CREATE_SESS id 0x%x, cpu_low 0x%x, cpu_high 0x%x\n",
|
|
|
+ "%s CREATE_SESS id 0x%x, cpu_low 0x%x, cpu_high 0x%x, inst %pK, inst->session %pK\n",
|
|
|
__func__, cmd->session_id, cmd->session_cpu_low,
|
|
|
- cmd->session_cpu_high);
|
|
|
+ cmd->session_cpu_high, inst, inst->session);
|
|
|
|
|
|
spin_lock(&inst->core->resources.pm_qos.lock);
|
|
|
inst->core->resources.pm_qos.off_vote_cnt++;
|
|
@@ -1811,8 +1811,9 @@ void __dsp_cvp_mem_alloc(struct cvp_dsp_cmd_msg *cmd)
|
|
|
cmd->sbuf.iova = buf->smem->device_addr;
|
|
|
cmd->sbuf.v_dsp_addr = v_dsp_addr;
|
|
|
dprintk(CVP_DSP, "%s: size %d, iova 0x%x, v_dsp_addr 0x%llx\n",
|
|
|
- __func__, cmd->sbuf.size, cmd->sbuf.iova,
|
|
|
- cmd->sbuf.v_dsp_addr);
|
|
|
+ __func__, cmd->sbuf.size, cmd->sbuf.iova, cmd->sbuf.v_dsp_addr);
|
|
|
+ dprintk(CVP_DSP, "%s: DSP2CPU_session_id 0x%x, smem_fd 0x%x, smem_refcount %d\n",
|
|
|
+ __func__, dsp2cpu_cmd->session_id, buf->smem->fd, buf->smem->refcount);
|
|
|
|
|
|
cvp_put_fastrpc_node(frpc_node);
|
|
|
return;
|
|
@@ -1883,7 +1884,8 @@ void __dsp_cvp_mem_free(struct cvp_dsp_cmd_msg *cmd)
|
|
|
}
|
|
|
|
|
|
/* Verify with device addr */
|
|
|
- if (buf->smem->device_addr == dsp2cpu_cmd->sbuf.iova) {
|
|
|
+ if ((buf->smem->device_addr == dsp2cpu_cmd->sbuf.iova) &&
|
|
|
+ (buf->fd == dsp2cpu_cmd->sbuf.fd)) {
|
|
|
dprintk(CVP_DSP, "%s find device addr 0x%x\n",
|
|
|
__func__, buf->smem->device_addr);
|
|
|
dprintk(CVP_DSP, "fd in list 0x%x, fd from dsp 0x%x\n",
|