X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FDisplay%2FTegra2Vid%2Fmain.c;h=9ca70984cd031a401558f457b244eda592e84146;hb=67a7fe2bb79eceaf10c572a99bd8345c4e81cf5b;hp=09bbbb877422913060df4d3861706121903f8aad;hpb=0ab008276f88801b5a5a2ed8e96c285e524ead2c;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Display/Tegra2Vid/main.c b/KernelLand/Modules/Display/Tegra2Vid/main.c index 09bbbb87..9ca70984 100644 --- a/KernelLand/Modules/Display/Tegra2Vid/main.c +++ b/KernelLand/Modules/Display/Tegra2Vid/main.c @@ -24,8 +24,8 @@ void Tegra2Vid_Uninstall(); // Internal // Filesystem -size_t Tegra2Vid_Read(tVFS_Node *node, off_t off, size_t len, void *buffer); -size_t Tegra2Vid_Write(tVFS_Node *node, off_t off, size_t len, const void *buffer); +size_t Tegra2Vid_Read(tVFS_Node *node, off_t off, size_t len, void *buffer, Uint Flags); +size_t Tegra2Vid_Write(tVFS_Node *node, off_t off, size_t len, const void *buffer, Uint Flags); int Tegra2Vid_IOCtl(tVFS_Node *node, int id, void *data); // -- Internals int Tegra2Vid_int_SetMode(int Mode); @@ -70,11 +70,13 @@ inline void _dumpreg(int i) Log_Debug("Tegra2Vid", "[0x%03x] = 0x%08x (%s)", i, gpTegra2Vid_IOMem[i], (csaTegra2Vid_RegisterNames[i] ? csaTegra2Vid_RegisterNames[i] : "-")); } +#define DUMPREGS(s,e) do{for(int ii=(s);ii<=(e);ii++) _dumpreg(ii);}while(0) void Tegra2Vid_int_DumpRegisters(void) { Log_Debug("Tegra2Vid", "Display CMD Registers"); - for( int i = 0x000; i <= 0x01A; i ++ ) _dumpreg(i); + DUMPREGS(0x000, 0x01A); // 00 -- 1A :: CMD (block 1) + DUMPREGS(0x028, 0x043); // 28 -- 43 :: CMD (block 2) for( int i = 0x028; i <= 0x043; i ++ ) _dumpreg(i); Log_Debug("Tegra2Vid", "Display COM Registers"); for( int i = 0x300; i <= 0x329; i ++ ) _dumpreg(i); @@ -112,6 +114,7 @@ int Tegra2Vid_Install(char **Arguments) #endif #if 0 + // Map the original framebuffer into memory and write to it (tests the original state) giTegra2Vid_FramebufferSize = (gpTegra2Vid_IOMem[DC_WIN_A_SIZE_0]&0xFFFF) *(gpTegra2Vid_IOMem[DC_WIN_A_SIZE_0]>>16)*4; @@ -167,7 +170,7 @@ void Tegra2Vid_Uninstall() /** * \brief Read from the framebuffer */ -size_t Tegra2Vid_Read(tVFS_Node *node, off_t off, size_t len, void *buffer) +size_t Tegra2Vid_Read(tVFS_Node *node, off_t off, size_t len, void *buffer, Uint Flags) { return 0; } @@ -175,7 +178,7 @@ size_t Tegra2Vid_Read(tVFS_Node *node, off_t off, size_t len, void *buffer) /** * \brief Write to the framebuffer */ -size_t Tegra2Vid_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer) +size_t Tegra2Vid_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer, Uint Flags) { gTegra2Vid_DrvUtil_BufInfo.BufferFormat = giTegra2Vid_BufferMode; return DrvUtil_Video_WriteLFB(&gTegra2Vid_DrvUtil_BufInfo, Offset, Length, Buffer); @@ -359,6 +362,7 @@ int Tegra2Vid_int_SetMode(int Mode) if( gpTegra2Vid_Framebuffer ) { // TODO: Free framebuffer for reallocation + Log_Error("Tegra2Vid", "TODO: Free existing framebuffer"); } giTegra2Vid_FramebufferSize = w*h*4;