aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/cfg/kernel-cache/features/valleyisland-io/0019-spi-pxa2xx-pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/meta/cfg/kernel-cache/features/valleyisland-io/0019-spi-pxa2xx-pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch b/meta/cfg/kernel-cache/features/valleyisland-io/0019-spi-pxa2xx-pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch
new file mode 100644
index 000000000000..e3b7a63947a5
--- /dev/null
+++ b/meta/cfg/kernel-cache/features/valleyisland-io/0019-spi-pxa2xx-pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch
@@ -0,0 +1,66 @@
+From 9a83004cf793eb83ff83bbae18300c7a5b294abe Mon Sep 17 00:00:00 2001
+From: Chew, Chiau Ee <chiau.ee.chew@intel.com>
+Date: Thu, 23 Jan 2014 05:54:49 +0800
+Subject: [PATCH 19/19] spi/pxa2xx-pci: Enable DMA support for PCI SPI-PXA2XX
+
+Allow PCI SPI-PXA2XX controller to enable DMA capapability
+by providing channel id and slave id.
+
+This commit is created in reference to Mika Westerberg's previous
+work
+
+Signed-off-by: Chew, Chiau Ee <chiau.ee.chew@intel.com>
+---
+ drivers/spi/spi-pxa2xx-pci.c | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/spi/spi-pxa2xx-pci.c b/drivers/spi/spi-pxa2xx-pci.c
+index 4643f70..873143d 100644
+--- a/drivers/spi/spi-pxa2xx-pci.c
++++ b/drivers/spi/spi-pxa2xx-pci.c
+@@ -18,6 +18,10 @@ struct pxa2xx_spi_pci_config {
+ enum pxa_ssp_type type;
+ int num_cs;
+ int bus_num;
++ int tx_slave_id;
++ int tx_chan_id;
++ int rx_slave_id;
++ int rx_chan_id;
+ };
+
+ static struct pxa2xx_spi_pci_config spi_pci_configs[] = {
+@@ -25,11 +29,19 @@ static struct pxa2xx_spi_pci_config spi_pci_configs[] = {
+ .type = PXA25x_SSP,
+ .num_cs = -1,
+ .bus_num = -1,
++ .tx_slave_id = -1,
++ .tx_chan_id = -1,
++ .rx_slave_id = -1,
++ .rx_chan_id = -1,
+ },
+ [PORT_BYT] = {
+ .type = LPSS_SSP,
+ .num_cs = 1,
+ .bus_num = 0,
++ .tx_slave_id = 0,
++ .tx_chan_id = 0,
++ .rx_slave_id = 1,
++ .rx_chan_id = 1,
+ },
+ };
+
+@@ -56,6 +68,11 @@ static int pxa2xx_spi_pci_probe(struct pci_dev *dev,
+
+ memset(&spi_pdata, 0, sizeof(spi_pdata));
+ spi_pdata.num_chipselect = (c->num_cs >= 0) ? c->num_cs : dev->devfn;
++ spi_pdata.tx_slave_id = c->tx_slave_id;
++ spi_pdata.tx_chan_id = c->tx_chan_id;
++ spi_pdata.rx_slave_id = c->rx_slave_id;
++ spi_pdata.rx_chan_id = c->rx_chan_id;
++ spi_pdata.enable_dma = c->rx_slave_id >= 0 && c->tx_slave_id >= 0;
+
+ ssp = &spi_pdata.ssp;
+ ssp->phys_base = pci_resource_start(dev, 0);
+--
+1.7.4.4
+