From patchwork Fri Jan 4 20:56:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10748817 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 8F63D13AD for ; Fri, 4 Jan 2019 20:56:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 80AE42858F for ; Fri, 4 Jan 2019 20:56:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7451D285C8; Fri, 4 Jan 2019 20:56:37 +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 0B09C2858F for ; Fri, 4 Jan 2019 20:56:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726114AbfADU4f (ORCPT ); Fri, 4 Jan 2019 15:56:35 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:38272 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726117AbfADU4e (ORCPT ); Fri, 4 Jan 2019 15:56:34 -0500 Received: by mail-pl1-f194.google.com with SMTP id e5so17916985plb.5 for ; Fri, 04 Jan 2019 12:56:34 -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=dcx6eEjMVOZ+Ig9EyGz6+bvTiD4bhQGrPgBuNC1183Y=; b=QyNp01W30Sy5XI75DuAswJ5UvdmabjG0XTJd4rPqawsXvGW005+IhRY54AuB8ZleOj kBhdRaq9ASBAaVco0dHzvzML8xDlc3IuqGbxfmiTnTGEaixsxzbZZn/XHFWmPUrIYbvz At1++r7g7tZLaTn6M+Lk6QOhwuh5u9MdKExWI= 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=dcx6eEjMVOZ+Ig9EyGz6+bvTiD4bhQGrPgBuNC1183Y=; b=XzRTs7Q67m1hf+6aPOO4UMCzCp+YDZcIKGWC34QwjnMz/o30Dw0nRInrj1eossUFOG 4ovLHCesPa4GrwM59NjSTpKbDqe/wb9d3qtdWWqjlBDvY3F07uU0BSx8vANLcKKQawWW OoV4jRGBpfMOAifDcJyTqgKzKcSSnbDGZB3RWsLAlSu/bQRH5SjDbo638MtVbZ39JoLC I0DhO9ya/cHGmHeLsK/lFaOnDp8WRGkxRUz+EOT0WbBggqQ3OBX4LZT0hlLDUlnAXc/d uRSYu9nET+K3+U1dITkyODz/zKlXEZ1UZcJAAKwVmK41yZJ8loQP4Bu/U8taB7d2x/nN VKNg== X-Gm-Message-State: AJcUukfqlaI++OXokbQz5b/UDEn6nCmF4sKfLEKZymQbllL7aLxlimIE D5t0hF0lOiXu2uJOXrjzhJdZOg== X-Google-Smtp-Source: ALg8bN4wqL57WWYm3AnmQvqkhOZ3jnmjhB9BABwrzFbSykpU654QuDYEozKo4bvxi7VNk5DltcPZ/A== X-Received: by 2002:a17:902:583:: with SMTP id f3mr53664973plf.202.1546635394099; Fri, 04 Jan 2019 12:56:34 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id l3sm98058334pga.92.2019.01.04.12.56.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Jan 2019 12:56:33 -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 v2] Documentation: bindings: k3dma: Extend the k3dma driver binding to support hisi-asp Date: Fri, 4 Jan 2019 12:56:21 -0800 Message-Id: <1546635388-13795-2-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1546635388-13795-1-git-send-email-john.stultz@linaro.org> References: <1546635388-13795-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 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 Fri Jan 4 20:56: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: 10748831 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 A100313AD for ; Fri, 4 Jan 2019 20:57:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 90CB428609 for ; Fri, 4 Jan 2019 20:57:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8467E28748; Fri, 4 Jan 2019 20:57:22 +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 282EE28609 for ; Fri, 4 Jan 2019 20:57:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726132AbfADU5V (ORCPT ); Fri, 4 Jan 2019 15:57:21 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:41710 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726097AbfADU4g (ORCPT ); Fri, 4 Jan 2019 15:56:36 -0500 Received: by mail-pl1-f194.google.com with SMTP id u6so17914391plm.8 for ; Fri, 04 Jan 2019 12:56:36 -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=m/40e80Ep6rjyjDwykxJoS1RLKo9nvsjp+tokbpPYFM=; b=LBXRpivBXTJ8hv9TT23AvS5t0vZyW8WHfzVz7FAGNablhcZ3jYNskvWO7NP4e897WF K94qSyLpJASrD74iWKAtlj2YgbRyNuHw98Y0CtaClyQZQUuiHX/Ofc5A3Sre6qhb4s6D 0LW2AVd3Fm+rt34p3mJ0P4Yd4gRgL/qKFn5sc= 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=m/40e80Ep6rjyjDwykxJoS1RLKo9nvsjp+tokbpPYFM=; b=SqGLtN8JzsgSgB2VD3oMpmDPdrtxwNws2woaVn5pYl8L1ySR74x4XCDVHS+M0/kMqo iUP9j6SW/NGQvinOWsJj9+8duBtf2JLmAF5SDrXbfEX0ZhU9575yuhG/57NmgzNLbbso DiHlAMU1WnK/kcbH7VWnCW5myXjXkfc3h1Aee0eOcIteq78E5KEmZAfT17uiy0nq31yk cXa6B8jjucwbv93ACFs4sl/yfy7UjgE3AZUPB+Q3/tQo/zgc7DDO+FjDdoAehkwRAbp4 dqe9aFkEJASyqHwuZbTe17nPU+iTnJgx1GbvJ3WXbc86mEfNAHweBigXutNhmL1nXyZM Bmxw== X-Gm-Message-State: AJcUukeQvkQbXI9Wk1hAHg5HeIsl+UFcG1YIXf+oDORzd4sq6FiUbo9j jQIMgHPvbK0kWjwn+CiUgqmWMRdmOMuC6g== X-Google-Smtp-Source: ALg8bN4FYH1Q5Q6VXHoi1tVBi7Wp4B3bTxmqGV2ooA93z8nbHiJzYxQyUIdPXrWu4QO7cusbDgs3zw== X-Received: by 2002:a17:902:96a:: with SMTP id 97mr50784814plm.45.1546635395922; Fri, 04 Jan 2019 12:56:35 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id l3sm98058334pga.92.2019.01.04.12.56.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Jan 2019 12:56:34 -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 v2] Documentation: bindings: k3dma: Add binding for dma-avail-chan Date: Fri, 4 Jan 2019 12:56:22 -0800 Message-Id: <1546635388-13795-3-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1546635388-13795-1-git-send-email-john.stultz@linaro.org> References: <1546635388-13795-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. 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 --- Documentation/devicetree/bindings/dma/k3dma.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt index 10a2f15..1c466c1 100644 --- a/Documentation/devicetree/bindings/dma/k3dma.txt +++ b/Documentation/devicetree/bindings/dma/k3dma.txt @@ -14,6 +14,9 @@ Required properties: have specific request line - clocks: clock required +Optional properties: +- dma-avail-chan: Bitmask of available physical channels + Example: Controller: From patchwork Fri Jan 4 20:56: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: 10748833 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 DC76F746 for ; Fri, 4 Jan 2019 20:57:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CD90328599 for ; Fri, 4 Jan 2019 20:57:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C137728676; Fri, 4 Jan 2019 20:57: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 9EFC028599 for ; Fri, 4 Jan 2019 20:57:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726243AbfADU5T (ORCPT ); Fri, 4 Jan 2019 15:57:19 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:33550 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726233AbfADU4h (ORCPT ); Fri, 4 Jan 2019 15:56:37 -0500 Received: by mail-pl1-f193.google.com with SMTP id z23so17925630plo.0 for ; Fri, 04 Jan 2019 12:56:37 -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=7PoOlpFQPsMjakXihA1LLc08Bpkr7q8xCpQ3M2g6csg=; b=OPJpGAYSmyme1wm2pNRYFlKfBrH/jBcgmLWLGhlShFq2CZVk/aZ0HTjiA7Iypf850I gc7dnajTLdoDGRTBkKLJEwILJOw+SCY9T52VBqurC7UPLYSytV2WZveFs3LzUwlANFCd 0Sx+eOlBCvjbduggdL8tnvgQ1P+s5k68N2NPA= 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=7PoOlpFQPsMjakXihA1LLc08Bpkr7q8xCpQ3M2g6csg=; b=c7d2vM9ZzIaXDTT0EOeahKkAS/+uUML7SfzJDCuT8ZknnwK/RQqjhPbeNrtJSekA+L nc/lFuyIwUb+AzR2W4WfQ/4RH6l34SMWT03nJm0paA7nkVNhodNb9Vk1VRUDpO0Nih4B xRPt2Rcho3MA0w5Xo01q2a181makC/g6jJmalUDt178zWw3Db2HACfk3APTN/jQKjtAk nXK42qDIaD/AJIfkK94yf/PVNwqqeKsHO9o8F/flmsEZAeFYic8gjahdR5yeB7gZ7yWk +OqiPr437tRZvq+P5miHCwuJWAfXI5wgBE/kULhYdz2wSQNZPAmyjcDnm7PH3OQqPEbV iwzA== X-Gm-Message-State: AJcUukdyxAPL5NwtH2kz/1tw2qVgm845L3eCnzEX5MpSP75TnboM48fc aQpeRw0Uv0HvFVFwpWbhgBfsuQ== X-Google-Smtp-Source: ALg8bN4bfl6pWNWbydF8wvNL7jKqslDcpZM8jK1Ofpx3+3pmhd1ZTgbsOyuKDh2o74j2jLYtZvtsTQ== X-Received: by 2002:a17:902:50e3:: with SMTP id c32mr52616262plj.318.1546635397174; Fri, 04 Jan 2019 12:56:37 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id l3sm98058334pga.92.2019.01.04.12.56.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Jan 2019 12:56:36 -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 v2] dma: k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware Date: Fri, 4 Jan 2019 12:56:23 -0800 Message-Id: <1546635388-13795-4-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1546635388-13795-1-git-send-email-john.stultz@linaro.org> References: <1546635388-13795-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 There is an new "hisi-pcm-asp-dma-1.0" device added in "arch/arm64/boot/dts/hisilicon/hi3660.dtsi". So we have to add a matching id in the driver file: .compatible = "hisilicon,hisi-pcm-asp-dma-1.0" And also hisi-pcm-asp dma device needs no setting to the 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 Signed-off-by: Youlin Wang Signed-off-by: Tanglei Han [jstultz: Reworked to use of_match_data] Signed-off-by: John Stultz Acked-by: Manivannan Sadhasivam --- v2: * Reworked to use of_match_data --- 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 Fri Jan 4 20:56: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: 10748827 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 D352A746 for ; Fri, 4 Jan 2019 20:57:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C452828599 for ; Fri, 4 Jan 2019 20:57:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B7ECD28676; Fri, 4 Jan 2019 20:57:11 +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 5BDF528599 for ; Fri, 4 Jan 2019 20:57:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726266AbfADU4k (ORCPT ); Fri, 4 Jan 2019 15:56:40 -0500 Received: from mail-pf1-f193.google.com ([209.85.210.193]:32908 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726253AbfADU4j (ORCPT ); Fri, 4 Jan 2019 15:56:39 -0500 Received: by mail-pf1-f193.google.com with SMTP id c123so18830074pfb.0 for ; Fri, 04 Jan 2019 12:56:39 -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=jkv+KKhij9Erx9l7SBMC7LanjV56Iw/ajdYdzBZJLX8=; b=EqNw1S/fQaKgVv4J60j++aJJzgDL4dSEOTQvE5Zq3OmcQ5nshcdWlQL6oHlzla50wA y6hnyD+vhk8D1Yr5tq6+k2MQLwyD1qe5jxmnv4J9Z9ZL5GfJ+saygSHldfn13G0eH2t3 pqY003UzQYoJTQlMRykk/MmNFGsrAcwQOqueY= 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=jkv+KKhij9Erx9l7SBMC7LanjV56Iw/ajdYdzBZJLX8=; b=POaMKqS7lf2I4w12WViI135eV5smH8aiTr22enCTMryFFZrS5hHtUDyCpEWIZ3iu3v HmIcJy/v6FdGYBRvpzJGOUqM4JswLLP8PJH35Ky43GH1fDA5M1Y5JvPq6REtHaKI4Hev XP+08uJbUveA6qC5iLIvyNAxPm1b5X+xDlzIa/3lWTvlA4InPFMj0i7E4Z39Qe+yIxUs 9024AESdab8VbtKAWOvoL+Rb1FHIXQChYvapg45DWlDqhcqSwja0BbUUoaFJ7iuKX9Yn QAzdxCQ26c0j7RWbZ7RfuhGYaL2vA2X3tdkJ+aKRTvnVfZWmEUaujS8FymBRxCKxmZOF Z+Kw== X-Gm-Message-State: AJcUukc4fcYxOL9A9efafB61yLpXGhTS1qnvdRy4nTdpjVL/h1hfJYwj Dkmj6hae+qrrI9dsvn+2UvVhDw== X-Google-Smtp-Source: ALg8bN6HxDW9gGC8/qDPWUFCcBsGFAASOGUaQ4hqkmk0VglGMaTxj6/z77WLotjj8Kx+clYr98+RAA== X-Received: by 2002:a63:6a05:: with SMTP id f5mr49261866pgc.72.1546635398861; Fri, 04 Jan 2019 12:56:38 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id l3sm98058334pga.92.2019.01.04.12.56.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Jan 2019 12:56:37 -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 v2] dma: k3dma: Delete axi_config Date: Fri, 4 Jan 2019 12:56:24 -0800 Message-Id: <1546635388-13795-5-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1546635388-13795-1-git-send-email-john.stultz@linaro.org> References: <1546635388-13795-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 Signed-off-by: Li Yu Signed-off-by: Guodong Xu [jstultz: Minor tweaks to commit message] Signed-off-by: John Stultz Acked-by: Manivannan Sadhasivam --- 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 Fri Jan 4 20:56: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: 10748823 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 F044113AD for ; Fri, 4 Jan 2019 20:56:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DDF8D28599 for ; Fri, 4 Jan 2019 20:56:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CD8F228609; Fri, 4 Jan 2019 20:56:58 +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 5BE9028599 for ; Fri, 4 Jan 2019 20:56:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726296AbfADU4m (ORCPT ); Fri, 4 Jan 2019 15:56:42 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:32912 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726282AbfADU4m (ORCPT ); Fri, 4 Jan 2019 15:56:42 -0500 Received: by mail-pf1-f196.google.com with SMTP id c123so18830095pfb.0 for ; Fri, 04 Jan 2019 12:56:40 -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=4Vbeu6DpRnZCwP7K+9a0P9RRTER2t/Z433kGqekFBrY=; b=HrTCH0zz+n6La7vqDvNKqVoi9EadZuIp9wKa9nVjaa+GZpAvVbNfqnKkXY2If1wD55 1JCUORAappLk7F/4W8yjdSB/nH7jiKjS2ewP51awR+I/LP5XTl8MveF/puXTPOWOjt9A 7yTjkkGp35GsgZKkNL78hh3FRXWa/08398Bgw= 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=4Vbeu6DpRnZCwP7K+9a0P9RRTER2t/Z433kGqekFBrY=; b=NfBwH2Zkn00BWkuyoH925K4Ub7/MfP2kRKeLlQNwxrSJTGfi+4L/1/JzdzflsC/lFU AM1+jrltRrAGGy1pcdP81g7uj1lIs/X+KH6PzK2NxpqGEv3BIcoM4JuMmI8O4wpN8RmI xvmrvXHeUaHOAuEXDotfnf1ScSoxvEjLipUXg6Dr26aycNCkpkSlEMHbbOKuCAkXe0qY 5On0dQfB6MSKMjsVTq27MjM+kK5LZPstefl2a0/798ltmeNdGOJTUy0dwfKWb8CRHth5 UI7cnyNNg3nmArWR8wo9vccdSCjI8UK35/rQxPDAhpfxvC8W2Db+KHdRoCh4QmDUwgeM 4u/Q== X-Gm-Message-State: AJcUukfqUktWXtOUz6M+nnCS/KQufDuoMJxqzMitn/WxdgRfKRV9JMiw iB+CtDBo0i4+uy5gjosFaqO86g== X-Google-Smtp-Source: ALg8bN7jekfTkokUDuAB0tR3PpbgapZjIX70zUYb4Eon0+Mzrw5OPpJfkJmPRNyXXAePaGZwsq6ReQ== X-Received: by 2002:a63:ee0e:: with SMTP id e14mr2835866pgi.8.1546635400454; Fri, 04 Jan 2019 12:56:40 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id l3sm98058334pga.92.2019.01.04.12.56.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Jan 2019 12:56:39 -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 v2] dma: k3dma: Add support to dma_avail_chan Date: Fri, 4 Jan 2019 12:56:25 -0800 Message-Id: <1546635388-13795-6-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1546635388-13795-1-git-send-email-john.stultz@linaro.org> References: <1546635388-13795-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 dma_avail_chan 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 --- 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..431094b 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_avail_chan; 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_avail_chan & (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_avail_chan & (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-avail-chan", &d->dma_avail_chan); + if (ret) { + dev_warn(&op->dev, + "dma-avail-chan doesn't exist, considering all as available.\n"); + d->dma_avail_chan = (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_avail_chan & (1<phy[i]; p->idx = i; p->base = d->base + i * 0x40; }