From: Jamie Iles <jamie@jamieiles.com>
To: linux-kernel@vger.kernel.org
Cc: Jamie Iles <jamie@jamieiles.com>,
Haavard Skinnemoen <haavard.skinnemoen@atmel.com>,
Dan Williams <dan.j.williams@intel.com>,
Jamie Iles <jamie.iles@picochip.com>
Subject: [PATCH 3/4] dmaengine/dw_dmac: provide a mechanism to indicate private devices
Date: Tue, 23 Nov 2010 11:06:10 +0000 [thread overview]
Message-ID: <1290510371-23077-4-git-send-email-jamie@jamieiles.com> (raw)
In-Reply-To: <1290510371-23077-1-git-send-email-jamie@jamieiles.com>
Some platforms (e.g. Picochip PC3XX) have multiple DMA controllers
where some may be used for slave transfers and others for general
purpose memcpy type transfers. Add a .is_private boolean to the
platform data structure so that controllers can be marked as private
so that the DMA_PRIVATE capability will be set for that controller.
Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jamie Iles <jamie.iles@picochip.com>
---
drivers/dma/dw_dmac.c | 2 ++
include/linux/dw_dmac.h | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
index 64024f1..bea304b 100644
--- a/drivers/dma/dw_dmac.c
+++ b/drivers/dma/dw_dmac.c
@@ -1341,6 +1341,8 @@ static int __init dw_probe(struct platform_device *pdev)
dma_cap_set(DMA_MEMCPY, dw->dma.cap_mask);
dma_cap_set(DMA_SLAVE, dw->dma.cap_mask);
+ if (pdata->is_private)
+ dma_cap_set(DMA_PRIVATE, dw->dma.cap_mask);
dw->dma.dev = &pdev->dev;
dw->dma.device_alloc_chan_resources = dwc_alloc_chan_resources;
dw->dma.device_free_chan_resources = dwc_free_chan_resources;
diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h
index 8014eb8..deec66b 100644
--- a/include/linux/dw_dmac.h
+++ b/include/linux/dw_dmac.h
@@ -16,9 +16,12 @@
/**
* struct dw_dma_platform_data - Controller configuration parameters
* @nr_channels: Number of channels supported by hardware (max 8)
+ * @is_private: The device channels should be marked as private and not for
+ * by the general purpose DMA channel allocator.
*/
struct dw_dma_platform_data {
unsigned int nr_channels;
+ bool is_private;
};
/**
--
1.7.2.3
next prev parent reply other threads:[~2010-11-23 11:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-23 11:06 [PATCH 0/4] dmaengine/dw_dmac: enhancements to allow use on other platforms Jamie Iles
2010-11-23 11:06 ` [PATCH 1/4] dmaengine/dw_dmac: don't scan descriptors if no xfers in progress Jamie Iles
2010-12-03 23:20 ` Dan Williams
2010-11-23 11:06 ` [PATCH 2/4] dmaengine/dw_dmac: allow src/dst masters to be configured at runtime Jamie Iles
2010-12-03 23:56 ` Dan Williams
2010-12-08 1:03 ` Dan Williams
2010-12-08 1:20 ` Jamie Iles
2010-12-08 6:41 ` Hans-Christian Egtvedt
2010-12-08 8:09 ` Jamie Iles
2010-11-23 11:06 ` Jamie Iles [this message]
2010-11-23 11:06 ` [PATCH 4/4] avr32: at32ap700x: specify DMA src and dst masters Jamie Iles
2010-12-08 12:36 ` Hans-Christian Egtvedt
2010-12-03 23:34 ` [PATCH 0/4] dmaengine/dw_dmac: enhancements to allow use on other platforms Dan Williams
2010-12-05 20:05 ` Håvard Skinnemoen
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=1290510371-23077-4-git-send-email-jamie@jamieiles.com \
--to=jamie@jamieiles.com \
--cc=dan.j.williams@intel.com \
--cc=haavard.skinnemoen@atmel.com \
--cc=jamie.iles@picochip.com \
--cc=linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®