aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/viafbdev.c
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2010-04-26 13:31:03 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2010-10-24 09:04:53 -0400
commitadac8d65f399b02e8a2222fc75c658e4b8d24f65 (patch)
tree3ba0707db2c4afca3a9ac602214b3b5baf0eb4e3 /drivers/video/via/viafbdev.c
parent466bc7fc4246d95cbd37edd169eafb8185e41941 (diff)
viafb: fix hardware acceleration for suspend & resume
This patch splits the acceleration initialization in two parts: The first is only called during probe and is used to allocate resources. The second part is also called on resume to reinitalize the 2D engine. This should fix all acceleration issues after resume most notable an "invisible" cursor and as we do nothing special it is reasonable to assume that it works on all supported IGPs. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Acked-by: Jonathan Corbet <corbet@lwn.net> Cc: Joseph Chan <JosephChan@via.com.tw>
Diffstat (limited to 'drivers/video/via/viafbdev.c')
-rw-r--r--drivers/video/via/viafbdev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
index 4e9e105a6c78..6c651e401dc6 100644
--- a/drivers/video/via/viafbdev.c
+++ b/drivers/video/via/viafbdev.c
@@ -1695,6 +1695,8 @@ int viafb_resume(struct pci_dev *pdev)
1695 if (pci_enable_device(pdev)) 1695 if (pci_enable_device(pdev))
1696 goto fail; 1696 goto fail;
1697 pci_set_master(pdev); 1697 pci_set_master(pdev);
1698 if (viaparinfo->shared->vdev->engine_mmio)
1699 viafb_reset_engine(viaparinfo);
1698 viafb_set_par(viafbinfo); 1700 viafb_set_par(viafbinfo);
1699 if (viafb_dual_fb) 1701 if (viafb_dual_fb)
1700 viafb_set_par(viafbinfo1); 1702 viafb_set_par(viafbinfo1);
@@ -1766,7 +1768,7 @@ int __devinit via_fb_pci_probe(struct viafb_dev *vdev)
1766 viafbinfo->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; 1768 viafbinfo->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
1767 1769
1768 viafbinfo->pseudo_palette = pseudo_pal; 1770 viafbinfo->pseudo_palette = pseudo_pal;
1769 if (viafb_accel && !viafb_init_engine(viafbinfo)) { 1771 if (viafb_accel && !viafb_setup_engine(viafbinfo)) {
1770 viafbinfo->flags |= FBINFO_HWACCEL_COPYAREA | 1772 viafbinfo->flags |= FBINFO_HWACCEL_COPYAREA |
1771 FBINFO_HWACCEL_FILLRECT | FBINFO_HWACCEL_IMAGEBLIT; 1773 FBINFO_HWACCEL_FILLRECT | FBINFO_HWACCEL_IMAGEBLIT;
1772 default_var.accel_flags = FB_ACCELF_TEXT; 1774 default_var.accel_flags = FB_ACCELF_TEXT;