From patchwork Tue Jul 7 16:36:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 11649271 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BDFDB6C1 for ; Tue, 7 Jul 2020 16:37:55 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DD12C206E2 for ; Tue, 7 Jul 2020 16:37:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="MAE+hbvm"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ceObNRJb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DD12C206E2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id C253E11C; Tue, 7 Jul 2020 18:37:05 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz C253E11C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1594139872; bh=pTQOsCVaGdw0VyCeU79ze1Jh99TaAMXGI5SjW+OCbYs=; h=From:To:Subject:Date:Cc:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=MAE+hbvmfzkOcsV0s30KP49Ou3lP6LKV8hs0IxPJ5n4K2EqgqL6wvtm+iT58hYITw cWwt///3FJfouBZwxeSJotLyaKzX4WhujUDWk+WleV4cMoyP2BdYob2cd4IJd2T86q ZeXntRq/MtaXkgI1wwd6p8L0gIPpLghHG4y4B/q4= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 3C16EF802A0; Tue, 7 Jul 2020 18:37:05 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa1.perex.cz (Postfix, from userid 50401) id E3A6DF8027C; Tue, 7 Jul 2020 18:37:02 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on alsa1.perex.cz X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.0 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 124CBF80216 for ; Tue, 7 Jul 2020 18:36:50 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 124CBF80216 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ceObNRJb" Received: by mail-wm1-x344.google.com with SMTP id l17so43994495wmj.0 for ; Tue, 07 Jul 2020 09:36:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=AUDtaZGuLvv+SLoR7KU3Z891RyQPf3cxC2Vk4Ft9m9A=; b=ceObNRJb7swhmuIvVvg3ZWrMgV+06yjHovtpaDEvq4C3mCvWuWv+/xTa0cFjalWvb0 DkiDYsAW+KY+MufpoNp8ltf2iXAvP2ivhQ/eTvxOtu2Dwa7ZQSoER3vk+bBwrXO9siZ6 BfPqBqVmp4nDCnIA0gJQNrIXMjoAq8CZBPfpawF2hCp6x69YekTK/MSWoLa1a+Hg9+9k neMSXdGgCUmyDrUxBvrtTnfYdHo+0w0wbZN+jG07dxZ9x+oaRwJc0MCZndbsta3LNw+7 yIbnD/2BxgAALz314G6NQD/xkZaONSuA1VH+KgTN5eR+2bFZek3ybcNA433micyY7kDx z7dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=AUDtaZGuLvv+SLoR7KU3Z891RyQPf3cxC2Vk4Ft9m9A=; b=L5PNBKvFqrySn8VIkVkyktpKejrLuzhxLysUE8FvWDkjMddRKa/cyMNfU+GDfhNP90 H5sB3M6K6dHLSr46R1I3kMx5odr3XpX/48AGwaJ2Z+FjN3ssVSfpylBMyZZg+YjMj7py tqubHrC6zDs5P12SRSHL7yeUzYa8zPnfapGtz90VWS25AF2teN5LcXhpVKIqczL0fUgG kh973LAYXeNVNJq6ixLGJQD9tVBbF3VzmhzTbrv4tOw1Zx5opjKzYdjBntYHtH6zaJCi XrYRz/9kgDdJj0lslIlbJft6zEIWI1H1mQxp/tnpl3ypFoHb0riidJ1+YAxQXQea4mpv jw1Q== X-Gm-Message-State: AOAM532/PSta83go7jjmT/co8YGCyoBwJZRn0d5S/LdFO0/jj9iynur+ JzdeGcfbJq2bG1l6nQsBaCKbFQ== X-Google-Smtp-Source: ABdhPJz0MNARkMW88PzV5/chhJFzWYfOvc0ROqTGi8ma2hnlG9QS9GYEPrqvZOnoNhLS0UuMXlyHeg== X-Received: by 2002:a7b:c218:: with SMTP id x24mr4863263wmi.109.1594139809531; Tue, 07 Jul 2020 09:36:49 -0700 (PDT) Received: from srini-hackbox.lan (cpc89974-aztw32-2-0-cust43.18-1.cable.virginm.net. [86.30.250.44]) by smtp.gmail.com with ESMTPSA id p14sm1925874wrj.14.2020.07.07.09.36.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 09:36:48 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Subject: [PATCH 00/11] ASoC: qdsp6: add gapless compressed audio support Date: Tue, 7 Jul 2020 17:36:30 +0100 Message-Id: <20200707163641.17113-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Cc: alsa-devel@alsa-project.org, ckeepax@opensource.cirrus.com, tiwai@suse.com, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, vkoul@kernel.org, Srinivas Kandagatla X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" This patchset adds gapless compressed audio support on q6asm. Gapless on q6asm is implemented using 2 streams in a single asm session. First few patches are enhacements done to q6asm interface to allow stream id per each command, gapless flags and silence meta data. Along with this there are few trivial changes which I thought are necessary! Last patch implements copy callback to allow finer control over buffer offsets, specially in partial drain cases. This patchset is tested on RB3 aka DB845c platform. Thanks, srini Srinivas Kandagatla (11): ASoC: q6asm: add command opcode to timeout error report ASoC: q6asm: rename misleading session id variable ASoC: q6asm: make commands specific to streams ASoC: q6asm: use flags directly from asm-dai ASoC: q6asm: add length to write command token ASoC: q6asm: add support to remove intial and trailing silence ASoC: q6asm: add support to gapless flag in asm open ASoC: q6asm-dai: add next track metadata support ASoC: qdsp6: use dev_err instead of pr_err ASoC: qdsp6-dai: add gapless support ASoC: q6asm-dai: add support to copy callback sound/soc/qcom/qdsp6/q6asm-dai.c | 397 +++++++++++++++++++++++-------- sound/soc/qcom/qdsp6/q6asm.c | 173 +++++++++----- sound/soc/qcom/qdsp6/q6asm.h | 48 ++-- 3 files changed, 458 insertions(+), 160 deletions(-)