diff options
Diffstat (limited to 'drivers/video/tmiofb.c')
| -rw-r--r-- | drivers/video/tmiofb.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/tmiofb.c b/drivers/video/tmiofb.c index 2a380011e9ba..7baf2dd12d50 100644 --- a/drivers/video/tmiofb.c +++ b/drivers/video/tmiofb.c | |||
| @@ -222,6 +222,9 @@ static irqreturn_t tmiofb_irq(int irq, void *__info) | |||
| 222 | unsigned int bbisc = tmio_ioread16(par->lcr + LCR_BBISC); | 222 | unsigned int bbisc = tmio_ioread16(par->lcr + LCR_BBISC); |
| 223 | 223 | ||
| 224 | 224 | ||
| 225 | tmio_iowrite16(bbisc, par->lcr + LCR_BBISC); | ||
| 226 | |||
| 227 | #ifdef CONFIG_FB_TMIO_ACCELL | ||
| 225 | /* | 228 | /* |
| 226 | * We were in polling mode and now we got correct irq. | 229 | * We were in polling mode and now we got correct irq. |
| 227 | * Switch back to IRQ-based sync of command FIFO | 230 | * Switch back to IRQ-based sync of command FIFO |
| @@ -231,9 +234,6 @@ static irqreturn_t tmiofb_irq(int irq, void *__info) | |||
| 231 | par->use_polling = false; | 234 | par->use_polling = false; |
| 232 | } | 235 | } |
| 233 | 236 | ||
| 234 | tmio_iowrite16(bbisc, par->lcr + LCR_BBISC); | ||
| 235 | |||
| 236 | #ifdef CONFIG_FB_TMIO_ACCELL | ||
| 237 | if (bbisc & 1) | 237 | if (bbisc & 1) |
| 238 | wake_up(&par->wait_acc); | 238 | wake_up(&par->wait_acc); |
| 239 | #endif | 239 | #endif |
| @@ -938,7 +938,9 @@ static void tmiofb_dump_regs(struct platform_device *dev) | |||
| 938 | static int tmiofb_suspend(struct platform_device *dev, pm_message_t state) | 938 | static int tmiofb_suspend(struct platform_device *dev, pm_message_t state) |
| 939 | { | 939 | { |
| 940 | struct fb_info *info = platform_get_drvdata(dev); | 940 | struct fb_info *info = platform_get_drvdata(dev); |
| 941 | #ifdef CONFIG_FB_TMIO_ACCELL | ||
| 941 | struct tmiofb_par *par = info->par; | 942 | struct tmiofb_par *par = info->par; |
| 943 | #endif | ||
| 942 | struct mfd_cell *cell = dev->dev.platform_data; | 944 | struct mfd_cell *cell = dev->dev.platform_data; |
| 943 | int retval = 0; | 945 | int retval = 0; |
| 944 | 946 | ||
| @@ -950,12 +952,14 @@ static int tmiofb_suspend(struct platform_device *dev, pm_message_t state) | |||
| 950 | info->fbops->fb_sync(info); | 952 | info->fbops->fb_sync(info); |
| 951 | 953 | ||
| 952 | 954 | ||
| 955 | #ifdef CONFIG_FB_TMIO_ACCELL | ||
| 953 | /* | 956 | /* |
| 954 | * The fb should be usable even if interrupts are disabled (and they are | 957 | * The fb should be usable even if interrupts are disabled (and they are |
| 955 | * during suspend/resume). Switch temporary to forced polling. | 958 | * during suspend/resume). Switch temporary to forced polling. |
| 956 | */ | 959 | */ |
| 957 | printk(KERN_INFO "tmiofb: switching to polling\n"); | 960 | printk(KERN_INFO "tmiofb: switching to polling\n"); |
| 958 | par->use_polling = true; | 961 | par->use_polling = true; |
| 962 | #endif | ||
| 959 | tmiofb_hw_stop(dev); | 963 | tmiofb_hw_stop(dev); |
| 960 | 964 | ||
| 961 | if (cell->suspend) | 965 | if (cell->suspend) |
