[linux-yocto] [PATCH 21/22] valleyisland-io: spi/pxa2xx-pci: Enable DMA support for PCI SPI-PXA2XX

boon.leong.ong at intel.com boon.leong.ong at intel.com
Wed Jan 29 10:41:46 PST 2014


From: Ong Boon Leong <boon.leong.ong at intel.com>

Allow PCI SPI-PXA2XX controller to enable DMA capapability
by providing channel id and slave id.

Signed-off-by: Ong Boon Leong <boon.leong.ong at intel.com>
---
 ...pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch |   66 ++++++++++++++++++++
 1 file changed, 66 insertions(+)
 create mode 100644 meta/cfg/kernel-cache/features/valleyisland-io/0019-spi-pxa2xx-pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch

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 0000000..e3b7a63
--- /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 at 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 at 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
+
-- 
1.7.10.4



More information about the linux-yocto mailing list