aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2010-12-09 10:37:40 +0000
committerAlan Cox <alan@linux.intel.com>2010-12-09 10:37:40 +0000
commit57e62a6f82d8928459aa233e8b627f74181c37cf (patch)
tree6ccd8bfbea188bb1effeee62908065bd034505ff /drivers
parent023d6cc80a7550885e6ee3cd1daec33d4d348fcd (diff)
downloadmrst-s0i3-test-57e62a6f82d8928459aa233e8b627f74181c37cf.tar.gz
mrst-s0i3-test-57e62a6f82d8928459aa233e8b627f74181c37cf.tar.xz
mrst-s0i3-test-57e62a6f82d8928459aa233e8b627f74181c37cf.zip
spi/dw_spi_mid: make dma filter check pass on Medfield platform
During requesting a dma channel, the filter function will do a sanity check, current driver only consider the Moorestown case, this add the Medfield case. Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/dw_spi_mid.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/spi/dw_spi_mid.c b/drivers/spi/dw_spi_mid.c
index f7103e58511..e47a6af5309 100644
--- a/drivers/spi/dw_spi_mid.c
+++ b/drivers/spi/dw_spi_mid.c
@@ -49,8 +49,13 @@ static int mid_spi_dma_init(struct dw_spi *dws)
struct intel_mid_dma_slave *rxs, *txs;
dma_cap_mask_t mask;
- /* Get pci device for DMA */
- dws->dmac = pci_get_device(PCI_VENDOR_ID_INTEL, 0x813, NULL);
+ /*
+ * Get pci device for DMA controller, currently it could only
+ * be the DMA controller of either Moorestown or Medfield
+ */
+ dws->dmac = pci_get_device(PCI_VENDOR_ID_INTEL, 0x0813, NULL);
+ if (!dws->dmac)
+ dws->dmac = pci_get_device(PCI_VENDOR_ID_INTEL, 0x0827, NULL);
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);