From patchwork Mon Jun 25 13:15:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 139845 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp3980190lji; Mon, 25 Jun 2018 06:16:27 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJe6ElIbzfLm1mGpE7iNEEGeGcgjazju7TOV0ahRVL/ZIReFqIRHHSUJjTgy2+49lvHS4Yv X-Received: by 2002:a1c:28c6:: with SMTP id o189-v6mr1059480wmo.102.1529932587354; Mon, 25 Jun 2018 06:16:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529932587; cv=none; d=google.com; s=arc-20160816; b=woYTAsxi0dLI4UGmS2qv9t3oKnvjDTnBo7ZdewqLwpfOAaLYNRQBeKRW9CldRz6eg/ QCpqZccfdHaNwQ49eiqkOYaP+TjfrDCSIVIhKN3W+G2kmeFMERMbquZ4EBktLIwg27VE RLutOuy5KA7W1AAD7/OSXxS9hf8US2a/aGjeB0c6i0foFhm7+d5PKczfeAib4v3SsQ/V t3qJQ8hMsCnuJei4A2/YUoZb7zaIC4V3wqEQXA8YL+btYqVi7tEzRXgxOWRzvFIKe3vI rcqEvV+wii8S4VDopaqw3GBqSDl713kcn+n+23icLbxUzr4V9hFdibqoDOaGjlPDy4NX Qd6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:date:message-id:in-reply-to:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=w+0E7BB69Q1VBsKPfG2+y/M2vt9rSgrOESWJH/g+u2A=; b=mpnzkdZql+Yav5e80P+9tNCfMuBoNIxb8QFP8kuwZTQBA+S14DN5d2cFic4CMxYExn B8DKSsSEpEtItHzRiQdOcrEk98VSkB8LdyL1Dc03UmI7291Yimk7Ww3t/qGK0pqv1MJw ZvQHpXEHer8HsdeaiM6NVZYGwPDObS7PJ7WCDu9UqoDnGxLUd0kAKzE6oAkh4gzOQYji IUfuGF0BNBdQn7eooyX05KayOLih5ql1n6Yb7WaQaEWk4+gAmv4YLxSZ+T7imMXLOoIx dJPgXbKH71XsGOJSWLYD945eTGl3K9E0RDuOyASPDywYc4wV0z8xm9gtHC9g3MoQKS9/ IKbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=vdJZcki2; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from alsa0.perex.cz (alsa0.perex.cz. [77.48.224.243]) by mx.google.com with ESMTP id p12-v6si15875441wrd.297.2018.06.25.06.16.27; Mon, 25 Jun 2018 06:16:27 -0700 (PDT) Received-SPF: pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) client-ip=77.48.224.243; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=vdJZcki2; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 278E02677F8; Mon, 25 Jun 2018 15:15:53 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 437E5267809; Mon, 25 Jun 2018 15:15:49 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail1.perex.cz X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, PRX_BODY_30, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=disabled version=3.4.0 Received: from heliosphere.sirena.org.uk (heliosphere.sirena.org.uk [172.104.155.198]) by alsa0.perex.cz (Postfix) with ESMTP id CF3ED2677D3 for ; Mon, 25 Jun 2018 15:15:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=8S0AYXc7a6efaksjxluUceN0EwG53v3ZQuh+3XgsqA8=; b=vdJZcki2xmiC cZbnbWh/I6qlyRFDPMPxsngQNLv8F6+K4dv4Qnr62VKrUx1Lp4RDQkswtsI1BSHiU72NugUBZvxqY bqCpT/QEqXIz0nPJgNTZ2HR6aJ3Fhjz7RhGjGSOqfloHAX9as/7s5jsmuq4F2MPDu6mytHX+6KRRS CBSas=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fXRLG-0007si-Gr; Mon, 25 Jun 2018 13:15:38 +0000 Received: from broonie by debutante with local (Exim 4.91) (envelope-from ) id 1fXRLG-00005A-3A; Mon, 25 Jun 2018 14:15:38 +0100 From: Mark Brown To: Robert Jarzmik In-Reply-To: <20180524070703.11901-2-robert.jarzmik@free.fr> Message-Id: Date: Mon, 25 Jun 2018 14:15:38 +0100 Cc: Boris Brezillon , alsa-devel@alsa-project.org, Arnd Bergmann , linux-ide@vger.kernel.org, Richard Weinberger , linux-mmc@vger.kernel.org, Liam Girdwood , Haojian Zhuang , linux-kernel@vger.kernel.org, Marek Vasut , Vinod Koul , Mark Brown , linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Ezequiel Garcia , netdev@vger.kernel.org, dmaengine@vger.kernel.org, Brian Norris , David Woodhouse , Daniel Mack , linux-media@vger.kernel.org Subject: [alsa-devel] Applied "dmaengine: pxa: use a dma slave map" to the asoc tree X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org The patch dmaengine: pxa: use a dma slave map has been applied to the asoc tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark >From 420c0117db25db38b72b6230223f7a976d3070ea Mon Sep 17 00:00:00 2001 From: Robert Jarzmik Date: Sun, 17 Jun 2018 19:02:04 +0200 Subject: [PATCH] dmaengine: pxa: use a dma slave map In order to remove the specific knowledge of the dma mapping from PXA drivers, add a default slave map for pxa architectures. This won't impact MMP architecture, but is aimed only at all PXA boards. This is the first step, and once all drivers are converted, pxad_filter_fn() will be made static, and the DMA resources removed from device.c. Signed-off-by: Robert Jarzmik Reported-by: Arnd Bergmann Acked-by: Vinod Koul --- drivers/dma/pxa_dma.c | 10 +++++++++- include/linux/platform_data/mmp_dma.h | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) -- 2.18.0.rc2 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel diff --git a/drivers/dma/pxa_dma.c b/drivers/dma/pxa_dma.c index b53fb618bbf6..9505334f9c6e 100644 --- a/drivers/dma/pxa_dma.c +++ b/drivers/dma/pxa_dma.c @@ -179,6 +179,8 @@ static unsigned int pxad_drcmr(unsigned int line) return 0x1000 + line * 4; } +bool pxad_filter_fn(struct dma_chan *chan, void *param); + /* * Debug fs */ @@ -1396,9 +1398,10 @@ static int pxad_probe(struct platform_device *op) { struct pxad_device *pdev; const struct of_device_id *of_id; + const struct dma_slave_map *slave_map = NULL; struct mmp_dma_platdata *pdata = dev_get_platdata(&op->dev); struct resource *iores; - int ret, dma_channels = 0, nb_requestors = 0; + int ret, dma_channels = 0, nb_requestors = 0, slave_map_cnt = 0; const enum dma_slave_buswidth widths = DMA_SLAVE_BUSWIDTH_1_BYTE | DMA_SLAVE_BUSWIDTH_2_BYTES | DMA_SLAVE_BUSWIDTH_4_BYTES; @@ -1429,6 +1432,8 @@ static int pxad_probe(struct platform_device *op) } else if (pdata && pdata->dma_channels) { dma_channels = pdata->dma_channels; nb_requestors = pdata->nb_requestors; + slave_map = pdata->slave_map; + slave_map_cnt = pdata->slave_map_cnt; } else { dma_channels = 32; /* default 32 channel */ } @@ -1440,6 +1445,9 @@ static int pxad_probe(struct platform_device *op) pdev->slave.device_prep_dma_memcpy = pxad_prep_memcpy; pdev->slave.device_prep_slave_sg = pxad_prep_slave_sg; pdev->slave.device_prep_dma_cyclic = pxad_prep_dma_cyclic; + pdev->slave.filter.map = slave_map; + pdev->slave.filter.mapcnt = slave_map_cnt; + pdev->slave.filter.fn = pxad_filter_fn; pdev->slave.copy_align = PDMA_ALIGNMENT; pdev->slave.src_addr_widths = widths; diff --git a/include/linux/platform_data/mmp_dma.h b/include/linux/platform_data/mmp_dma.h index d1397c8ed94e..6397b9c8149a 100644 --- a/include/linux/platform_data/mmp_dma.h +++ b/include/linux/platform_data/mmp_dma.h @@ -12,9 +12,13 @@ #ifndef MMP_DMA_H #define MMP_DMA_H +struct dma_slave_map; + struct mmp_dma_platdata { int dma_channels; int nb_requestors; + int slave_map_cnt; + const struct dma_slave_map *slave_map; }; #endif /* MMP_DMA_H */