OSDN Git Service

q6asm: retry asm open in case of session id conflict
authorHan Lu <hanlu@codeaurora.org>
Tue, 9 Jan 2018 12:24:47 +0000 (20:24 +0800)
committerGerrit - the friendly Code Review server <code-review@localhost>
Mon, 4 Jun 2018 07:32:36 +0000 (00:32 -0700)
commit53c8faf4dc088ab4da0021750047e90023ce3284
tree10fe55704f8d9fbb68dfc1f8a5f974bd0a27989f
parentfd95dadf54bf08e910a4cad0bbce8d25e8813429
q6asm: retry asm open in case of session id conflict

The ADSP asm session ids are managed by the kernel driver. It's all right
for native use cases. But for virtualization use cases, there's no way to
synchronize the session ids' status among virtual machines.  Playing back
in one virtual machine is probably failed, because the session id may had
been occupied by a use case in another virtual machine.

The patch allowed audio playback stream to try all available session ids
in case of session id conflict error, to support concurrent playback from
multiple virtual machines.

Change-Id: If98d05898cec3f05d80c750ec8a014add3b1f34c
Signed-off-by: Han Lu <hanlu@codeaurora.org>
include/sound/q6asm-v2.h
sound/soc/msm/qdsp6v2/msm-pcm-q6-v2.c
sound/soc/msm/qdsp6v2/q6asm.c