Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / KernelLand / Modules / Display / Tegra2Vid / main.c
index d9405be..72ac697 100644 (file)
@@ -66,6 +66,7 @@ tVideo_IOCtl_Pos      gTegra2Vid_CursorPos;
  */\r
 int Tegra2Vid_Install(char **Arguments)\r
 {\r
+       return MODULE_ERR_NOTNEEDED;\r
 //     KeyVal_Parse(&gTegra2Vid_KeyValueParser, Arguments);\r
 \r
        gpTegra2Vid_IOMem = (void*)MM_MapHWPages(gTegra2Vid_PhysBase, 256/4);\r
@@ -94,7 +95,15 @@ int Tegra2Vid_Install(char **Arguments)
                        Log_Debug("Tegra2Vid", "[0x%03x] = 0x%08x", i, gpTegra2Vid_IOMem[i]);\r
        }\r
 //     return 1;\r
-       \r
+\r
+       // HACK!!!\r
+//     {\r
+//             int     w = 1980, h = 1080;\r
+//             gpTegra2Vid_IOMem[DC_DISP_DISP_ACTIVE_0] = (h << 16) | w;\r
+//             gpTegra2Vid_IOMem[DC_WIN_A_SIZE_0] = (h << 16) | w;\r
+//             gpTegra2Vid_IOMem[DC_WIN_A_PRESCALED_SIZE_0] = (h << 16) | w;\r
+//     }\r
+\r
        giTegra2Vid_FramebufferSize =\r
                (gpTegra2Vid_IOMem[DC_WIN_A_SIZE_0]&0xFFFF)\r
                *(gpTegra2Vid_IOMem[DC_WIN_A_SIZE_0]>>16)*4;\r
@@ -104,7 +113,15 @@ int Tegra2Vid_Install(char **Arguments)
                gpTegra2Vid_IOMem[DC_WINBUF_A_START_ADDR_0],\r
                (giTegra2Vid_FramebufferSize+PAGE_SIZE-1)/PAGE_SIZE\r
                );\r
-       memset(gpTegra2Vid_Framebuffer, 0x1F, 0x1000);\r
+       memset(gpTegra2Vid_Framebuffer, 0xFF, 0x1000);\r
+\r
+       gpTegra2Vid_IOMem[DC_WIN_A_WIN_OPTIONS_0] &= ~0x40;\r
+       gpTegra2Vid_IOMem[DC_WIN_A_COLOR_DEPTH_0] = 12; // Could be 13 (BGR/RGB)\r
+       gTegra2Vid_DrvUtil_BufInfo.Width = 1024;\r
+       gTegra2Vid_DrvUtil_BufInfo.Height = 768;\r
+       gTegra2Vid_DrvUtil_BufInfo.Pitch = 1024*4;\r
+       gTegra2Vid_DrvUtil_BufInfo.Depth = 32;\r
+       gTegra2Vid_DrvUtil_BufInfo.Framebuffer = gpTegra2Vid_Framebuffer;\r
 \r
 \r
 //     Tegra2Vid_int_SetMode(4);\r
@@ -288,10 +305,10 @@ int Tegra2Vid_int_SetMode(int Mode)
        *(Uint32*)(gpTegra2Vid_IOMem + DC_DISP_DISP_ACTIVE_0) = (mode->H << 16)   | mode->W;\r
 \r
        *(Uint32*)(gpTegra2Vid_IOMem + DC_WIN_A_POSITION_0) = 0;\r
-       *(Uint32*)(gpTegra2Vid_IOMem + DC_WIN_A_SIZE_0) = (mode->H << 16) | mode->W;\r
+       *(Uint32*)(gpTegra2Vid_IOMem + DC_WIN_A_SIZE_0) = (h << 16) | w;\r
        *(Uint32*)(gpTegra2Vid_IOMem + DC_DISP_DISP_COLOR_CONTROL_0) = 0x8;     // BASE888\r
        *(Uint32*)(gpTegra2Vid_IOMem + DC_WIN_A_COLOR_DEPTH_0) = 12;    // Could be 13 (BGR/RGB)\r
-       *(Uint32*)(gpTegra2Vid_IOMem + DC_WIN_A_PRESCALED_SIZE_0) = (mode->H << 16) | mode->W;\r
+       *(Uint32*)(gpTegra2Vid_IOMem + DC_WIN_A_PRESCALED_SIZE_0) = (h << 16) | w;\r
 \r
        Log_Debug("Tegra2Vid", "Mode %i (%ix%i) selected", Mode, w, h);\r
 \r

UCC git Repository :: git.ucc.asn.au