Skip to content

Commit

Permalink
fbdev: bfin-t350mcqb-fb: handle all resources in suspend/resume
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Michael Hennerich authored and Linus Torvalds committed Dec 16, 2009
1 parent 9cfe4a9 commit 6841bcf
Showing 1 changed file with 23 additions and 5 deletions.
28 changes: 23 additions & 5 deletions drivers/video/bfin-t350mcqb-fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit 6841bcf

Please sign in to comment.