All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Vinod Koul <vkoul@kernel.org>,
	dmaengine@vger.kernel.org, Viresh Kumar <vireshk@kernel.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v1 01/12] dmaengine: acpi: Set up DMA mask based on CSRT
Date: Tue,  6 Aug 2019 12:40:43 +0300	[thread overview]
Message-ID: <20190806094054.64871-1-andriy.shevchenko@linux.intel.com> (raw)

CSRT has an information about address width, which is supported by
the certain DMA controller.

Use information from CSRT to set up DMA mask for shared controller.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/dma/acpi-dma.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/dma/acpi-dma.c b/drivers/dma/acpi-dma.c
index 30243f5c0710..4d66ee059808 100644
--- a/drivers/dma/acpi-dma.c
+++ b/drivers/dma/acpi-dma.c
@@ -10,6 +10,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/dma-mapping.h>
 #include <linux/err.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
@@ -82,6 +83,12 @@ static int acpi_dma_parse_resource_group(const struct acpi_csrt_group *grp,
 	if (si->base_request_line == 0 && si->num_handshake_signals == 0)
 		return 0;
 
+	/* Set up DMA mask based on value from CSRT */
+	ret = dma_coerce_mask_and_coherent(&adev->dev,
+					   DMA_BIT_MASK(si->dma_address_width));
+	if (ret)
+		return 0;
+
 	adma->base_request_line = si->base_request_line;
 	adma->end_request_line = si->base_request_line +
 				 si->num_handshake_signals - 1;
-- 
2.20.1


             reply	other threads:[~2019-08-06  9:40 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-06  9:40 Andy Shevchenko [this message]
2019-08-06  9:40 ` [PATCH v1 02/12] dmaengine: acpi: Move index to struct acpi_dma_spec Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 03/12] dmaengine: acpi: Provide consumer device to ->acpi_dma_xlate() Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 04/12] dmaengine: acpi: Add kernel doc parameter descriptions Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 05/12] dmaengine: dw: Export struct dw_dma_chip_pdata for wider use Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 06/12] dmaengine: dw: platform: Use struct dw_dma_chip_pdata Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 07/12] dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake Andy Shevchenko
2019-08-14 14:44   ` Andy Shevchenko
2019-08-20 11:13     ` Vinod Koul
2019-08-06  9:40 ` [PATCH v1 08/12] dmaengine: dw: platform: Use devm_platform_ioremap_resource() Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 09/12] dmaengine: dw: platform: Switch to acpi_dma_controller_register() Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 10/12] dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register() Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 11/12] dmaengine: dw: platform: Split ACPI helpers to separate module Andy Shevchenko
2019-08-06  9:40 ` [PATCH v1 12/12] dmaengine: dw: platform: Split OF " Andy Shevchenko

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=20190806094054.64871-1-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=vireshk@kernel.org \
    --cc=vkoul@kernel.org \
    /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: link
Be 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.