From patchwork Thu Jan 24 20:24:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10780077 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 98FAB1399 for ; Thu, 24 Jan 2019 20:24:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 879F82ECDA for ; Thu, 24 Jan 2019 20:24:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7BB092EF41; Thu, 24 Jan 2019 20:24:32 +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 1CE9B2ECDA for ; Thu, 24 Jan 2019 20:24:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727811AbfAXUYa (ORCPT ); Thu, 24 Jan 2019 15:24:30 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:33342 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728049AbfAXUYa (ORCPT ); Thu, 24 Jan 2019 15:24:30 -0500 Received: by mail-pg1-f194.google.com with SMTP id z11so3176955pgu.0 for ; Thu, 24 Jan 2019 12:24:29 -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=M+JlmOmc/LnkQBrk4zKEhWNdWoEU/Y4v7cFdtCULVGF/PF+QLG6SjoR4oA242dO2lE 8NmbqHtI5r2F26kbPhfl8N+t6z+XdYKw0dJHh07nUFhG9tuWYri5BwXufyknfnmepDeZ SfoIOhi8F9QOMjjQ/mW6ti8dkkfaMt8ghnBKA= 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=SVa14oiyoj1WU2KIOueJK6/gFl/44J+YIlVu/pR73zblLzMPdy5/sbsQjQD0OjOw5y +8zLCYIZByCL8la6rTaa0Fl9eBBA8b8Bi4nmiAkGVNcXo6ykiYbdPr12VdkQM7QufwDm /DsVGjKtm+X7xOOgSBPgvXa4SdbQXM4p8S18HmlKaxBzyrv95FqAHfPuIOsm85R5219e +eVDOWq8iwTle0NmDARflvFjREshm7/hlrLAx9/dvA8HOP8oo7JGkYIoRaDyrKh8Fzch EQhTcxgZXQmdzqy9RiTpTSu1jTJ2UnD9DAmg5NuP1Qxpptb91Avif2TjyCxqaUEADOe1 oaUQ== X-Gm-Message-State: AJcUuke4ja4qo6yqcj8jmT3SfAL3u+nFCAzZPFTp7ElPW7zwA0FevcLj X1UohkE2E6HHpSl2E2KTOW2B0A== X-Google-Smtp-Source: ALg8bN7NxmW28CzSxr6mGZRUoeI1PmncF62x7Fww9Iwj3aqVoVxshnaJdTYreDMlYDrtwB+sU4OC6A== X-Received: by 2002:a63:9041:: with SMTP id a62mr7112274pge.163.1548361469145; Thu, 24 Jan 2019 12:24:29 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id c72sm45263309pfb.107.2019.01.24.12.24.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 24 Jan 2019 12:24:28 -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 v5] Documentation: bindings: k3dma: Extend the k3dma driver binding to support hisi-asp Date: Thu, 24 Jan 2019 12:24:16 -0800 Message-Id: <1548361463-28372-2-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1548361463-28372-1-git-send-email-john.stultz@linaro.org> References: <1548361463-28372-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 Thu Jan 24 20:24:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10780091 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 DCF3714E5 for ; Thu, 24 Jan 2019 20:25:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CC64D2ED7D for ; Thu, 24 Jan 2019 20:25:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C002B2EF27; Thu, 24 Jan 2019 20:25:12 +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 65BEE2ED7D for ; Thu, 24 Jan 2019 20:25:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729397AbfAXUZG (ORCPT ); Thu, 24 Jan 2019 15:25:06 -0500 Received: from mail-pg1-f193.google.com ([209.85.215.193]:33343 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728277AbfAXUYc (ORCPT ); Thu, 24 Jan 2019 15:24:32 -0500 Received: by mail-pg1-f193.google.com with SMTP id z11so3176980pgu.0 for ; Thu, 24 Jan 2019 12:24:31 -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=eg4nAxAXcXkNuIrbMcRJ+fzvQseMFVGhfj9rOi7KduU=; b=jSn5gDEIAVqq/AsVfDWAu0cGimFUSBivUdA0jPLdipy5yoRP9CWxJzi1zQ59dvybAW jvjR+VnSVekOGEjqOUEWyqo0R1j4cCywBZ6FW2ye97UtP6Boq3i2a/UOzdAx7SU3BsB0 Gwf6ETiR4Mwx3orGx63y00EwLkMdPy5sceqXg= 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=eg4nAxAXcXkNuIrbMcRJ+fzvQseMFVGhfj9rOi7KduU=; b=ARzEZaO+diDjZpAl37apQlSckse55WdNjMpLq2aq8cPJXi8uq1rM/r3iDW9TDcBqIv 8enQ8OgruhhW7wuzxQnbkEcT6Em+aJHzZIXSwjKwrb/TDDNb4ocgWqGI7li6tOvvDmxc 8Dr9qKDiaUYKqdgtWJchM4gaGxD3Q5Feo7bTk/3XFxdClFPSlqFq0ftzPyWRyG+0WFpM TCCG/l7gEHhheFHcIFg3jRpLL+q38aFlp5OKe6J4+vxs1/fDgXLzrDqb6WUfuJbhT2ql DzgaR6R9+3qpR/gUooCI6eStVw2NYkEcZilggUc0GQipT4DCIQfDuuODEMFyNOe/PE1G 5Oew== X-Gm-Message-State: AJcUukeuHlXInMtOt6vzEMXOfMAYwAe7vcjOV3zA+T3zSEfJE/ggOiOO gxCHb6h889jR9iiwN12fadslwA== X-Google-Smtp-Source: ALg8bN7WMfoTVni+wJrJRkqP8mH/wMyNUMBD9xBmHZIeZSxIsBVF3ZVCZzEcn9jiM+sY2nBzMuKDwQ== X-Received: by 2002:a62:a209:: with SMTP id m9mr8111866pff.218.1548361471229; Thu, 24 Jan 2019 12:24:31 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id c72sm45263309pfb.107.2019.01.24.12.24.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 24 Jan 2019 12:24:30 -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 v5] Documentation: bindings: dma: Add binding for dma-channel-mask Date: Thu, 24 Jan 2019 12:24:17 -0800 Message-Id: <1548361463-28372-3-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1548361463-28372-1-git-send-email-john.stultz@linaro.org> References: <1548361463-28372-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 Reviewed-by: Rob Herring Signed-off-by: John Stultz --- 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 Thu Jan 24 20:24:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10780079 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 16AE914E5 for ; Thu, 24 Jan 2019 20:24:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 062782ECDA for ; Thu, 24 Jan 2019 20:24:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EE6A52EF27; Thu, 24 Jan 2019 20:24:34 +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 7B9662ECDA for ; Thu, 24 Jan 2019 20:24:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728471AbfAXUYd (ORCPT ); Thu, 24 Jan 2019 15:24:33 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:44287 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728362AbfAXUYd (ORCPT ); Thu, 24 Jan 2019 15:24:33 -0500 Received: by mail-pf1-f195.google.com with SMTP id u6so3540721pfh.11 for ; Thu, 24 Jan 2019 12:24:33 -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=o7egLywBx6XayJjOoobZHgYLmJpcGqlES3T4nO9IJnw=; b=GxEUF/mCUMVCKT5nzmeUCxVm0VYUy9eNpqskIkS+Ymqzu6rlYMnNnx6ysfuz8yhG6g /qTNwLKnIGjTKKckr3GAHNMQmOPuWddFvEB6uNTbUKkckKoVDl97luVlxizEpcBc+VNK uvQP8h7F+J13oqa9Hn0FWHDLmqf06SIcl1ujo= 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=o7egLywBx6XayJjOoobZHgYLmJpcGqlES3T4nO9IJnw=; b=Y42KBBjEF5RVuq4KP8LXsGhE8htdzMnpntSN4zThGnEcYrbHlJPIngADItKMutTjDK oNn66Lld+maq2gF4sdNqGcndE2kONLzydFw5VxNcYJ4g3P6Y/tS623aIzm6PoFaeNdac XDAKSGjlW25HzFRL5stt4JgYGwnR8wblyI44R9M4n6+8FvRi1z2LlRLki+B/JG6l+bqZ /fddb87uRYmjrHve8N/4q75H8Rr5U4Kg0kYkzDj7G98C99gzSOUiUFFkt0QJcXD3d9yu yJS7hVakBRGfrthIr06KNqdnOLf1t93SSVNz3pSgvnUF19NRn7/BbVVzAcMufxWi6niz hDlA== X-Gm-Message-State: AJcUukdHpY4uwRRA4f3lBPURCiuqCYiHYRbZ4t34uBOFa9sQE3UGQemE BK8n7csFYKzvVmmI9LNM06BX/w== X-Google-Smtp-Source: ALg8bN7PsIT7vScnvB02yRzQ1C4AY/iarOWVLV7Hm8+12JLqAvfUTagRnFwiEFOt0Qn7FXOgI+Odkg== X-Received: by 2002:a62:2f06:: with SMTP id v6mr8067333pfv.216.1548361472700; Thu, 24 Jan 2019 12:24:32 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id c72sm45263309pfb.107.2019.01.24.12.24.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 24 Jan 2019 12:24:31 -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 v5] dma: k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware Date: Thu, 24 Jan 2019 12:24:18 -0800 Message-Id: <1548361463-28372-4-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1548361463-28372-1-git-send-email-john.stultz@linaro.org> References: <1548361463-28372-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 (Peripheral 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 v5: * Typo, whitespace fixes. Use BIT() macro. --- drivers/dma/k3dma.c | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c index fdec2b6..4dce532 100644 --- a/drivers/dma/k3dma.c +++ b/drivers/dma/k3dma.c @@ -116,6 +116,14 @@ struct k3_dma_dev { unsigned int irq; }; + +#define K3_FLAG_NOCLK BIT(1) + +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 +798,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 +831,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 +845,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 +861,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 Thu Jan 24 20:24:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10780087 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 31E8614E5 for ; Thu, 24 Jan 2019 20:25:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1F5492ED7D for ; Thu, 24 Jan 2019 20:25:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0F05E2EF27; Thu, 24 Jan 2019 20:25:07 +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 A39FC2ED7D for ; Thu, 24 Jan 2019 20:25:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728152AbfAXUZF (ORCPT ); Thu, 24 Jan 2019 15:25:05 -0500 Received: from mail-pg1-f193.google.com ([209.85.215.193]:46854 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728362AbfAXUYe (ORCPT ); Thu, 24 Jan 2019 15:24:34 -0500 Received: by mail-pg1-f193.google.com with SMTP id w7so3139569pgp.13 for ; Thu, 24 Jan 2019 12:24: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=047J1k0/mUcjNgmvRUyCPtpz6N3HyINo5R4EX4aYjSs=; b=FxmoAdm15J9jmB9nUS/eH4yx3ojUDV8+yI0dYQNVqxuIDrQ0Yymglbt8B61ufqfo6c LtA+KYn9997gWwA6mQm2aydPKf+J41p9PIGjKs5ZTn4y1MaGCGjTQ4cl6LF3K/Z8m1/o 9lGp0YpQsia/DMIPOmizrFEq6fBug74EO5Svg= 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=047J1k0/mUcjNgmvRUyCPtpz6N3HyINo5R4EX4aYjSs=; b=NncJJmuy4RS2iVH/uz5hiD8PJX3OerWxlpmHGuf4LrYopprU9vlFMk8p9FzRu0l3Ip t7lT9X3pvhAC5Sp5pVrdMvMeu4h2TUC86V9qK3Z3JsB1b1fUvTU68cLoAurP/xVc2reV bJQZcV87e/sIhKLNa/0aaT607YAFiV2fJUQYDblmIhSux3ARMTT0QV431g34vVKUZdUI B7rM6kEXD/KZ6GQJPYXaqD7tkeUSi+sboWDNIpI7CORjlwKq+MXcNh8j7sCnqmBXa5Qv 0w2JFBHeoan+NDlMdbIMFRYIv6ey+7zCyHaRKbmTijxSAQsfpaS5lB0MkeUOqvzlRmhb CVZg== X-Gm-Message-State: AJcUukcH9D0AeH0bzi9xvmcK6vdrZC1u3ZCA1VI0En50v0jHEmxpEIQd x69wopnRUbji7RVsUtc71Yoq+g== X-Google-Smtp-Source: ALg8bN7ET00M0k5VI8lVBzNMdi6A83CsHr2S1loHivH85R+UbopGmB+DDRz1YtH+K4Wh6NildFcxZg== X-Received: by 2002:a62:39cb:: with SMTP id u72mr7937322pfj.223.1548361473976; Thu, 24 Jan 2019 12:24:33 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id c72sm45263309pfb.107.2019.01.24.12.24.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 24 Jan 2019 12:24:33 -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 v5] dma: k3dma: Delete axi_config Date: Thu, 24 Jan 2019 12:24:19 -0800 Message-Id: <1548361463-28372-5-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1548361463-28372-1-git-send-email-john.stultz@linaro.org> References: <1548361463-28372-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 4dce532..e415c85 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 @@ -169,7 +167,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 Thu Jan 24 20:24:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 10780085 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 8AB0814E5 for ; Thu, 24 Jan 2019 20:24:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 792132EF27 for ; Thu, 24 Jan 2019 20:24:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6CC072EF8A; Thu, 24 Jan 2019 20:24:59 +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 026ED2EF27 for ; Thu, 24 Jan 2019 20:24:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728816AbfAXUYi (ORCPT ); Thu, 24 Jan 2019 15:24:38 -0500 Received: from mail-pg1-f174.google.com ([209.85.215.174]:42368 "EHLO mail-pg1-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728220AbfAXUYg (ORCPT ); Thu, 24 Jan 2019 15:24:36 -0500 Received: by mail-pg1-f174.google.com with SMTP id d72so3149753pga.9 for ; Thu, 24 Jan 2019 12:24: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=B0f8amiCLjyli23I/W3zmD+C1Sb7tBAJSig2UQnjOwY=; b=gB0ZszgYj5x8jhbNMvIZcXlWOR1JWYlYbwLDXLU4cskG8A97BO+WzW5FZ7LelxxtIR /p9ppRHWPpPWeC7jJJchOrVJqwJeE5+0SNOZHKWFIhtk9f3n3LxW8P0LvcwdNZRXaKgo lzFu6Rf+aPTnZtMhPUudVyz8KKbzuabo5P2GQ= 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=B0f8amiCLjyli23I/W3zmD+C1Sb7tBAJSig2UQnjOwY=; b=aCjc+qe/B4/lB8ONPMw4C3n5FJlWYarhFMcza0nDU5i5qslZ50HZjXUvlmZhvyV9ai FP4wCBu2RbKJSYQpDgWAMAr5apyREaa08ifyaIPeVbHoTfBlxDAWyoW5F+74ydtcyh/g lytsclwnL9dnYSAzhzSiBLiMZ7ugKVI2aFQ9NP2KZvLGH8IlORxKGSLEtJ0Z1pyp3yUo 5lGjY1kHQ5/MgX7JqSsB9F+4s5gRXNG6n0x7Y9lyPJ6CFa3M7hznipkcZTvXq7ZW3FDD Zi8zDUUxfscDKMPGbR91pmvCTmTAzGMnsgaviwShX9YrKg9k102CrA9xXWPAjo+1gY7x YMXg== X-Gm-Message-State: AJcUukf+CPj9DJoZZrpt36FUC2abJF4QQ0Ok87x/slmWcKmnfqx6rREs irwffjfTAWriSU1NVPS8JzOCOg== X-Google-Smtp-Source: ALg8bN4Dwb3JzI5lW/2vt0Yp5oNUZHY8h6sdUI1wJTzstKxnpgqTE9glCXrxX130Sm4sTN55K9ANxw== X-Received: by 2002:a62:de06:: with SMTP id h6mr8198941pfg.158.1548361476070; Thu, 24 Jan 2019 12:24:36 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:4e72:b9ff:fe99:466a]) by smtp.gmail.com with ESMTPSA id c72sm45263309pfb.107.2019.01.24.12.24.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 24 Jan 2019 12:24:35 -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 v5] dma: k3dma: Add support for dma-channel-mask Date: Thu, 24 Jan 2019 12:24:20 -0800 Message-Id: <1548361463-28372-6-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1548361463-28372-1-git-send-email-john.stultz@linaro.org> References: <1548361463-28372-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 v5: Use BIT(i) instead of (1<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)) { @@ -336,6 +340,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; @@ -856,6 +863,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)) { @@ -887,8 +901,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 & BIT(i))) + continue; + p = &d->phy[i]; p->idx = i; p->base = d->base + i * 0x40; }