diff options
-rw-r--r-- | meta/cfg/kernel-cache/features/valleyisland-io/0019-spi-pxa2xx-pci-Enable-DMA-support-for-PCI-SPI-PXA2XX.patch | 66 |
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 + |