| @@ -889,26 +889,27 @@ FFBLeaveVT(int scrnIndex, int flags) | | | @@ -889,26 +889,27 @@ FFBLeaveVT(int scrnIndex, int flags) |
889 | | | 889 | |
890 | /* | | 890 | /* |
891 | * This is called at the end of each server generation. It restores the | | 891 | * This is called at the end of each server generation. It restores the |
892 | * original (text) mode. It should really also unmap the video memory too. | | 892 | * original (text) mode. It should really also unmap the video memory too. |
893 | */ | | 893 | */ |
894 | | | 894 | |
895 | /* Mandatory */ | | 895 | /* Mandatory */ |
896 | static Bool | | 896 | static Bool |
897 | FFBCloseScreen(int scrnIndex, ScreenPtr pScreen) | | 897 | FFBCloseScreen(int scrnIndex, ScreenPtr pScreen) |
898 | { | | 898 | { |
899 | ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | | 899 | ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; |
900 | FFBPtr pFfb = GET_FFB_FROM_SCRN(pScrn); | | 900 | FFBPtr pFfb = GET_FFB_FROM_SCRN(pScrn); |
901 | | | 901 | |
| | | 902 | FFBDacCursorEnableDisable(pFfb, 0); |
902 | /* Restore kernel ramdac state before we unmap registers. */ | | 903 | /* Restore kernel ramdac state before we unmap registers. */ |
903 | FFBDacFini(pFfb); | | 904 | FFBDacFini(pFfb); |
904 | | | 905 | |
905 | pScrn->vtSema = FALSE; | | 906 | pScrn->vtSema = FALSE; |
906 | | | 907 | |
907 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dfb24, 0x1000000); | | 908 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dfb24, 0x1000000); |
908 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dfb8r, 0x400000); | | 909 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dfb8r, 0x400000); |
909 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dfb8x, 0x400000); | | 910 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dfb8x, 0x400000); |
910 | xf86UnmapSbusMem(pFfb->psdp, pFfb->sfb32, 0x1000000); | | 911 | xf86UnmapSbusMem(pFfb->psdp, pFfb->sfb32, 0x1000000); |
911 | xf86UnmapSbusMem(pFfb->psdp, pFfb->sfb8r, 0x400000); | | 912 | xf86UnmapSbusMem(pFfb->psdp, pFfb->sfb8r, 0x400000); |
912 | xf86UnmapSbusMem(pFfb->psdp, pFfb->sfb8x, 0x400000); | | 913 | xf86UnmapSbusMem(pFfb->psdp, pFfb->sfb8x, 0x400000); |
913 | xf86UnmapSbusMem(pFfb->psdp, pFfb->regs, 16384); | | 914 | xf86UnmapSbusMem(pFfb->psdp, pFfb->regs, 16384); |
914 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dac, 8192); | | 915 | xf86UnmapSbusMem(pFfb->psdp, pFfb->dac, 8192); |