From: Sylwester Nawrocki <s.nawrocki@samsung.com> To: krzk@kernel.org, vinod.koul@intel.com, kgene@kernel.org Cc: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org, broonie@kernel.org, ckeepax@opensource.wolfsonmicro.com, ym0914@gmail.com, arnd@arndb.de, javier@osg.samsung.com, andi.shyti@samsung.com, sbkim73@samsung.com, Sylwester Nawrocki <s.nawrocki@samsung.com> Subject: [PATCH 3/8] spi: s3c64xx: Do not use platform_data for DMA parameters Date: Thu, 10 Nov 2016 16:17:51 +0100 [thread overview] Message-ID: <1478791076-19528-4-git-send-email-s.nawrocki@samsung.com> (raw) In-Reply-To: <1478791076-19528-1-git-send-email-s.nawrocki@samsung.com> All related platforms use either devicetree or the DMA slave map API for mapping DMA channels to DMA slaves so we can now stop using platform_data for passing DMA details. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Tested-by: Andi Shyti <andi.shyti@samsung.com> Tested-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Mark Brown <broonie@kernel.org> --- drivers/spi/spi-s3c64xx.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index 3c09e94..28dfdce 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -341,27 +341,20 @@ static void s3c64xx_spi_set_cs(struct spi_device *spi, bool enable) static int s3c64xx_spi_prepare_transfer(struct spi_master *spi) { struct s3c64xx_spi_driver_data *sdd = spi_master_get_devdata(spi); - dma_filter_fn filter = sdd->cntrlr_info->filter; struct device *dev = &sdd->pdev->dev; - dma_cap_mask_t mask; if (is_polling(sdd)) return 0; - dma_cap_zero(mask); - dma_cap_set(DMA_SLAVE, mask); - /* Acquire DMA channels */ - sdd->rx_dma.ch = dma_request_slave_channel_compat(mask, filter, - sdd->cntrlr_info->dma_rx, dev, "rx"); + sdd->rx_dma.ch = dma_request_slave_channel(dev, "rx"); if (!sdd->rx_dma.ch) { dev_err(dev, "Failed to get RX DMA channel\n"); return -EBUSY; } spi->dma_rx = sdd->rx_dma.ch; - sdd->tx_dma.ch = dma_request_slave_channel_compat(mask, filter, - sdd->cntrlr_info->dma_tx, dev, "tx"); + sdd->tx_dma.ch = dma_request_slave_channel(dev, "tx"); if (!sdd->tx_dma.ch) { dev_err(dev, "Failed to get TX DMA channel\n"); dma_release_channel(sdd->rx_dma.ch); @@ -1091,11 +1084,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) sdd->cur_bpw = 8; - if (!sdd->pdev->dev.of_node && (!sci->dma_tx || !sci->dma_rx)) { - dev_warn(&pdev->dev, "Unable to get SPI tx/rx DMA data. Switching to poll mode\n"); - sdd->port_conf->quirks = S3C64XX_SPI_QUIRK_POLL; - } - sdd->tx_dma.direction = DMA_MEM_TO_DEV; sdd->rx_dma.direction = DMA_DEV_TO_MEM; @@ -1205,9 +1193,8 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) dev_dbg(&pdev->dev, "Samsung SoC SPI Driver loaded for Bus SPI-%d with %d Slaves attached\n", sdd->port_id, master->num_chipselect); - dev_dbg(&pdev->dev, "\tIOmem=[%pR]\tFIFO %dbytes\tDMA=[Rx-%p, Tx-%p]\n", - mem_res, (FIFO_LVL_MASK(sdd) >> 1) + 1, - sci->dma_rx, sci->dma_tx); + dev_dbg(&pdev->dev, "\tIOmem=[%pR]\tFIFO %dbytes\n", + mem_res, (FIFO_LVL_MASK(sdd) >> 1) + 1); pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_put_autosuspend(&pdev->dev); -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: s.nawrocki@samsung.com (Sylwester Nawrocki) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/8] spi: s3c64xx: Do not use platform_data for DMA parameters Date: Thu, 10 Nov 2016 16:17:51 +0100 [thread overview] Message-ID: <1478791076-19528-4-git-send-email-s.nawrocki@samsung.com> (raw) In-Reply-To: <1478791076-19528-1-git-send-email-s.nawrocki@samsung.com> All related platforms use either devicetree or the DMA slave map API for mapping DMA channels to DMA slaves so we can now stop using platform_data for passing DMA details. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Tested-by: Andi Shyti <andi.shyti@samsung.com> Tested-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Mark Brown <broonie@kernel.org> --- drivers/spi/spi-s3c64xx.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index 3c09e94..28dfdce 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -341,27 +341,20 @@ static void s3c64xx_spi_set_cs(struct spi_device *spi, bool enable) static int s3c64xx_spi_prepare_transfer(struct spi_master *spi) { struct s3c64xx_spi_driver_data *sdd = spi_master_get_devdata(spi); - dma_filter_fn filter = sdd->cntrlr_info->filter; struct device *dev = &sdd->pdev->dev; - dma_cap_mask_t mask; if (is_polling(sdd)) return 0; - dma_cap_zero(mask); - dma_cap_set(DMA_SLAVE, mask); - /* Acquire DMA channels */ - sdd->rx_dma.ch = dma_request_slave_channel_compat(mask, filter, - sdd->cntrlr_info->dma_rx, dev, "rx"); + sdd->rx_dma.ch = dma_request_slave_channel(dev, "rx"); if (!sdd->rx_dma.ch) { dev_err(dev, "Failed to get RX DMA channel\n"); return -EBUSY; } spi->dma_rx = sdd->rx_dma.ch; - sdd->tx_dma.ch = dma_request_slave_channel_compat(mask, filter, - sdd->cntrlr_info->dma_tx, dev, "tx"); + sdd->tx_dma.ch = dma_request_slave_channel(dev, "tx"); if (!sdd->tx_dma.ch) { dev_err(dev, "Failed to get TX DMA channel\n"); dma_release_channel(sdd->rx_dma.ch); @@ -1091,11 +1084,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) sdd->cur_bpw = 8; - if (!sdd->pdev->dev.of_node && (!sci->dma_tx || !sci->dma_rx)) { - dev_warn(&pdev->dev, "Unable to get SPI tx/rx DMA data. Switching to poll mode\n"); - sdd->port_conf->quirks = S3C64XX_SPI_QUIRK_POLL; - } - sdd->tx_dma.direction = DMA_MEM_TO_DEV; sdd->rx_dma.direction = DMA_DEV_TO_MEM; @@ -1205,9 +1193,8 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) dev_dbg(&pdev->dev, "Samsung SoC SPI Driver loaded for Bus SPI-%d with %d Slaves attached\n", sdd->port_id, master->num_chipselect); - dev_dbg(&pdev->dev, "\tIOmem=[%pR]\tFIFO %dbytes\tDMA=[Rx-%p, Tx-%p]\n", - mem_res, (FIFO_LVL_MASK(sdd) >> 1) + 1, - sci->dma_rx, sci->dma_tx); + dev_dbg(&pdev->dev, "\tIOmem=[%pR]\tFIFO %dbytes\n", + mem_res, (FIFO_LVL_MASK(sdd) >> 1) + 1); pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_put_autosuspend(&pdev->dev); -- 1.9.1
next prev parent reply other threads:[~2016-11-10 15:19 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-11-10 15:17 [PATCH 0/8] DMA: s3c64xx: Conversion to the new channel request API Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-10 15:17 ` [PATCH 1/8] dma: pl08x: Add support for the DMA slave map Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-10 15:17 ` [PATCH 2/8] ARM: s3c64xx: Add DMA slave maps for PL080 devices Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-16 16:57 ` Krzysztof Kozlowski 2016-11-16 16:57 ` Krzysztof Kozlowski 2016-11-10 15:17 ` Sylwester Nawrocki [this message] 2016-11-10 15:17 ` [PATCH 3/8] spi: s3c64xx: Do not use platform_data for DMA parameters Sylwester Nawrocki 2016-11-10 15:17 ` [PATCH 4/8] ARM: s3c64xx: Drop unused DMA fields from struct s3c64xx_spi_csinfo Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-16 16:58 ` Krzysztof Kozlowski 2016-11-16 16:58 ` Krzysztof Kozlowski 2016-11-10 15:17 ` [PATCH 5/8] ASoC: samsung: i2s: Do not use platform_data for DMA parameters Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-10 15:17 ` [PATCH 6/8] ASoC: samsung: pcm: " Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-10 15:17 ` [PATCH 7/8] ARM: s3c64xx: Drop initialization of unused struct s3c_audio_pdata fields Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-12-28 17:53 ` Krzysztof Kozlowski 2016-12-28 17:53 ` Krzysztof Kozlowski [not found] ` <CGME20161229103055epcas1p1dc69aec56d462e8c1605fe9e47ded562@epcas1p1.samsung.com> 2016-12-29 10:30 ` Sylwester Nawrocki 2016-12-29 10:30 ` Sylwester Nawrocki 2016-12-29 11:43 ` Krzysztof Kozlowski 2016-12-29 11:43 ` Krzysztof Kozlowski 2016-11-10 15:17 ` [PATCH 8/8] ARM: s3c24xx: Drop unused struct s3c_audio_pdata entries Sylwester Nawrocki 2016-11-10 15:17 ` Sylwester Nawrocki 2016-11-10 18:42 ` [PATCH 0/8] DMA: s3c64xx: Conversion to the new channel request API Krzysztof Kozlowski 2016-11-10 18:42 ` Krzysztof Kozlowski 2016-11-14 11:52 ` Sylwester Nawrocki 2016-11-14 11:52 ` Sylwester Nawrocki 2016-11-14 10:11 ` Charles Keepax 2016-11-14 10:11 ` Charles Keepax 2016-11-14 11:59 ` Sylwester Nawrocki 2016-11-14 11:59 ` Sylwester Nawrocki 2016-11-16 3:26 ` Vinod Koul 2016-11-16 3:26 ` Vinod Koul 2016-11-16 12:58 ` Sylwester Nawrocki 2016-11-16 12:58 ` Sylwester Nawrocki 2016-11-16 15:54 ` Arnd Bergmann 2016-11-16 15:54 ` Arnd Bergmann 2016-11-16 17:03 ` Krzysztof Kozlowski 2016-11-16 17:03 ` Krzysztof Kozlowski 2016-11-16 17:31 ` Sylwester Nawrocki 2016-11-16 17:31 ` Sylwester Nawrocki 2016-11-17 10:22 ` Vinod Koul 2016-11-17 10:22 ` Vinod Koul
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1478791076-19528-4-git-send-email-s.nawrocki@samsung.com \ --to=s.nawrocki@samsung.com \ --cc=andi.shyti@samsung.com \ --cc=arnd@arndb.de \ --cc=broonie@kernel.org \ --cc=ckeepax@opensource.wolfsonmicro.com \ --cc=dmaengine@vger.kernel.org \ --cc=javier@osg.samsung.com \ --cc=kgene@kernel.org \ --cc=krzk@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=sbkim73@samsung.com \ --cc=vinod.koul@intel.com \ --cc=ym0914@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.