mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 18:41:23 +00:00
fbdev: bfin-t350mcqb-fb: handle all resources in suspend/resume
The LCD commands DMA/timers as well as PPI which we need to save/restore. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9cfe4a93e5
commit
6841bcfa6d
@ -634,17 +634,35 @@ static int __devexit bfin_t350mcqb_remove(struct platform_device *pdev)
|
||||
#ifdef CONFIG_PM
|
||||
static int bfin_t350mcqb_suspend(struct platform_device *pdev, pm_message_t state)
|
||||
{
|
||||
bfin_t350mcqb_disable_ppi();
|
||||
disable_dma(CH_PPI);
|
||||
bfin_write_PPI_STATUS(0xFFFF);
|
||||
struct fb_info *fbinfo = platform_get_drvdata(pdev);
|
||||
struct bfin_t350mcqbfb_info *fbi = fbinfo->par;
|
||||
|
||||
if (fbi->lq043_open_cnt) {
|
||||
bfin_t350mcqb_disable_ppi();
|
||||
disable_dma(CH_PPI);
|
||||
bfin_t350mcqb_stop_timers();
|
||||
bfin_write_PPI_STATUS(-1);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int bfin_t350mcqb_resume(struct platform_device *pdev)
|
||||
{
|
||||
enable_dma(CH_PPI);
|
||||
bfin_t350mcqb_enable_ppi();
|
||||
struct fb_info *fbinfo = platform_get_drvdata(pdev);
|
||||
struct bfin_t350mcqbfb_info *fbi = fbinfo->par;
|
||||
|
||||
if (fbi->lq043_open_cnt) {
|
||||
bfin_t350mcqb_config_dma(fbi);
|
||||
bfin_t350mcqb_config_ppi(fbi);
|
||||
bfin_t350mcqb_init_timers();
|
||||
|
||||
/* start dma */
|
||||
enable_dma(CH_PPI);
|
||||
bfin_t350mcqb_enable_ppi();
|
||||
bfin_t350mcqb_start_timers();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user