From patchwork Fri May 18 12:55:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 136301 Delivered-To: patch@linaro.org Received: by 2002:a2e:9706:0:0:0:0:0 with SMTP id r6-v6csp1205723lji; Fri, 18 May 2018 05:58:40 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrCyEnEVrMCkmp5WKnizkS+31OeDKcV4IVmXZkc31F8p81vAmXPa73AhPx/jK6jVHZYwhGO X-Received: by 2002:a17:902:d882:: with SMTP id b2-v6mr9167083plz.220.1526648320103; Fri, 18 May 2018 05:58:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526648320; cv=none; d=google.com; s=arc-20160816; b=ua3OsWOFgXtLTKl1aaz+vs4xL5kmo3yXjfP6sWIUbre1jfIthMDtwxqddpivjD9klG KW3QX25DP3caI2KWcXSiR0uvzMp36472NU9zlfY2/HRSLypOclU+LmkD+6kKTgt/B29p 6gS5VK9A+RUaETwgjBGxoONkUDsNcFX4JK+nQLAYO2W4gPPXgYhtD5oBHns+wm5Tb8lU KycC0KSZLF83hSpqvMYv0Dux3To5UuryHVxhObhJL7qAL/zQZal6VlFdXp4arTvzoNjE oQM5Qhunge/AE8Oa3gIimaj/6dCbcuNKQVljNfT4IazZKVbCTlaYOVZfYZU184AkfSYg 5O+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=UkB/apd/Ds+HqHobiQ/7YswWDEbvcSP71Bxjvz6MC8U=; b=NLAPc0lgXupa9uQYbXW6jq9LRFJOEffeS0KzUwXOohhj5G8C5kcdBonr5xR5nZ8+7m WGHr+vlivHmXotfNK4ncVA1OJshh603KreEch1QfhqLoBL2ydyd+gsUQ293bPWXqMsze lZ1DiC5r+zYQ5PW76rR8nIGp+gHt7mYL19M/bqVNGWDZ3rRJza8u8VCSJ31v9m3zeEee MhsX5F4qSOHJC8byjM30ryvweivK50p0ZlHiMK0XmCC9hEDYFa6JDu86UQhamSO2rRsj WNqy59NjqVxLzY/Ku+wiR9ujVA0G5fCop5Yzd+5dQBTJfi7IZPOWEAwBveaS8Ice6egY ypPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=YCvNg8bZ; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b9-v6si6709523plb.522.2018.05.18.05.58.39; Fri, 18 May 2018 05:58:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=YCvNg8bZ; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751581AbeERM6h (ORCPT + 13 others); Fri, 18 May 2018 08:58:37 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:35584 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750957AbeERM6g (ORCPT ); Fri, 18 May 2018 08:58:36 -0400 Received: by mail-wr0-f195.google.com with SMTP id i14-v6so9121644wre.2 for ; Fri, 18 May 2018 05:58:35 -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; bh=QX4HMf4hK6JlWG0yKDPthTEt5FtkfKGtYZTTVv7rx1k=; b=YCvNg8bZkWBB0+NN32yviZrG7ve9kThWIjG5EEp6o3HCJ1gX+9rqapj+g/kB7ci2nf wLkLzv3nVYCQ3MLe34MIJ2fmCsx6K9a5QJjhAPcWDobI0K0W5P5cu3cRKewk0kpg5Nmy eKjvdn+WMvWQFmcsQpdma0fO6paLw85hIVHWM= 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; bh=QX4HMf4hK6JlWG0yKDPthTEt5FtkfKGtYZTTVv7rx1k=; b=aSlGzUVL5TlCJB5NgIST2JvdpWLBPYzqXfWg9UCrH9VMTJmTs79S5jdl9JMy9dGpXm g7bOk18fuf4/orVwM+Z45c8SDeAZxVcIX7kxnzb7etyVHWZMgClX10VtFkzT7jpQh7mq rbVnT7GVrD2/eWBvUpHCswbEv0X+3Yi1qJgei2H2dNEBM/zjQax7katXRDbzmE/a7ar2 r+0+Q5ZCDsJwcl+H95AdcTEsUYzYzF9V6vqVXBB6Y5Q6Zu2pdW1nxauoytoFrRy/Zwij 1G5DvtmCT+SE5Hr4qqidV7PIaXeRz53lrR9dXiwsl8WiLr2nM7ZsDceh1+T8r/ihWaZv h5cA== X-Gm-Message-State: ALKqPwcwgGUOm6GCY3IDYE8KdhVA9V551dAxANqbpVzg6QoW5T0YxK1i 72EGbKuY9YzJMRPrK3QLGFYvag== X-Received: by 2002:adf:b979:: with SMTP id b54-v6mr8056126wrg.265.1526648315149; Fri, 18 May 2018 05:58:35 -0700 (PDT) Received: from localhost.localdomain (cpc90716-aztw32-2-0-cust92.18-1.cable.virginm.net. [86.26.100.93]) by smtp.gmail.com with ESMTPSA id x7-v6sm7868034wrm.35.2018.05.18.05.58.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 18 May 2018 05:58:34 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org, linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, bgoswami@codeaurora.org Cc: robh+dt@kernel.org, gregkh@linuxfoundation.org, david.brown@linaro.org, mark.rutland@arm.com, lgirdwood@gmail.com, plai@codeaurora.org, tiwai@suse.com, perex@perex.cz, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, rohkumar@qti.qualcomm.com, spatakok@qti.qualcomm.com, Srinivas Kandagatla Subject: [PATCH v9 00/15] ASoC: qcom: Add support to QDSP based Audio Date: Fri, 18 May 2018 13:55:55 +0100 Message-Id: <20180518125610.26200-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.16.2 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Thankyou everyone for providing feedback and testing v8 patchset. Changes since v8 (https://lkml.org/lkml/2018/5/9/491) - Fixed usecase across afe, adm, asm where user can trigger manual unbind if dsp does not respond/responds very lately. Spotted by Mark B. - rebased patchset on top of(removed patches arleady applied) https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/?h=for-next This patchset aims to provide a basic version of QCOM DSP based audio support which is available in downstream andriod kernels. This patchset support audio playback on HDMI-RX, MI2S, SLIMBus and will add support to other features as we move on. QDSP has both static and dynamic modules. static modules like AFE (Audio FrontEnd), ADM (Audio Device Manager), ASM(Audio Stream Manager) and CORE to provide this audio services. All these services use APR (Asynchronous Packet Router) protocol via smd/glink transport to communicate with Application processor. More details on each module is available in there respective patch. This patchset is tested on DB820c, with HDMI audio playback, MI2S on DB410c on top of mainline, Also tested SLIMBus analog audio using wcd9355 with an additional patches. Patches are also tested on SDM845 by Rohit. Here is my test branch incase someone want to try these patches https://git.linaro.org/people/srinivas.kandagatla/linux.git/log/?h=v4.17-qdsp6 Here is block diagram to give a quick overview of the components +---------+ +---------+ +---------+ | q6asm | |q6routing| | q6afe | | dais | <------> | mixers | <-----> | dais | +---------+ +---------+ +---------+ ^ ^ ^ | | | | +------------------+----------------+ | | | | | | v v v v v +---------+ +---------+ +---------+ | q6ASM | | q6ADM | | q6AFE | +---------+ +---------+ +---------+ ^ ^ ^ ^ | | | CPU Side | ------+---------------------+-------------------+-------- | | | | |APR(smd/glink) | | | | | +------------------+----------------+ | | | | | | +-----+--+-----------------------------------+--+------- | | | | | QDSP Side | v v v v v v +---------+ +---------+ +---------+ | ASM | <------> | ADM | <-----> | AFE | +---------+ +---------+ +---------+ ^ | +-------------------+ | ---------------------------+-------------------------- | Audio I/O | v v +--------------------------------------------------+ | Audio devices | | CODEC | HDMI-TX | PCM | SLIMBUS | I2S |MI2S |...| | | +--------------------------------------------------+ Thanks, srini Srinivas Kandagatla (15): ASoC: qdsp6: q6afe: Add q6afe driver ASoC: qdsp6: qdafe: Add SLIMBus port Support ASoC: qdsp6: q6afe: Add support to MI2S ports ASoC: qdsp6: q6afe: Add support to MI2S sysclks ASoC: qdsp6: q6adm: Add q6adm driver ASoC: qdsp6: q6asm: Add q6asm driver ASoC: qdsp6: q6asm: Add support to memory map and unmap ASoC: qdsp6: q6asm: Add support to audio stream apis ASoC: qdsp6: q6routing: Add q6routing driver ASoC: qdsp6: q6routing: Add support to all SLIMBus Mixers ASoC: qdsp6: q6routing: Add support to MI2S Mixers ASoC: qdsp6: q6afe: Add q6afe dai driver ASoC: qdsp6: q6asm: Add q6asm dai driver ASoC: qdsp6: dt-bindings: Add apq8096 machine bindings ASoC: qcom: apq8096: Add db820c machine driver .../devicetree/bindings/sound/qcom,apq8096.txt | 109 ++ sound/soc/qcom/Kconfig | 33 + sound/soc/qcom/Makefile | 2 + sound/soc/qcom/apq8096.c | 255 ++++ sound/soc/qcom/qdsp6/Makefile | 6 + sound/soc/qcom/qdsp6/q6adm.c | 646 +++++++++ sound/soc/qcom/qdsp6/q6adm.h | 27 + sound/soc/qcom/qdsp6/q6afe-dai.c | 748 +++++++++++ sound/soc/qcom/qdsp6/q6afe.c | 1068 +++++++++++++++ sound/soc/qcom/qdsp6/q6afe.h | 193 +++ sound/soc/qcom/qdsp6/q6asm-dai.c | 624 +++++++++ sound/soc/qcom/qdsp6/q6asm.c | 1399 ++++++++++++++++++++ sound/soc/qcom/qdsp6/q6asm.h | 69 + sound/soc/qcom/qdsp6/q6routing.c | 990 ++++++++++++++ sound/soc/qcom/qdsp6/q6routing.h | 9 + 15 files changed, 6178 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,apq8096.txt create mode 100644 sound/soc/qcom/apq8096.c create mode 100644 sound/soc/qcom/qdsp6/q6adm.c create mode 100644 sound/soc/qcom/qdsp6/q6adm.h create mode 100644 sound/soc/qcom/qdsp6/q6afe-dai.c create mode 100644 sound/soc/qcom/qdsp6/q6afe.c create mode 100644 sound/soc/qcom/qdsp6/q6afe.h create mode 100644 sound/soc/qcom/qdsp6/q6asm-dai.c create mode 100644 sound/soc/qcom/qdsp6/q6asm.c create mode 100644 sound/soc/qcom/qdsp6/q6asm.h create mode 100644 sound/soc/qcom/qdsp6/q6routing.c create mode 100644 sound/soc/qcom/qdsp6/q6routing.h -- 2.16.2 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html