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>
This commit is contained in:
Родитель
aa0b8f3687
Коммит
148da33120
|
@ -1700,6 +1700,13 @@ static int pxa2xx_spi_resume(struct platform_device *pdev)
|
|||
struct ssp_device *ssp = drv_data->ssp;
|
||||
int status = 0;
|
||||
|
||||
if (drv_data->rx_channel != -1)
|
||||
DRCMR(drv_data->ssp->drcmr_rx) =
|
||||
DRCMR_MAPVLD | drv_data->rx_channel;
|
||||
if (drv_data->tx_channel != -1)
|
||||
DRCMR(drv_data->ssp->drcmr_tx) =
|
||||
DRCMR_MAPVLD | drv_data->tx_channel;
|
||||
|
||||
/* Enable the SSP clock */
|
||||
clk_enable(ssp->clk);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче