Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

pxa2xx_spi: restore DRCMR on resume

If DMA is enabled, any spi_sync call after suspend/resume would block
forever, because DRCMR is lost on suspend. This patch restores DRCMR to
the same values set by probe.

Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Daniel Ribeiro and committed by
Linus Torvalds
148da331 aa0b8f36

+7
+7
drivers/spi/pxa2xx_spi.c
··· 1700 1700 struct ssp_device *ssp = drv_data->ssp; 1701 1701 int status = 0; 1702 1702 1703 + if (drv_data->rx_channel != -1) 1704 + DRCMR(drv_data->ssp->drcmr_rx) = 1705 + DRCMR_MAPVLD | drv_data->rx_channel; 1706 + if (drv_data->tx_channel != -1) 1707 + DRCMR(drv_data->ssp->drcmr_tx) = 1708 + DRCMR_MAPVLD | drv_data->tx_channel; 1709 + 1703 1710 /* Enable the SSP clock */ 1704 1711 clk_enable(ssp->clk); 1705 1712