From patchwork Wed Jan 16 17:10:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10766455 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1AC29746 for ; Wed, 16 Jan 2019 17:11:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 01DE72F26B for ; Wed, 16 Jan 2019 17:11:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0050C2F26C; Wed, 16 Jan 2019 17:11:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97BC02F274 for ; Wed, 16 Jan 2019 17:11:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405434AbfAPRKr (ORCPT ); Wed, 16 Jan 2019 12:10:47 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:43291 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390652AbfAPRKp (ORCPT ); Wed, 16 Jan 2019 12:10:45 -0500 Received: by mail-pl1-f195.google.com with SMTP id gn14so3291238plb.10 for ; Wed, 16 Jan 2019 09:10:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=GeyXvvqE5bL0aSA9R8EemEtHWRM9NeMogHgyU1Syf0k=; b=a1kvmDhPW81K3f0m0+Jig4OKzRNMPLUeAoJTMJ2WPWBzPThKbtn8jU5zc1lbiCLGfZ hiQqYjxGREPP0RnDgfG3dOwVZbCs6jk+Zrpluqb6wYdTApVW8LF9PGUjUvMX1d3iXQBB g58DRO+VyOOrLNtoAIglBfC93/Y5Y3kvMmTAQ= 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:in-reply-to :references; bh=GeyXvvqE5bL0aSA9R8EemEtHWRM9NeMogHgyU1Syf0k=; b=e+570IW0xC4x4asa3kgzlgGAcpdSCaRI6WhicLJ6u3rBn3TKwe0Sj689P9AGiT7bm9 s8Wjywo8T6HbHjbEgwRlJWXjLQpNOmAVtOuHU+TRkUppgOzWYC8kdyu7GEJ4k27S2Osa AsOQg1+0aRRusLxrKkTBLcH4rXtA7jQR9pJ3SUxKHEo/hz1dqMLc8xQt+0yDKUXRyZnE 4K7sow1cRds9M8ucn10PBZI0cb5itughw1IEzD+Avv3ch50BA4ktfqjKBCJ9NVrvFysC elAyNj/at5qFkLgHO/0nmQDrdg5ew08GhF8D53iNf7AskWoa+PHqIVeq//vJ2qKdLVD/ +oNA== X-Gm-Message-State: AJcUukdnRQR11a2kXXp9sRpe7VmWTJCA5riyHnuFfXJ3Jtap9VaETkTJ mO2/aYcQnC/owcdurC/+Hyh8pw== X-Google-Smtp-Source: ALg8bN7nlqj4eb8HA/AK0fRhI7c6n2hui2RsCL9RXiebA/o/re4EvsYevFU9l+JTA3cM1IsKOrOgdQ== X-Received: by 2002:a17:902:66e6:: with SMTP id e93mr10678478plk.92.1547658644110; Wed, 16 Jan 2019 09:10:44 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id h129sm17914023pfb.110.2019.01.16.09.10.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Jan 2019 09:10:43 -0800 (PST) From: John Stultz To: lkml Cc: Youlin Wang , Vinod Koul , Rob Herring , Mark Rutland , Zhuangluan Su , Tanglei Han , Ryan Grachek , Manivannan Sadhasivam , dmaengine@vger.kernel.org, devicetree@vger.kernel.org, John Stultz Subject: [PATCH 1/8 v4] Documentation: bindings: k3dma: Extend the k3dma driver binding to support hisi-asp Date: Wed, 16 Jan 2019 09:10:22 -0800 Message-Id: <1547658629-25378-2-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> References: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Youlin Wang Extend the k3dma driver binding to support hisi-asp hardware variants. Cc: Vinod Koul Cc: Rob Herring Cc: Mark Rutland Cc: Zhuangluan Su Cc: Tanglei Han Cc: Ryan Grachek Cc: Manivannan Sadhasivam Cc: dmaengine@vger.kernel.org Cc: devicetree@vger.kernel.org Reviewed-by: Rob Herring Signed-off-by: Youlin Wang Signed-off-by: Tanglei Han Signed-off-by: John Stultz --- v2: Simplify patch, removing extranious examples --- Documentation/devicetree/bindings/dma/k3dma.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt index 4945aea..10a2f15 100644 --- a/Documentation/devicetree/bindings/dma/k3dma.txt +++ b/Documentation/devicetree/bindings/dma/k3dma.txt @@ -3,7 +3,9 @@ See dma.txt first Required properties: -- compatible: Should be "hisilicon,k3-dma-1.0" +- compatible: Must be one of +- "hisilicon,k3-dma-1.0" +- "hisilicon,hisi-pcm-asp-dma-1.0" - reg: Should contain DMA registers location and length. - interrupts: Should contain one interrupt shared by all channel - #dma-cells: see dma.txt, should be 1, para number From patchwork Wed Jan 16 17:10:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10766457 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 64CC413A4 for ; Wed, 16 Jan 2019 17:11:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4C1572F25E for ; Wed, 16 Jan 2019 17:11:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4A5322F269; Wed, 16 Jan 2019 17:11:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E2B7C2F240 for ; Wed, 16 Jan 2019 17:11:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405843AbfAPRL3 (ORCPT ); Wed, 16 Jan 2019 12:11:29 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:43293 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2394468AbfAPRKr (ORCPT ); Wed, 16 Jan 2019 12:10:47 -0500 Received: by mail-pl1-f193.google.com with SMTP id gn14so3291281plb.10 for ; Wed, 16 Jan 2019 09:10:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=pJa/3xt1JMxzSbHyVab2zd3RhWbY439V9Orw9mFVXdA=; b=kOB1Q123vSecSRTJ06CsqyBuW9/HImrhm3MqYY0doaB11TP2Dvk+npnTSqQsTfnRcW mTe1bbiGHRs4vn+edG0CtmnyPCzVa6hRASQjKRNBQD5vUqJzCSfGsxe7g9I+sZPV16Hd 3hEdg0wcrJKS+17GRjAwcC1qKLl6RGEh06c3I= 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:in-reply-to :references; bh=pJa/3xt1JMxzSbHyVab2zd3RhWbY439V9Orw9mFVXdA=; b=g0q+xwHH4t3o2Lg8V4+/eUi25EQ1Kh4FZ3fmYJTlex01KBwlNxiSVgwQLcp8+VrxPd pcOX7TLEZflNKzeQ0LRoDT86yIwjaxX4VAhHmrQ9XUybg6CdewsQToJJDMFb9vnrK7Pw FluzH9o2IaHIR636uyP13Qfmb6rZzizMR1iC47/GXkglqhibQ2ua/HdQJ0qb1JsXOmKW Q5MaIA9g/dBOrI5bIxvlvpTfWANgt3wAQAL9m0F7BZr8Zt7eyz2aZe4/3T/yD6Hmi7/2 kX+sA6aH5vgIMjebmP6vkjKVJ40ndee/P9zX5F9xWsl06cRF59h/hva3orGsFm0s++3t EZFQ== X-Gm-Message-State: AJcUuke63FYswDtuDcI3L95/a4hVegAmS/ZY+1X4jDfwBK6azAMpXERG fjT040ejTUp3ycWtWTeX282ogA== X-Google-Smtp-Source: ALg8bN53UVr90AHvPfr8dtUoE+UjK3twxa1QIy9kliJAMjdXVHiYMuFJ2I9wblt0BFdSy8YMh/khfA== X-Received: by 2002:a17:902:2a0a:: with SMTP id i10mr10713001plb.323.1547658646183; Wed, 16 Jan 2019 09:10:46 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id h129sm17914023pfb.110.2019.01.16.09.10.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Jan 2019 09:10:44 -0800 (PST) From: John Stultz To: lkml Cc: John Stultz , Vinod Koul , Rob Herring , Mark Rutland , Tanglei Han , Zhuangluan Su , Ryan Grachek , Manivannan Sadhasivam , dmaengine@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH 2/8 v4] Documentation: bindings: dma: Add binding for dma-channel-mask Date: Wed, 16 Jan 2019 09:10:23 -0800 Message-Id: <1547658629-25378-3-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> References: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some dma channels can be reserved for secure mode or other hardware on the SoC, so provide a binding for a bitmask listing the available channels for the kernel to use. This follows the pre-existing bcm,dma-channel-mask binding. Cc: Vinod Koul Cc: Rob Herring Cc: Mark Rutland Cc: Tanglei Han Cc: Zhuangluan Su Cc: Ryan Grachek Cc: Manivannan Sadhasivam Cc: dmaengine@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by: John Stultz Reviewed-by: Rob Herring --- v3: Renamed to hisi-dma-avail-chan v4: Reworked to generic dma-channel-mask --- Documentation/devicetree/bindings/dma/dma.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/dma/dma.txt b/Documentation/devicetree/bindings/dma/dma.txt index 6312fb0..eeb4e4d 100644 --- a/Documentation/devicetree/bindings/dma/dma.txt +++ b/Documentation/devicetree/bindings/dma/dma.txt @@ -16,6 +16,9 @@ Optional properties: - dma-channels: Number of DMA channels supported by the controller. - dma-requests: Number of DMA request signals supported by the controller. +- dma-channel-mask: Bitmask of available DMA channels in ascending order + that are not reserved by firmware and are available to + the kernel. i.e. first channel corresponds to LSB. Example: @@ -29,6 +32,7 @@ Example: #dma-cells = <1>; dma-channels = <32>; dma-requests = <127>; + dma-channel-mask = <0xfffe> }; * DMA router From patchwork Wed Jan 16 17:10:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10766453 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AC66D13BF for ; Wed, 16 Jan 2019 17:11:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 940B92F26F for ; Wed, 16 Jan 2019 17:11:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 921702F264; Wed, 16 Jan 2019 17:11:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1CA912F25E for ; Wed, 16 Jan 2019 17:11:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728689AbfAPRLW (ORCPT ); Wed, 16 Jan 2019 12:11:22 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:39081 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2405460AbfAPRKs (ORCPT ); Wed, 16 Jan 2019 12:10:48 -0500 Received: by mail-pl1-f193.google.com with SMTP id 101so3297043pld.6 for ; Wed, 16 Jan 2019 09:10:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=GvaGd5Qa7PcuxUq/r8GFXFG1FEuIWEy4GqPFolG9iUI=; b=QQqt5Z5O2H7oIxoZeFjry1ABrYrhostw7JbpxWIgLTZ0iJm5v1u6vgyoVQRF/gFQZy XUr0QR8FSQJpHCbnfwhBc9JkydtynTMfRMSxfmm1XmcvNJAjBkiafL1TgY1QW9+Q1zI4 RjlLe6zFaw2VWaD5afqIigf0LTzeHqw3J22Sc= 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:in-reply-to :references; bh=GvaGd5Qa7PcuxUq/r8GFXFG1FEuIWEy4GqPFolG9iUI=; b=lK47vul+K1ICsImNNuEaY9JXqKi9qc1kdIH6MT4BbDm0jsu37eCcJFEvi4btZBK21X tZ5f4hClnHcvcxdtNFAgy1xSgUvLafhATRIaqg9f10o5Vc/ogSDNZYhNGdA8Q3EhuY0z kBK8xOuymDwiCmIy1CtIFdvWJlek6QQMz+S9YXzEZO0x/EqoTqsHKTDZ8HvC8lPZ9515 G1fYSdnnoUQYC9V3S0BlXlQa63UzhC4bCwhVhJ4T6DGYUH915wPVBEpdUhgzgivITOOd q0MSlF6oAIRqt33eSORWZJGnfOvuIqsET7fLti6erdbvgiCWGm1EOSXsQDBz4mArufH7 q/5g== X-Gm-Message-State: AJcUukfHUQ+1ZsWkYUHhx9lmdl7kCTZtUGeNLPBrdtbMbfqYnecaWvh4 IMSyqb4tYVO5DOuEtSx0YQnCww== X-Google-Smtp-Source: ALg8bN6QSyhmNN8OYdpQj1WLhF4G3UWoQr/ZtLB71UxcnCH32cTAFCIaJYl+aidjgLEWGhmBZAzakA== X-Received: by 2002:a17:902:7687:: with SMTP id m7mr10780477pll.187.1547658647933; Wed, 16 Jan 2019 09:10:47 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id h129sm17914023pfb.110.2019.01.16.09.10.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Jan 2019 09:10:46 -0800 (PST) From: John Stultz To: lkml Cc: Youlin Wang , Dan Williams , Vinod Koul , Zhuangluan Su , Ryan Grachek , Manivannan Sadhasivam , dmaengine@vger.kernel.org, Tanglei Han , John Stultz Subject: [PATCH 3/8 v4] dma: k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware Date: Wed, 16 Jan 2019 09:10:24 -0800 Message-Id: <1547658629-25378-4-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> References: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Youlin Wang On the hi3660 hardware there are two (at least) DMA controllers, the DMA-P (Peripherial DMA) and the DMA-A (Audio DMA). The two blocks are similar, but have some slight differences. This resulted in the vendor implementing two separate drivers, which after review, they have been able to condense and re-use the existing k3dma driver. Thus, this patch adds support for the new "hisi-pcm-asp-dma-1.0" compatible string in the binding. One difference with the DMA-A controller, is that it does not need to initialize a clock. So we skip this by adding and using soc data flags. After above this driver will support both k3 and hisi_asp dma hardware. Cc: Dan Williams Cc: Vinod Koul Cc: Zhuangluan Su Cc: Ryan Grachek Cc: Manivannan Sadhasivam Cc: dmaengine@vger.kernel.org Acked-by: Manivannan Sadhasivam Signed-off-by: Youlin Wang Signed-off-by: Tanglei Han [jstultz: Reworked to use of_match_data, commit msg improvements] Signed-off-by: John Stultz --- v2: * Reworked to use of_match_data v3: * Further rework of the commit message --- drivers/dma/k3dma.c | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c index fdec2b6..df61406 100644 --- a/drivers/dma/k3dma.c +++ b/drivers/dma/k3dma.c @@ -116,6 +116,13 @@ struct k3_dma_dev { unsigned int irq; }; + +#define K3_FLAG_NOCLK (1<<0) +struct k3dma_soc_data { + unsigned long flags; +}; + + #define to_k3_dma(dmadev) container_of(dmadev, struct k3_dma_dev, slave) static int k3_dma_config_write(struct dma_chan *chan, @@ -790,8 +797,21 @@ static int k3_dma_transfer_resume(struct dma_chan *chan) return 0; } +static const struct k3dma_soc_data k3_v1_dma_data = { + .flags = 0, +}; + +static const struct k3dma_soc_data asp_v1_dma_data = { + .flags = K3_FLAG_NOCLK, +}; + static const struct of_device_id k3_pdma_dt_ids[] = { - { .compatible = "hisilicon,k3-dma-1.0", }, + { .compatible = "hisilicon,k3-dma-1.0", + .data = &k3_v1_dma_data + }, + { .compatible = "hisilicon,hisi-pcm-asp-dma-1.0", + .data = &asp_v1_dma_data + }, {} }; MODULE_DEVICE_TABLE(of, k3_pdma_dt_ids); @@ -810,6 +830,7 @@ static struct dma_chan *k3_of_dma_simple_xlate(struct of_phandle_args *dma_spec, static int k3_dma_probe(struct platform_device *op) { + const struct k3dma_soc_data *soc_data; struct k3_dma_dev *d; const struct of_device_id *of_id; struct resource *iores; @@ -823,6 +844,10 @@ static int k3_dma_probe(struct platform_device *op) if (!d) return -ENOMEM; + soc_data = device_get_match_data(&op->dev); + if (!soc_data) + return -EINVAL; + d->base = devm_ioremap_resource(&op->dev, iores); if (IS_ERR(d->base)) return PTR_ERR(d->base); @@ -835,10 +860,12 @@ static int k3_dma_probe(struct platform_device *op) "dma-requests", &d->dma_requests); } - d->clk = devm_clk_get(&op->dev, NULL); - if (IS_ERR(d->clk)) { - dev_err(&op->dev, "no dma clk\n"); - return PTR_ERR(d->clk); + if (!(soc_data->flags & K3_FLAG_NOCLK)) { + d->clk = devm_clk_get(&op->dev, NULL); + if (IS_ERR(d->clk)) { + dev_err(&op->dev, "no dma clk\n"); + return PTR_ERR(d->clk); + } } irq = platform_get_irq(op, 0); From patchwork Wed Jan 16 17:10:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10766447 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 209F7746 for ; Wed, 16 Jan 2019 17:11:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 092B12F22A for ; Wed, 16 Jan 2019 17:11:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 071DC2F24A; Wed, 16 Jan 2019 17:11:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E1E452F22A for ; Wed, 16 Jan 2019 17:11:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405617AbfAPRKw (ORCPT ); Wed, 16 Jan 2019 12:10:52 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:36563 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2405568AbfAPRKu (ORCPT ); Wed, 16 Jan 2019 12:10:50 -0500 Received: by mail-pf1-f195.google.com with SMTP id b85so3359182pfc.3 for ; Wed, 16 Jan 2019 09:10:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=9+fP/xi0ogaPcZ5aUHlMSoUJnZJ6VWVBpkuoagJMFKE=; b=Z5fkpDZ4b5JbyklHDHH6gvem0MfBvX4qsqUi4fVqQKQ59GG1s+jrR/2RKqFdnz+YXV DmvO0ufG1StGxto256QlzqATW/s2kUPVorRCbdtDYe6DmKla8ZAYIQ1+unFN7XIPwtSp j+QU9fVMf+fuEYtM3x8tICsMYiBne4i2Y6LmM= 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:in-reply-to :references; bh=9+fP/xi0ogaPcZ5aUHlMSoUJnZJ6VWVBpkuoagJMFKE=; b=YytFVR0tncYCzDrswC/fub5msgQbO7qz3xmaXkYOax0mAAsvubQ5GoDBJ5nZWaQL8l x6Q5txMcNcyvmg+6R5qTcXF7FEV1xRdbCM3OrSYReBJ2UYRDgNgUfo5RxgRM1ffflZqQ e4kG46AgoraefrQpxgR4zxaODI6aCpS5GbtNwpdm5G0a7CGGdVuY1zVtYL3plU+sUKFj DkIatg5F1VMfPto3jWUr3tR3n/eh/U+r7vsgEkabM/w8muUBVzpqrv8SCCplAtiUH3Lu NwIVpd1QMQRRwzBdR+Jh6KUUj0yAdQhAtp24tsp9VQoF20xrAEJpTBb3L/MxFJxRKB+c MuvA== X-Gm-Message-State: AJcUukfBvyJhD/N03GRKiAnt8ZdFPU1wFEn6yFnJJo62tbUGLw9bje58 Kf5XjisFCTZi+210/eU1dSx5OA== X-Google-Smtp-Source: ALg8bN5YTCRPAPyEAHSrDhwBPRWMDltlu7Lq7S/LJmFqSAi9sEsbGYN4AxKAA7scsUXo4VHpgGyqUQ== X-Received: by 2002:a63:9e19:: with SMTP id s25mr9779115pgd.203.1547658649609; Wed, 16 Jan 2019 09:10:49 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id h129sm17914023pfb.110.2019.01.16.09.10.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Jan 2019 09:10:48 -0800 (PST) From: John Stultz To: lkml Cc: Li Yu , Dan Williams , Vinod Koul , Tanglei Han , Zhuangluan Su , Ryan Grachek , Manivannan Sadhasivam , dmaengine@vger.kernel.org, Guodong Xu , John Stultz Subject: [PATCH 4/8 v4] dma: k3dma: Delete axi_config Date: Wed, 16 Jan 2019 09:10:25 -0800 Message-Id: <1547658629-25378-5-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> References: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Li Yu Axi_config controls whether DMA resources can be accessed in non-secure mode, such as linux kernel. The register should be set by the bootloader stage and depends on the device. Thus, this patch removes axi_config from k3dma driver. Cc: Dan Williams Cc: Vinod Koul Cc: Tanglei Han Cc: Zhuangluan Su Cc: Ryan Grachek Cc: Manivannan Sadhasivam Cc: dmaengine@vger.kernel.org Acked-by: Manivannan Sadhasivam Signed-off-by: Li Yu Signed-off-by: Guodong Xu [jstultz: Minor tweaks to commit message] Signed-off-by: John Stultz --- drivers/dma/k3dma.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c index df61406..b2060bf 100644 --- a/drivers/dma/k3dma.c +++ b/drivers/dma/k3dma.c @@ -52,8 +52,6 @@ #define CX_SRC 0x814 #define CX_DST 0x818 #define CX_CFG 0x81c -#define AXI_CFG 0x820 -#define AXI_CFG_DEFAULT 0x201201 #define CX_LLI_CHAIN_EN 0x2 #define CX_CFG_EN 0x1 @@ -168,7 +166,6 @@ static void k3_dma_set_desc(struct k3_dma_phy *phy, struct k3_desc_hw *hw) writel_relaxed(hw->count, phy->base + CX_CNT0); writel_relaxed(hw->saddr, phy->base + CX_SRC); writel_relaxed(hw->daddr, phy->base + CX_DST); - writel_relaxed(AXI_CFG_DEFAULT, phy->base + AXI_CFG); writel_relaxed(hw->config, phy->base + CX_CFG); } From patchwork Wed Jan 16 17:10:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10766449 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B3952746 for ; Wed, 16 Jan 2019 17:11:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9B2782F1ED for ; Wed, 16 Jan 2019 17:11:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9969B2F260; Wed, 16 Jan 2019 17:11:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2A5522F264 for ; Wed, 16 Jan 2019 17:11:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405798AbfAPRLN (ORCPT ); Wed, 16 Jan 2019 12:11:13 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37247 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2405486AbfAPRKw (ORCPT ); Wed, 16 Jan 2019 12:10:52 -0500 Received: by mail-pg1-f195.google.com with SMTP id c25so3096007pgb.4 for ; Wed, 16 Jan 2019 09:10:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DtHgU4ueai0Fc/l8/P+ZyuzlLrZL8W/NSq8eqAtoCSo=; b=QvFTI9Sov4OjpoQNmN8XuMB6Qc8GaSkqLQW+gISNJvTIAnBPN82rZkr+wdjJV/bCL5 jxrPQwFaly2X0KEAA06y/qYYICNPyHWcZsBR3BjX1P2I9GrhYYxo2lUzkCP75vKRt4yy eyP3AVlhiIGL6g/kY5VRWVLzxTiMM/Tkb6MbA= 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:in-reply-to :references; bh=DtHgU4ueai0Fc/l8/P+ZyuzlLrZL8W/NSq8eqAtoCSo=; b=T2/SvaEuzHktBLuQolEup7/vfgOfK6qNxiXZUuG+WWVRvDSUkdqFt1yxLmxpalM4u6 U0I+pNXVde2iJOpt7itkzmVGFUsjrKo0YqD1y02Efffz0Rd974gsoUTQEymcRWMeP9ak JCCpLpojNVsvua24ghzzb4Y1dKExmPSpYNcdTbYlyxucBAN3egWqlgTSObWdyJ7z71fV BYeaCrOZ+/BYQbBYcYYMWl3TemOud2otgZDd+0PErRsQTJ4enKa/QFsNznPW2FNzYLFV KeD9adWZ2MySmlRZW4E9zgiTqpUMbaX2FWkEnj1wE1eh2dB++Nw7/bRLCZRCnFK1MwID eAqw== X-Gm-Message-State: AJcUuke2GyrPl39a221n6uTmhxdg00yzNM1pESXg2jvTzZtxwIJsrGTY HoVzwmgQdm5O0L030cxLoO/rVw== X-Google-Smtp-Source: ALg8bN4S7ttfBJzPlvyjL0k9V2t/idlYC93XsDxB2432OpFJUlF/tWYWMWKFi8QWac0fR6QhjF+sbw== X-Received: by 2002:a63:4948:: with SMTP id y8mr9820591pgk.32.1547658651293; Wed, 16 Jan 2019 09:10:51 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id h129sm17914023pfb.110.2019.01.16.09.10.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Jan 2019 09:10:50 -0800 (PST) From: John Stultz To: lkml Cc: Li Yu , Dan Williams , Vinod Koul , Tanglei Han , Zhuangluan Su , Ryan Grachek , Manivannan Sadhasivam , Guodong Xu , dmaengine@vger.kernel.org, John Stultz Subject: [PATCH 5/8 v4] dma: k3dma: Add support for dma-channel-mask Date: Wed, 16 Jan 2019 09:10:26 -0800 Message-Id: <1547658629-25378-6-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> References: <1547658629-25378-1-git-send-email-john.stultz@linaro.org> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Li Yu Add dma-channel-mask as a property for k3dma, it defines available dma channels which a non-secure mode driver can use. One sample usage of this is in Hi3660 SoC. DMA channel 0 is reserved to lpm3, which is a coprocessor for power management. So as a result, any request in kernel (which runs on main processor and in non-secure mode) should start from at least channel 1. Cc: Dan Williams Cc: Vinod Koul Cc: Tanglei Han Cc: Zhuangluan Su Cc: Ryan Grachek Cc: Manivannan Sadhasivam Cc: Guodong Xu Cc: dmaengine@vger.kernel.org Signed-off-by: Li Yu [jstultz: Reworked to use a channel mask] Signed-off-by: John Stultz --- v3: Rename to hisi-dma-avail-chan v4: Rename to dma-channel-mask --- drivers/dma/k3dma.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c index b2060bf..ed19b1f 100644 --- a/drivers/dma/k3dma.c +++ b/drivers/dma/k3dma.c @@ -111,6 +111,7 @@ struct k3_dma_dev { struct dma_pool *pool; u32 dma_channels; u32 dma_requests; + u32 dma_channel_mask; unsigned int irq; }; @@ -318,6 +319,9 @@ static void k3_dma_tasklet(unsigned long arg) /* check new channel request in d->chan_pending */ spin_lock_irq(&d->lock); for (pch = 0; pch < d->dma_channels; pch++) { + if (!(d->dma_channel_mask & (1<phy[pch]; if (p->vchan == NULL && !list_empty(&d->chan_pending)) { @@ -335,6 +339,9 @@ static void k3_dma_tasklet(unsigned long arg) spin_unlock_irq(&d->lock); for (pch = 0; pch < d->dma_channels; pch++) { + if (!(d->dma_channel_mask & (1<phy[pch]; c = p->vchan; @@ -855,6 +862,13 @@ static int k3_dma_probe(struct platform_device *op) "dma-channels", &d->dma_channels); of_property_read_u32((&op->dev)->of_node, "dma-requests", &d->dma_requests); + ret = of_property_read_u32((&op->dev)->of_node, + "dma-channel-mask", &d->dma_channel_mask); + if (ret) { + dev_warn(&op->dev, + "dma-channel-mask doesn't exist, considering all as available.\n"); + d->dma_channel_mask = (u32)~0UL; + } } if (!(soc_data->flags & K3_FLAG_NOCLK)) { @@ -886,8 +900,12 @@ static int k3_dma_probe(struct platform_device *op) return -ENOMEM; for (i = 0; i < d->dma_channels; i++) { - struct k3_dma_phy *p = &d->phy[i]; + struct k3_dma_phy *p; + + if (!(d->dma_channel_mask & (1<phy[i]; p->idx = i; p->base = d->base + i * 0x40; }