From patchwork Fri Jan 25 02:55:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angus Ainslie X-Patchwork-Id: 10780439 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 549901390 for ; Fri, 25 Jan 2019 02:56:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 43E572EBB6 for ; Fri, 25 Jan 2019 02:56:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 384702EC1C; Fri, 25 Jan 2019 02:56:00 +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 CD83A2EBB6 for ; Fri, 25 Jan 2019 02:55:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728696AbfAYCzj (ORCPT ); Thu, 24 Jan 2019 21:55:39 -0500 Received: from node.akkea.ca ([192.155.83.177]:52092 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726147AbfAYCzi (ORCPT ); Thu, 24 Jan 2019 21:55:38 -0500 Received: from localhost (localhost [127.0.0.1]) by node.akkea.ca (Postfix) with ESMTP id 941FC4E2051; Fri, 25 Jan 2019 02:55:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384937; bh=+JXGIVucnYCY0cluddvyVeHVzItz/VTc2jupzPlE5mk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=S/T368i0EE27Nh6XHcxhO1cbGHBeLDfxuHZ5N8hx6l+DAEHXkNUG6vShI91PFEH7c fY2Q6hN0bu9dtF7QyKs+brb281XIiCsHYKwnp6xT7gLLuVOupR6Bb0GjzZnF1WjIQ/ CLbrNz2JEkVOPgIILCjns859Z4HZn2A+GGi1/Tcw= X-Virus-Scanned: Debian amavisd-new at mail.akkea.ca Received: from node.akkea.ca ([127.0.0.1]) by localhost (mail.akkea.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yz-2hxMqnySQ; Fri, 25 Jan 2019 02:55:37 +0000 (UTC) Received: from localhost.localdomain (198-48-167-13.cpe.pppoe.ca [198.48.167.13]) by node.akkea.ca (Postfix) with ESMTPSA id 8ADFE4E204D; Fri, 25 Jan 2019 02:55:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384937; bh=+JXGIVucnYCY0cluddvyVeHVzItz/VTc2jupzPlE5mk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=S/T368i0EE27Nh6XHcxhO1cbGHBeLDfxuHZ5N8hx6l+DAEHXkNUG6vShI91PFEH7c fY2Q6hN0bu9dtF7QyKs+brb281XIiCsHYKwnp6xT7gLLuVOupR6Bb0GjzZnF1WjIQ/ CLbrNz2JEkVOPgIILCjns859Z4HZn2A+GGi1/Tcw= From: "Angus Ainslie (Purism)" To: angus@akkea.ca Cc: angus.ainslie@puri.sm, Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Lucas Stach , Daniel Baluta Subject: [PATCH v4 1/5] dmaengine: imx-sdma: add clock ratio 1:1 check Date: Thu, 24 Jan 2019 19:55:24 -0700 Message-Id: <20190125025528.15645-2-angus@akkea.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190125025528.15645-1-angus@akkea.ca> References: <20190120023150.17138-1-angus@akkea.ca> <20190125025528.15645-1-angus@akkea.ca> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On i.mx8 mscale B0 chip, AHB/SDMA clock ratio 2:1 can't be supportted, since SDMA clock ratio has to be increased to 250Mhz, AHB can't reach to 500Mhz, so use 1:1 instead. Based on NXP commit MLK-16841-1 by Robin Gong Signed-off-by: Angus Ainslie (Purism) --- drivers/dma/imx-sdma.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 0b3a67ff8e82..5e5ef0b5a973 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -440,6 +440,8 @@ struct sdma_engine { unsigned int irq; dma_addr_t bd0_phys; struct sdma_buffer_descriptor *bd0; + /* clock ratio for AHB:SDMA core. 1:1 is 1, 2:1 is 0*/ + bool clk_ratio; }; static int sdma_config_write(struct dma_chan *chan, @@ -662,8 +664,14 @@ static int sdma_run_channel0(struct sdma_engine *sdma) dev_err(sdma->dev, "Timeout waiting for CH0 ready\n"); /* Set bits of CONFIG register with dynamic context switching */ - if (readl(sdma->regs + SDMA_H_CONFIG) == 0) - writel_relaxed(SDMA_H_CONFIG_CSM, sdma->regs + SDMA_H_CONFIG); + if ((readl(sdma->regs + SDMA_H_CONFIG) & ~SDMA_H_CONFIG_ACR) == 0) { + reg = SDMA_H_CONFIG_CSM; + + if (sdma->clk_ratio) + reg |= SDMA_H_CONFIG_ACR; + + writel_relaxed(reg, sdma->regs + SDMA_H_CONFIG); + } return ret; } @@ -1840,6 +1848,9 @@ static int sdma_init(struct sdma_engine *sdma) if (ret) goto disable_clk_ipg; + if (clk_get_rate(sdma->clk_ahb) == clk_get_rate(sdma->clk_ipg)) + sdma->clk_ratio = 1; + /* Be sure SDMA has not started yet */ writel_relaxed(0, sdma->regs + SDMA_H_C0PTR); @@ -1880,8 +1891,10 @@ static int sdma_init(struct sdma_engine *sdma) writel_relaxed(0x4050, sdma->regs + SDMA_CHN0ADDR); /* Set bits of CONFIG register but with static context switching */ - /* FIXME: Check whether to set ACR bit depending on clock ratios */ - writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); + if (sdma->clk_ratio) + writel_relaxed(SDMA_H_CONFIG_ACR, sdma->regs + SDMA_H_CONFIG); + else + writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); writel_relaxed(ccb_phys, sdma->regs + SDMA_H_C0PTR); From patchwork Fri Jan 25 02:55:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angus Ainslie X-Patchwork-Id: 10780437 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 89C891850 for ; Fri, 25 Jan 2019 02:55:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 780F72EBB6 for ; Fri, 25 Jan 2019 02:55:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 64DFC2EC1C; Fri, 25 Jan 2019 02:55: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 16DA52EBB6 for ; Fri, 25 Jan 2019 02:55:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728702AbfAYCzk (ORCPT ); Thu, 24 Jan 2019 21:55:40 -0500 Received: from node.akkea.ca ([192.155.83.177]:52108 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726107AbfAYCzj (ORCPT ); Thu, 24 Jan 2019 21:55:39 -0500 Received: from localhost (localhost [127.0.0.1]) by node.akkea.ca (Postfix) with ESMTP id 370A74E2056; Fri, 25 Jan 2019 02:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384938; bh=EtaCZgEa0SNQFQDgpxE1KPj6YO295TP++Zo3L+XFaTs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=qdFIlRMW1W+KCgkaHSCBQ6PE6fBD4Z06/f/u/aq4SJGGkr2cP3lOynXV21trgiqBd cPiZC07yGvKf0ORIZWyy9ctA9qTTzwM5Ew0fklzLzzZolX4TlT2DUJDG8ONfEHtqTT H87BcPUsZwevAok3X5W+5Tzwbn2WdvLxgxWf0D78= X-Virus-Scanned: Debian amavisd-new at mail.akkea.ca Received: from node.akkea.ca ([127.0.0.1]) by localhost (mail.akkea.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yvU4zLEy14rj; Fri, 25 Jan 2019 02:55:37 +0000 (UTC) Received: from localhost.localdomain (198-48-167-13.cpe.pppoe.ca [198.48.167.13]) by node.akkea.ca (Postfix) with ESMTPSA id 4E4FD4E204B; Fri, 25 Jan 2019 02:55:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384937; bh=EtaCZgEa0SNQFQDgpxE1KPj6YO295TP++Zo3L+XFaTs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=aM4wCKqkCR6LGo/bXqkAy3mMCmyFbiBGGQ2Y5HnFd4ZWetQdBM4sHcHRSo+0qhNmQ I55ROY1ZVhOFEUda/aW0fqME2WbZwSS6A6EJ7e6yVrI+PAcuaiHjO8U/5a1/LdoBE7 bLd2ZWJKW4c5ZD1tdY+E5V+UDf5jivXxKTJ7CXUc= From: "Angus Ainslie (Purism)" To: angus@akkea.ca Cc: angus.ainslie@puri.sm, Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Lucas Stach , Daniel Baluta Subject: [PATCH v4 2/5] dmaengine: imx-sdma: add imx8mq sdma compatible parts Date: Thu, 24 Jan 2019 19:55:25 -0700 Message-Id: <20190125025528.15645-3-angus@akkea.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190125025528.15645-1-angus@akkea.ca> References: <20190120023150.17138-1-angus@akkea.ca> <20190125025528.15645-1-angus@akkea.ca> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This is identical to the imx7d data structures but we need to be able to differentiate that the imx8mq has 2 sdma controllers. Signed-off-by: Angus Ainslie (Purism) --- drivers/dma/imx-sdma.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 5e5ef0b5a973..ec6fb48f387a 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -556,6 +556,12 @@ static struct sdma_driver_data sdma_imx7d = { .script_addrs = &sdma_script_imx7d, }; +static struct sdma_driver_data sdma_imx8mq = { + .chnenbl0 = SDMA_CHNENBL0_IMX35, + .num_events = 48, + .script_addrs = &sdma_script_imx7d, +}; + static const struct platform_device_id sdma_devtypes[] = { { .name = "imx25-sdma", @@ -578,6 +584,9 @@ static const struct platform_device_id sdma_devtypes[] = { }, { .name = "imx7d-sdma", .driver_data = (unsigned long)&sdma_imx7d, + }, { + .name = "imx8mq-sdma", + .driver_data = (unsigned long)&sdma_imx8mq, }, { /* sentinel */ } @@ -592,6 +601,7 @@ static const struct of_device_id sdma_dt_ids[] = { { .compatible = "fsl,imx31-sdma", .data = &sdma_imx31, }, { .compatible = "fsl,imx25-sdma", .data = &sdma_imx25, }, { .compatible = "fsl,imx7d-sdma", .data = &sdma_imx7d, }, + { .compatible = "fsl,imx8mq-sdma", .data = &sdma_imx8mq, }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, sdma_dt_ids); From patchwork Fri Jan 25 02:55:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angus Ainslie X-Patchwork-Id: 10780441 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 C08651390 for ; Fri, 25 Jan 2019 02:56:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AEBF52EBB6 for ; Fri, 25 Jan 2019 02:56:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A308A2EC1C; Fri, 25 Jan 2019 02:56:04 +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 591E62EBB6 for ; Fri, 25 Jan 2019 02:56:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728199AbfAYCz7 (ORCPT ); Thu, 24 Jan 2019 21:55:59 -0500 Received: from node.akkea.ca ([192.155.83.177]:52134 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728683AbfAYCzj (ORCPT ); Thu, 24 Jan 2019 21:55:39 -0500 Received: from localhost (localhost [127.0.0.1]) by node.akkea.ca (Postfix) with ESMTP id EAE3C4E2058; Fri, 25 Jan 2019 02:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384938; bh=2BskzDdkFSPQ7IWwVr4w3oGtVDWNwTeYX0iWNkTP6cU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=DpyD3Z5+oNfU6uJs6Jgqhv8BIVvERCiRKkKcirj20uqqOybvivU8wUtay6LGulBmg tU2KybODiExQFDy3DbRjVf3BBeQYbzt8kRpAUvtnlk0NUrwUPu9bsWauZLAqAz2oen R6BR6Bi6WpX2bk2hcleGSRe7LbB/oIdErzdbi10Y= X-Virus-Scanned: Debian amavisd-new at mail.akkea.ca Received: from node.akkea.ca ([127.0.0.1]) by localhost (mail.akkea.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 33bNu387GHL5; Fri, 25 Jan 2019 02:55:38 +0000 (UTC) Received: from localhost.localdomain (198-48-167-13.cpe.pppoe.ca [198.48.167.13]) by node.akkea.ca (Postfix) with ESMTPSA id 0EE274E204D; Fri, 25 Jan 2019 02:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384938; bh=2BskzDdkFSPQ7IWwVr4w3oGtVDWNwTeYX0iWNkTP6cU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=DpyD3Z5+oNfU6uJs6Jgqhv8BIVvERCiRKkKcirj20uqqOybvivU8wUtay6LGulBmg tU2KybODiExQFDy3DbRjVf3BBeQYbzt8kRpAUvtnlk0NUrwUPu9bsWauZLAqAz2oen R6BR6Bi6WpX2bk2hcleGSRe7LbB/oIdErzdbi10Y= From: "Angus Ainslie (Purism)" To: angus@akkea.ca Cc: angus.ainslie@puri.sm, Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Lucas Stach , Daniel Baluta Subject: [PATCH v4 3/5] dt-bindings: dma: fsl-imx-sdma: add fsl,imx8mq to the accepted compatible node Date: Thu, 24 Jan 2019 19:55:26 -0700 Message-Id: <20190125025528.15645-4-angus@akkea.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190125025528.15645-1-angus@akkea.ca> References: <20190120023150.17138-1-angus@akkea.ca> <20190125025528.15645-1-angus@akkea.ca> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The imx8mq is a slightly different variant on the imx7d Signed-off-by: Angus Ainslie (Purism) Reviewed-by: Lucas Stach --- Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt index 3c9a57a8443b..9d8bbac27d8b 100644 --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt @@ -9,6 +9,7 @@ Required properties: "fsl,imx53-sdma" "fsl,imx6q-sdma" "fsl,imx7d-sdma" + "fsl,imx8mq-sdma" The -to variants should be preferred since they allow to determine the correct ROM script addresses needed for the driver to work without additional firmware. From patchwork Fri Jan 25 02:55:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angus Ainslie X-Patchwork-Id: 10780435 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 118BD1515 for ; Fri, 25 Jan 2019 02:55:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F1BAE2EBB6 for ; Fri, 25 Jan 2019 02:55:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E07D22EC35; Fri, 25 Jan 2019 02:55: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 834552EBDE for ; Fri, 25 Jan 2019 02:55:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728471AbfAYCzw (ORCPT ); Thu, 24 Jan 2019 21:55:52 -0500 Received: from node.akkea.ca ([192.155.83.177]:52108 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728694AbfAYCzk (ORCPT ); Thu, 24 Jan 2019 21:55:40 -0500 Received: from localhost (localhost [127.0.0.1]) by node.akkea.ca (Postfix) with ESMTP id C03E64E205C; Fri, 25 Jan 2019 02:55:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384939; bh=NtFtvKu7hgih6/01kJslPvJy0MSpNrvkPmrJHu9XxMM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=coyFDyZ/SG5g1Ba9ugw1yk/Cnn0Wi0rML5tbTK26IGvGgF0vJ5l8oMylby4QANIZZ eX5yEZHB/OzAJ8wmeY9G4f9zJ/DiOg3jMZXahzqkobbieT0Kx+0AU1gY4vkUts17YG xD89XTwdFNasizYL+iyDgM2dGEeYDs6O7GygUUiU= X-Virus-Scanned: Debian amavisd-new at mail.akkea.ca Received: from node.akkea.ca ([127.0.0.1]) by localhost (mail.akkea.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5E9mFXaPlrsN; Fri, 25 Jan 2019 02:55:39 +0000 (UTC) Received: from localhost.localdomain (198-48-167-13.cpe.pppoe.ca [198.48.167.13]) by node.akkea.ca (Postfix) with ESMTPSA id C3A8C4E204E; Fri, 25 Jan 2019 02:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384939; bh=NtFtvKu7hgih6/01kJslPvJy0MSpNrvkPmrJHu9XxMM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=coyFDyZ/SG5g1Ba9ugw1yk/Cnn0Wi0rML5tbTK26IGvGgF0vJ5l8oMylby4QANIZZ eX5yEZHB/OzAJ8wmeY9G4f9zJ/DiOg3jMZXahzqkobbieT0Kx+0AU1gY4vkUts17YG xD89XTwdFNasizYL+iyDgM2dGEeYDs6O7GygUUiU= From: "Angus Ainslie (Purism)" To: angus@akkea.ca Cc: angus.ainslie@puri.sm, Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Lucas Stach , Daniel Baluta Subject: [PATCH v4 4/5] dma: imx-sdma: add a test for imx8mq multi sdma devices Date: Thu, 24 Jan 2019 19:55:27 -0700 Message-Id: <20190125025528.15645-5-angus@akkea.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190125025528.15645-1-angus@akkea.ca> References: <20190120023150.17138-1-angus@akkea.ca> <20190125025528.15645-1-angus@akkea.ca> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On i.mx8mq, there are two sdma instances, and the common dma framework will get a channel dynamically from any available sdma instance whether it's the first sdma device or the second sdma device. Some IPs like SAI only work with sdma2 not sdma1. To make sure the sdma channel is from the correct sdma device, use the phandle to match. Signed-off-by: Angus Ainslie (Purism) --- drivers/dma/imx-sdma.c | 8 ++++++++ include/linux/platform_data/dma-imx.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index ec6fb48f387a..88e112a4aabf 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -1927,11 +1927,17 @@ static int sdma_init(struct sdma_engine *sdma) static bool sdma_filter_fn(struct dma_chan *chan, void *fn_param) { struct sdma_channel *sdmac = to_sdma_chan(chan); + struct sdma_engine *sdma = sdmac->sdma; struct imx_dma_data *data = fn_param; if (!imx_dma_is_general_purpose(chan)) return false; + /* return false if it's not the right device */ + if ((sdmac->sdma->drvdata == &sdma_imx8mq) + && (sdma->dev->of_node->phandle != data->phandle)) + return false; + sdmac->data = *data; chan->private = &sdmac->data; @@ -1942,6 +1948,7 @@ static struct dma_chan *sdma_xlate(struct of_phandle_args *dma_spec, struct of_dma *ofdma) { struct sdma_engine *sdma = ofdma->of_dma_data; + struct device_node *np = ofdma->of_node; dma_cap_mask_t mask = sdma->dma_device.cap_mask; struct imx_dma_data data; @@ -1959,6 +1966,7 @@ static struct dma_chan *sdma_xlate(struct of_phandle_args *dma_spec, * be set to sdmac->event_id1. */ data.dma_request2 = 0; + data.phandle = np->phandle; return dma_request_channel(mask, sdma_filter_fn, &data); } diff --git a/include/linux/platform_data/dma-imx.h b/include/linux/platform_data/dma-imx.h index 7d964e787299..eeb5b73ae542 100644 --- a/include/linux/platform_data/dma-imx.h +++ b/include/linux/platform_data/dma-imx.h @@ -55,6 +55,7 @@ struct imx_dma_data { int dma_request2; /* secondary DMA request line */ enum sdma_peripheral_type peripheral_type; int priority; + int phandle; }; static inline int imx_dma_is_ipu(struct dma_chan *chan) From patchwork Fri Jan 25 02:55:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angus Ainslie X-Patchwork-Id: 10780431 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 295D11390 for ; Fri, 25 Jan 2019 02:55:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 16BFA2EBB6 for ; Fri, 25 Jan 2019 02:55:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 09DCF2EC1C; Fri, 25 Jan 2019 02:55:48 +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 A7DF12EBB6 for ; Fri, 25 Jan 2019 02:55:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726107AbfAYCzr (ORCPT ); Thu, 24 Jan 2019 21:55:47 -0500 Received: from node.akkea.ca ([192.155.83.177]:52164 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728737AbfAYCzl (ORCPT ); Thu, 24 Jan 2019 21:55:41 -0500 Received: from localhost (localhost [127.0.0.1]) by node.akkea.ca (Postfix) with ESMTP id 73B934E204E; Fri, 25 Jan 2019 02:55:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384940; bh=ixvNVeF1Cz3AKqfX15lAQdMhkXdlfdPWW1FxryLNR5A=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=b8TV1liqTwL8ktdK6mmTzXnWJdLb2cWPWGTwkNEkuNTpxGwj2qXv9qw2Q4XN/DpJw eqEd6mzk0Y9Y+ZGG76Rld3ebdL0Fg4zbEnWb0X3Hm0E+ZseEDNkB4H65k34JBqI0ot nJgU701tthu6yRbmKKxlNSgQzfGJBtHo1HlTyK4I= X-Virus-Scanned: Debian amavisd-new at mail.akkea.ca Received: from node.akkea.ca ([127.0.0.1]) by localhost (mail.akkea.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KqoVl4IQzJnH; Fri, 25 Jan 2019 02:55:40 +0000 (UTC) Received: from localhost.localdomain (198-48-167-13.cpe.pppoe.ca [198.48.167.13]) by node.akkea.ca (Postfix) with ESMTPSA id 83D214E204B; Fri, 25 Jan 2019 02:55:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1548384940; bh=ixvNVeF1Cz3AKqfX15lAQdMhkXdlfdPWW1FxryLNR5A=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=b8TV1liqTwL8ktdK6mmTzXnWJdLb2cWPWGTwkNEkuNTpxGwj2qXv9qw2Q4XN/DpJw eqEd6mzk0Y9Y+ZGG76Rld3ebdL0Fg4zbEnWb0X3Hm0E+ZseEDNkB4H65k34JBqI0ot nJgU701tthu6yRbmKKxlNSgQzfGJBtHo1HlTyK4I= From: "Angus Ainslie (Purism)" To: angus@akkea.ca Cc: angus.ainslie@puri.sm, Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Lucas Stach , Daniel Baluta Subject: [PATCH v4 5/5] imx8mq.dtsi: add the sdma nodes Date: Thu, 24 Jan 2019 19:55:28 -0700 Message-Id: <20190125025528.15645-6-angus@akkea.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190125025528.15645-1-angus@akkea.ca> References: <20190120023150.17138-1-angus@akkea.ca> <20190125025528.15645-1-angus@akkea.ca> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add the sdma nodes to the base devicetree for the imx8mq Signed-off-by: Angus Ainslie (Purism) Reviewed-by: Lucas Stach --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 28 +++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index c0402375e7c1..f0cd3675ead0 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -336,6 +336,17 @@ clocks = <&clk IMX8MQ_CLK_WDOG3_ROOT>; status = "disabled"; }; + + sdma2: sdma@302c0000 { + compatible = "fsl,imx8mq-sdma", "fsl,imx7d-sdma"; + reg = <0x302c0000 0x10000>; + interrupts = ; + clocks = <&clk IMX8MQ_CLK_SDMA2_ROOT>, + <&clk IMX8MQ_CLK_SDMA2_ROOT>; + clock-names = "ipg", "ahb"; + #dma-cells = <3>; + fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; + }; }; bus@30400000 { /* AIPS2 */ @@ -370,6 +381,8 @@ clocks = <&clk IMX8MQ_CLK_UART3_ROOT>, <&clk IMX8MQ_CLK_UART3_ROOT>; clock-names = "ipg", "per"; + dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -381,6 +394,8 @@ clocks = <&clk IMX8MQ_CLK_UART2_ROOT>, <&clk IMX8MQ_CLK_UART2_ROOT>; clock-names = "ipg", "per"; + dmas = <&sdma1 24 4 0>, <&sdma1 25 4 0>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -432,6 +447,8 @@ clocks = <&clk IMX8MQ_CLK_UART4_ROOT>, <&clk IMX8MQ_CLK_UART4_ROOT>; clock-names = "ipg", "per"; + dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -465,6 +482,17 @@ status = "disabled"; }; + sdma1: sdma@30bd0000 { + compatible = "fsl,imx8mq-sdma", "fsl,imx7d-sdma"; + reg = <0x30bd0000 0x10000>; + interrupts = ; + clocks = <&clk IMX8MQ_CLK_SDMA1_ROOT>, + <&clk IMX8MQ_CLK_AHB>; + clock-names = "ipg", "ahb"; + #dma-cells = <3>; + fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; + }; + fec1: ethernet@30be0000 { compatible = "fsl,imx8mq-fec", "fsl,imx6sx-fec"; reg = <0x30be0000 0x10000>;